Class ItemBuilder

java.lang.Object
de.studiocode.invui.item.builder.ItemBuilder
All Implemented Interfaces:
ItemProvider, Cloneable, Supplier<org.bukkit.inventory.ItemStack>

public final class ItemBuilder extends Object
  • Field Details

    • base

      protected org.bukkit.inventory.ItemStack base
    • material

      protected org.bukkit.Material material
    • amount

      protected int amount
    • damage

      protected int damage
    • customModelData

      protected int customModelData
    • displayName

      protected net.md_5.bungee.api.chat.BaseComponent[] displayName
    • lore

      protected List<net.md_5.bungee.api.chat.BaseComponent[]> lore
    • itemFlags

      protected List<org.bukkit.inventory.ItemFlag> itemFlags
    • enchantments

      protected HashMap<org.bukkit.enchantments.Enchantment,Pair<Integer,Boolean>> enchantments
    • modifiers

      protected List<Function<org.bukkit.inventory.ItemStack,org.bukkit.inventory.ItemStack>> modifiers
  • Constructor Details

    • ItemBuilder

      public ItemBuilder(@NotNull @NotNull org.bukkit.Material material)
      Constructs a new BaseItemBuilder based on the given Material.
      Parameters:
      material - The Material
    • ItemBuilder

      public ItemBuilder(@NotNull @NotNull org.bukkit.Material material, int amount)
      Constructs a new BaseItemBuilder based on the given Material and amount.
      Parameters:
      material - The Material
      amount - The amount
    • ItemBuilder

      public ItemBuilder(@NotNull @NotNull org.bukkit.inventory.ItemStack base)
      Constructs a new BaseItemBuilder based on the give ItemStack. This will keep the ItemStack and uses it's ItemMeta
      Parameters:
      base - The to use as a base
  • Method Details

    • getThis

      protected ItemBuilder getThis()
    • get

      public org.bukkit.inventory.ItemStack get()
      Builds the ItemStack
      Specified by:
      get in interface ItemProvider
      Specified by:
      get in interface Supplier<T>
      Returns:
      The ItemStack
    • getFor

      public org.bukkit.inventory.ItemStack getFor(@NotNull @NotNull UUID playerUUID)
      Builds the ItemStack for a specific player. This is the method called by BaseWindow which gives you the option to (for example) create a subclass of BaseItemBuilder that automatically translates the item's name into the player's language.
      Specified by:
      getFor in interface ItemProvider
      Parameters:
      playerUUID - The UUID of the Player for whom this ItemStack should be built.
      Returns:
      The ItemStack
    • setLegacyLore

      public ItemBuilder setLegacyLore(@NotNull @NotNull List<String> lore)
    • addLoreLines

      public ItemBuilder addLoreLines(@NotNull @NotNull String... lines)
    • addLoreLines

      public ItemBuilder addLoreLines(@NotNull @NotNull net.md_5.bungee.api.chat.BaseComponent[]... lines)
    • removeLoreLine

      public ItemBuilder removeLoreLine(int index)
    • clearLore

      public ItemBuilder clearLore()
    • addItemFlags

      public ItemBuilder addItemFlags(@NotNull @NotNull org.bukkit.inventory.ItemFlag... itemFlags)
    • removeItemFlags

      public ItemBuilder removeItemFlags(@NotNull @NotNull org.bukkit.inventory.ItemFlag... itemFlags)
    • clearItemFlags

      public ItemBuilder clearItemFlags()
    • addEnchantment

      public ItemBuilder addEnchantment(org.bukkit.enchantments.Enchantment enchantment, int level, boolean ignoreLevelRestriction)
    • removeEnchantment

      public ItemBuilder removeEnchantment(org.bukkit.enchantments.Enchantment enchantment)
    • clearEnchantments

      public ItemBuilder clearEnchantments()
    • addModifier

      public ItemBuilder addModifier(Function<org.bukkit.inventory.ItemStack,org.bukkit.inventory.ItemStack> modifier)
    • clearModifiers

      public ItemBuilder clearModifiers()
    • getBase

      public org.bukkit.inventory.ItemStack getBase()
    • getMaterial

      public org.bukkit.Material getMaterial()
    • setMaterial

      public ItemBuilder setMaterial(@NotNull @NotNull org.bukkit.Material material)
    • getAmount

      public int getAmount()
    • setAmount

      public ItemBuilder setAmount(int amount)
    • getDamage

      public int getDamage()
    • setDamage

      public ItemBuilder setDamage(int damage)
    • getCustomModelData

      public int getCustomModelData()
    • setCustomModelData

      public ItemBuilder setCustomModelData(int customModelData)
    • getDisplayName

      public net.md_5.bungee.api.chat.BaseComponent[] getDisplayName()
    • setDisplayName

      public ItemBuilder setDisplayName(String displayName)
    • setDisplayName

      public ItemBuilder setDisplayName(net.md_5.bungee.api.chat.BaseComponent... displayName)
    • getLore

      public List<net.md_5.bungee.api.chat.BaseComponent[]> getLore()
    • setLore

      public ItemBuilder setLore(List<net.md_5.bungee.api.chat.BaseComponent[]> lore)
    • getItemFlags

      public List<org.bukkit.inventory.ItemFlag> getItemFlags()
    • setItemFlags

      public ItemBuilder setItemFlags(@NotNull @NotNull List<org.bukkit.inventory.ItemFlag> itemFlags)
    • getEnchantments

      public HashMap<org.bukkit.enchantments.Enchantment,Pair<Integer,Boolean>> getEnchantments()
    • setEnchantments

      public ItemBuilder setEnchantments(@NotNull @NotNull HashMap<org.bukkit.enchantments.Enchantment,Pair<Integer,Boolean>> enchantments)
    • getModifiers

      public List<Function<org.bukkit.inventory.ItemStack,org.bukkit.inventory.ItemStack>> getModifiers()
    • clone

      public ItemBuilder clone()
      Overrides:
      clone in class Object