Class Data

java.lang.Object
valorless.havenbags.datamodels.Data

public class Data extends Object
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 Details

    • Data

      public Data(@NotNull @NotNull String uuid, @NotNull @NotNull String owner)
      Construct a Data object with mandatory uuid and owner.
      Parameters:
      uuid - bag UUID
      owner - 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 UUID
      owner - owner UUID
      material - display material
  • Method Details

    • getUuid

      public String 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

      public String 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

      public String getCreator()
      Returns:
      creator UUID
    • setCreator

      public void setCreator(String creator)
      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

      public void setContent(List<org.bukkit.inventory.ItemStack> content)
      Replace content list.
      Parameters:
      content - new items list
    • getContent

      public List<org.bukkit.inventory.ItemStack> getContent()
      Current bag contents.
      Returns:
      mutable list of ItemStacks
    • getTexture

      public String getTexture()
      Returns:
      head/texture base64
    • setTexture

      public void setTexture(String base64)
      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

      public String getItemmodel()
      Returns:
      item model key
    • setItemmodel

      public void setItemmodel(String itemmodel)
      Set item model key.
      Parameters:
      itemmodel - model identifier
    • getTrusted

      public List<String> getTrusted()
      Returns:
      trusted player UUIDs
    • isPlayerTrusted

      public boolean isPlayerTrusted(String uuid)
      Check if player UUID is trusted.
      Parameters:
      uuid - player UUID
      Returns:
      true if trusted
    • setTrusted

      public void setTrusted(List<String> trusted)
      Set trusted UUID list.
      Parameters:
      trusted - list of UUIDs
    • addTrusted

      public void addTrusted(String player)
      Add a trusted player UUID.
      Parameters:
      player - player UUID
    • removeTrusted

      public void removeTrusted(String player)
      Remove a trusted player UUID.
      Parameters:
      player - player UUID
    • getAutopickup

      public String getAutopickup()
      Returns:
      autopickup mode string
    • setAutopickup

      public void setAutopickup(String autopickup)
      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

      public BagGUI getGui()
      Returns:
      GUI instance or null
    • setGui

      public void setGui(BagGUI gui)
      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

      public void setMaterial(String material)
      Set display material from name (case-insensitive, "null" clears).
      Parameters:
      material - material name or "null"
    • getName

      public String getName()
      Returns:
      custom name
    • setName

      public void setName(String name)
      Set custom name.
      Parameters:
      name - name string
    • getBlacklist

      public List<String> getBlacklist()
      Returns:
      blacklist entries
    • setBlacklist

      public void setBlacklist(List<String> blacklist)
      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

      public String getEffect()
      Returns:
      effect string
    • setEffect

      public void setEffect(String effect)
      Set effect string.
      Parameters:
      effect - effect id
    • isBound

      public boolean isBound()
      Returns:
      true if bag is bound to an owner
    • toString

      public String toString()
      String representation for debugging/logging.
      Overrides:
      toString in class Object
      Returns:
      readable summary
    • clone

      public Data clone()
      Creates a detached clone for read-only or manipulation without affecting original. Runtime fields (viewer/gui/open/changed) are reset.
      Overrides:
      clone in class Object
      Returns:
      deep copy of this Data