Class SliderElement

java.lang.Object
net.chen.legacyLand.gui.elements.SliderElement
All Implemented Interfaces:
GuiElement

public class SliderElement extends Object implements GuiElement
滑块元素 - 通过 +/- 按钮调节数值 占用三个连续槽位:[减号][当前值][加号]
  • Constructor Details

    • SliderElement

      public SliderElement(String id, String displayName, double minValue, double maxValue)
  • Method Details

    • defaultValue

      public SliderElement defaultValue(double value)
    • step

      public SliderElement step(double step)
    • integerOnly

      public SliderElement integerOnly(boolean integerOnly)
    • onChange

      public SliderElement onChange(Consumer<Double> callback)
    • validator

      public SliderElement validator(Consumer<Object> validator)
    • getId

      public String getId()
      Description copied from interface: GuiElement
      获取元素的唯一标识符
      Specified by:
      getId in interface GuiElement
      Returns:
      元素 ID
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: GuiElement
      获取元素的显示名称
      Specified by:
      getDisplayName in interface GuiElement
      Returns:
      显示名称
    • getSlot

      public int getSlot()
      Description copied from interface: GuiElement
      获取元素的槽位位置
      Specified by:
      getSlot in interface GuiElement
      Returns:
      槽位索引(-1 表示自动分配)
    • setSlot

      public void setSlot(int slot)
      Description copied from interface: GuiElement
      设置元素的槽位位置
      Specified by:
      setSlot in interface GuiElement
      Parameters:
      slot - 槽位索引
    • renderToInventory

      public void renderToInventory(org.bukkit.inventory.Inventory inventory)
      渲染减号按钮(slot)、当前值(slot+1)、加号按钮(slot+2)到 Inventory
    • render

      public org.bukkit.inventory.ItemStack render(GuiSession session)
      Description copied from interface: GuiElement
      渲染元素为物品堆
      Specified by:
      render in interface GuiElement
      Parameters:
      session - 当前会话(包含玩家信息)
      Returns:
      渲染后的物品堆
    • onClick

      public void onClick(org.bukkit.entity.Player player, GuiSession session, org.bukkit.event.inventory.ClickType clickType)
      Description copied from interface: GuiElement
      处理玩家点击事件
      Specified by:
      onClick in interface GuiElement
      Parameters:
      player - 点击的玩家
      session - 当前会话
      clickType - 点击类型
    • onDecrement

      public void onDecrement(org.bukkit.entity.Player player, GuiSession session)
      处理减号点击
    • onIncrement

      public void onIncrement(org.bukkit.entity.Player player, GuiSession session)
      处理加号点击
    • validate

      public boolean validate(org.bukkit.entity.Player player)
      Description copied from interface: GuiElement
      验证元素的当前值
      Specified by:
      validate in interface GuiElement
      Parameters:
      player - 目标玩家
      Returns:
      是否通过验证
    • setValue

      public void setValue(Object value)
      Description copied from interface: GuiElement
      设置元素的值
      Specified by:
      setValue in interface GuiElement
      Parameters:
      value - 新值
    • getValue

      public Object getValue()
      Description copied from interface: GuiElement
      获取元素的当前值
      Specified by:
      getValue in interface GuiElement
      Returns:
      当前值
    • getValidator

      public Consumer<Object> getValidator()
      Description copied from interface: GuiElement
      获取元素的验证器
      Specified by:
      getValidator in interface GuiElement
      Returns:
      验证器(可为 null)