Class ToggleElement

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

public class ToggleElement extends Object implements GuiElement
开关按钮元素 提供两种状态的切换功能(开启/关闭)
  • Constructor Details

    • ToggleElement

      public ToggleElement(String id, String displayName, boolean defaultValue)
      构造函数
      Parameters:
      id - 元素 ID
      displayName - 显示名称
      defaultValue - 默认值
  • Method Details

    • enabledMaterial

      public ToggleElement enabledMaterial(org.bukkit.Material material)
      设置开启状态的材质
      Parameters:
      material - 材质
      Returns:
      当前实例(链式调用)
    • disabledMaterial

      public ToggleElement disabledMaterial(org.bukkit.Material material)
      设置关闭状态的材质
      Parameters:
      material - 材质
      Returns:
      当前实例(链式调用)
    • enabledText

      public ToggleElement enabledText(String text)
      设置开启状态的文本
      Parameters:
      text - 文本
      Returns:
      当前实例(链式调用)
    • disabledText

      public ToggleElement disabledText(String text)
      设置关闭状态的文本
      Parameters:
      text - 文本
      Returns:
      当前实例(链式调用)
    • addDescription

      public ToggleElement addDescription(String line)
      添加描述行
      Parameters:
      line - 描述文本
      Returns:
      当前实例(链式调用)
    • onToggle

      public ToggleElement onToggle(Consumer<Boolean> callback)
      设置切换回调
      Parameters:
      callback - 回调函数
      Returns:
      当前实例(链式调用)
    • validator

      public ToggleElement validator(Consumer<Object> validator)
      设置验证器
      Parameters:
      validator - 验证器
      Returns:
      当前实例(链式调用)
    • 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 - 点击类型
    • validate

      public boolean validate(org.bukkit.entity.Player player)
      验证元素的当前值
      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)