Package valorless.havenbags.datamodels
Class Data
java.lang.Object
valorless.havenbags.datamodels.Data
Data model representing a HavenBag's persistent and runtime state.
Includes identity (uuid/owner/creator), visual configuration (material, name,
texture, custom model), inventory contents, feature flags (autopickup, weight,
autosort, magnet, refill, whitelist/blacklist), and transient GUI/viewer state.
Mutator methods generally mark the instance as changed for persistence.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTrusted(String player) Add a trusted player UUID.clone()Creates a detached clone for read-only or manipulation without affecting original.List<org.bukkit.inventory.ItemStack>Current bag contents.getGui()org.bukkit.MaterialintgetName()getOwner()intgetSize()getUuid()Get the bag UUID.org.bukkit.entity.PlayerdoubledoublebooleanbooleanbooleanbooleanisBound()booleanbooleanbooleanisOpen()booleanisPlayerTrusted(String uuid) Check if player UUID is trusted.booleanvoidremoveTrusted(String player) Remove a trusted player UUID.voidsetAutopickup(String autopickup) Set autopickup mode.voidsetAutoSort(boolean autosort) Enable/disable auto-sort.voidsetBlacklist(List<String> blacklist) Set blacklist entries.voidsetChanged(boolean changed) Mark this data to be saved.voidsetContent(List<org.bukkit.inventory.ItemStack> content) Replace content list.voidsetCreator(String creator) Set creator UUID.voidSet effect string.voidAssign GUI instance.voidsetIgnoreGlobalBlacklist(boolean useglobalblacklist) Set ignore global blacklist flag.voidsetItemmodel(String itemmodel) Set item model key.voidsetMagnet(boolean magnet) Enable/disable magnet.voidsetMaterial(String material) Set display material from name (case-insensitive, "null" clears).voidsetMaterial(org.bukkit.Material material) Set display material.voidsetModeldata(int modeldata) Set custom model data.voidSet custom name.voidsetOpen(boolean open) Set open state.voidSet owner UUID.voidsetRefill(boolean refill) Enable/disable refill.voidsetSize(int size) Set inventory size.voidsetTexture(String base64) Set head/texture base64.voidsetTrusted(List<String> trusted) Set trusted UUID list.voidSet the bag UUID.voidsetViewer(org.bukkit.entity.Player viewer) Set current viewer.voidsetWeight(double weight) Set current weight.voidsetWeightMax(double weightMax) Set max weight.voidsetWhitelist(boolean whitelist) Set whitelist mode.toString()String representation for debugging/logging.
-
Constructor Details
-
Data
Construct a Data object with mandatory uuid and owner.- Parameters:
uuid- bag UUIDowner- owner UUID
-
Data
public Data(@NotNull @NotNull String uuid, @NotNull @NotNull String owner, @NotNull @NotNull org.bukkit.Material material) Construct a Data object with uuid, owner and material.- Parameters:
uuid- bag UUIDowner- owner UUIDmaterial- display material
-
-
Method Details
-
getUuid
Get the bag UUID.- Returns:
- uuid string
-
setUuid
@DoNotCall("Should not be changed after creation, may cause database issues.") public void setUuid(@NotNull @NotNull String uuid) Set the bag UUID.- Parameters:
uuid- new UUID
-
getOwner
- Returns:
- owner UUID
-
setOwner
@DoNotCall("Should not be changed after creation, may cause database issues.") public void setOwner(@NotNull @NotNull String owner) Set owner UUID.- Parameters:
owner- owner UUID
-
getCreator
- Returns:
- creator UUID
-
setCreator
Set creator UUID.- Parameters:
creator- creator UUID
-
getSize
public int getSize()- Returns:
- inventory size
-
setSize
public void setSize(int size) Set inventory size.- Parameters:
size- slot count
-
setContent
Replace content list.- Parameters:
content- new items list
-
getContent
Current bag contents.- Returns:
- mutable list of ItemStacks
-
getTexture
- Returns:
- head/texture base64
-
setTexture
Set head/texture base64.- Parameters:
base64- texture string
-
getModeldata
public int getModeldata()- Returns:
- custom model data int
-
setModeldata
public void setModeldata(int modeldata) Set custom model data.- Parameters:
modeldata- model data value
-
getItemmodel
- Returns:
- item model key
-
setItemmodel
Set item model key.- Parameters:
itemmodel- model identifier
-
getTrusted
- Returns:
- trusted player UUIDs
-
isPlayerTrusted
Check if player UUID is trusted.- Parameters:
uuid- player UUID- Returns:
- true if trusted
-
setTrusted
Set trusted UUID list.- Parameters:
trusted- list of UUIDs
-
addTrusted
Add a trusted player UUID.- Parameters:
player- player UUID
-
removeTrusted
Remove a trusted player UUID.- Parameters:
player- player UUID
-
getAutopickup
- Returns:
- autopickup mode string
-
setAutopickup
Set autopickup mode.- Parameters:
autopickup- mode string
-
getWeight
public double getWeight()- Returns:
- current weight
-
setWeight
public void setWeight(double weight) Set current weight.- Parameters:
weight- weight value
-
getWeightMax
public double getWeightMax()- Returns:
- max weight
-
setWeightMax
public void setWeightMax(double weightMax) Set max weight.- Parameters:
weightMax- limit
-
getGui
- Returns:
- GUI instance or null
-
setGui
Assign GUI instance.- Parameters:
gui- BagGUI
-
getViewer
public org.bukkit.entity.Player getViewer()- Returns:
- current viewer
-
setViewer
public void setViewer(org.bukkit.entity.Player viewer) Set current viewer.- Parameters:
viewer- player viewing
-
isChanged
public boolean isChanged()- Returns:
- true if data changed since last save
-
isOpen
public boolean isOpen()- Returns:
- true if bag open
-
setOpen
public void setOpen(boolean open) Set open state.- Parameters:
open- open flag
-
hasAutoSort
public boolean hasAutoSort()- Returns:
- true if auto-sort enabled
-
setAutoSort
public void setAutoSort(boolean autosort) Enable/disable auto-sort.- Parameters:
autosort- flag
-
getMaterial
public org.bukkit.Material getMaterial()- Returns:
- material used for display
-
setMaterial
public void setMaterial(org.bukkit.Material material) Set display material.- Parameters:
material- Material
-
setMaterial
Set display material from name (case-insensitive, "null" clears).- Parameters:
material- material name or "null"
-
getName
- Returns:
- custom name
-
setName
Set custom name.- Parameters:
name- name string
-
getBlacklist
- Returns:
- blacklist entries
-
setBlacklist
Set blacklist entries.- Parameters:
blacklist- list
-
isWhitelist
public boolean isWhitelist()- Returns:
- true if whitelist mode
-
setWhitelist
public void setWhitelist(boolean whitelist) Set whitelist mode.- Parameters:
whitelist- flag
-
isIngoreGlobalBlacklist
public boolean isIngoreGlobalBlacklist()- Returns:
- true if ignoring global blacklist
-
setIgnoreGlobalBlacklist
public void setIgnoreGlobalBlacklist(boolean useglobalblacklist) Set ignore global blacklist flag.- Parameters:
useglobalblacklist- flag
-
setChanged
public void setChanged(boolean changed) Mark this data to be saved.- Parameters:
changed- true/false
-
hasMagnet
public boolean hasMagnet()- Returns:
- true if magnet feature active
-
setMagnet
public void setMagnet(boolean magnet) Enable/disable magnet.- Parameters:
magnet- flag
-
hasRefill
public boolean hasRefill()- Returns:
- true if refill feature active
-
setRefill
public void setRefill(boolean refill) Enable/disable refill.- Parameters:
refill- flag
-
getEffect
- Returns:
- effect string
-
setEffect
Set effect string.- Parameters:
effect- effect id
-
isBound
public boolean isBound()- Returns:
- true if bag is bound to an owner
-
toString
String representation for debugging/logging. -
clone
Creates a detached clone for read-only or manipulation without affecting original. Runtime fields (viewer/gui/open/changed) are reset.
-