Interface GuiElement

All Known Implementing Classes:
ButtonElement, DropdownElement, LabelElement, ListElement, MultiSelectElement, NumberInputElement, SeparatorElement, SliderElement, TextInputElement, ToggleElement

public interface GuiElement
GUI 元素接口 所有 GUI 元素的基础接口,定义了元素的核心行为
  • Method Summary

    Modifier and Type
    Method
    Description
    获取元素的显示名称
    获取元素的唯一标识符
    default int
    获取元素的槽位位置
    default Consumer<Object>
    获取元素的验证器
    获取元素的当前值
    default boolean
    检查元素是否可点击
    default boolean
    isEnabled(org.bukkit.entity.Player player)
    检查元素是否可交互
    default boolean
    isVisible(org.bukkit.entity.Player player)
    检查元素是否可见
    void
    onClick(org.bukkit.entity.Player player, GuiSession session, org.bukkit.event.inventory.ClickType clickType)
    处理玩家点击事件
    org.bukkit.inventory.ItemStack
    render(GuiSession session)
    渲染元素为物品堆
    void
    setSlot(int slot)
    设置元素的槽位位置
    void
    设置元素的值
    boolean
    validate(org.bukkit.entity.Player player)
    验证元素的当前值
  • Method Details

    • getId

      String getId()
      获取元素的唯一标识符
      Returns:
      元素 ID
    • getDisplayName

      String getDisplayName()
      获取元素的显示名称
      Returns:
      显示名称
    • render

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

      void onClick(org.bukkit.entity.Player player, GuiSession session, org.bukkit.event.inventory.ClickType clickType)
      处理玩家点击事件
      Parameters:
      player - 点击的玩家
      session - 当前会话
      clickType - 点击类型
    • validate

      boolean validate(org.bukkit.entity.Player player)
      验证元素的当前值
      Parameters:
      player - 目标玩家
      Returns:
      是否通过验证
    • getSlot

      default int getSlot()
      获取元素的槽位位置
      Returns:
      槽位索引(-1 表示自动分配)
    • setSlot

      void setSlot(int slot)
      设置元素的槽位位置
      Parameters:
      slot - 槽位索引
    • isVisible

      default boolean isVisible(org.bukkit.entity.Player player)
      检查元素是否可见
      Parameters:
      player - 目标玩家
      Returns:
      是否可见
    • isEnabled

      default boolean isEnabled(org.bukkit.entity.Player player)
      检查元素是否可交互
      Parameters:
      player - 目标玩家
      Returns:
      是否可交互
    • getValidator

      default Consumer<Object> getValidator()
      获取元素的验证器
      Returns:
      验证器(可为 null)
    • setValue

      void setValue(Object value)
      设置元素的值
      Parameters:
      value - 新值
    • getValue

      Object getValue()
      获取元素的当前值
      Returns:
      当前值
    • isClickable

      default boolean isClickable()
      检查元素是否可点击
      Returns:
      是否可点击