Class ItemBuilder

java.lang.Object
dev.aurelium.slate.builder.ItemBuilder

public class ItemBuilder extends Object
Class used to define functionality for an item in a menu.
  • Constructor Details

    • ItemBuilder

      public ItemBuilder()
  • Method Details

    • builder

      public static ItemBuilder builder()
      Create a new ItemBuilder instance
      Returns:
      the item builder
    • replace

      public ItemBuilder replace(String from, ItemReplacer replacer)
      Replaces a specific placeholder in the item's display name or lore.
      Parameters:
      from - the name of the placeholder without the curly braces
      replacer - the ItemReplacer function
      Returns:
      the item builder
    • replaceAny

      public ItemBuilder replaceAny(ItemReplacer replacer)
      Replaces any placeholder in the item's display name or lore. The replacer function is run for every placeholder that is found in the item's display name or lore. The name of the placeholder being checked can be accessed using PlaceholderInfo.placeholder().
      Parameters:
      replacer - the ItemReplacer function
      Returns:
      the item builder
    • onClick

      public ItemBuilder onClick(ItemClicker clicker)
      Defines a consumer to run when the item is clicked by the player using any button.
      Parameters:
      clicker - the ItemClicker consumer, which takes an ItemInfo parameter
      Returns:
      the item builder
    • onClick

      public ItemBuilder onClick(ClickTrigger action, ItemClicker clicker)
      Defines a consumer to run when the item is clicked by the player using a specific button.
      Parameters:
      action - the specific ClickTrigger button to run the consumer for
      clicker - the ItemClicker consumer, which takes an ItemInfo parameter
      Returns:
      the item builder
    • modify

      public ItemBuilder modify(ItemModifier modifier)
      Modifies the item before it is displayed to the player.
      Parameters:
      modifier - the ItemModifier function
      Returns:
      the item builder
    • initialize

      public ItemBuilder initialize(MenuListener listener)
      Defines a consumer to run when the item is initialized in the menu. This does not affect the item's display, use modify(ItemModifier) for that.
      Parameters:
      listener - the MenuListener consumer, which takes an ItemInfo parameter
      Returns:
      the item builder
    • build

      public BuiltItem build()