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 TypeMethodDescription获取元素的显示名称getId()获取元素的唯一标识符default intgetSlot()获取元素的槽位位置获取元素的验证器getValue()获取元素的当前值default boolean检查元素是否可点击default booleanisEnabled(org.bukkit.entity.Player player) 检查元素是否可交互default booleanisVisible(org.bukkit.entity.Player player) 检查元素是否可见voidonClick(org.bukkit.entity.Player player, GuiSession session, org.bukkit.event.inventory.ClickType clickType) 处理玩家点击事件org.bukkit.inventory.ItemStackrender(GuiSession session) 渲染元素为物品堆voidsetSlot(int slot) 设置元素的槽位位置void设置元素的值booleanvalidate(org.bukkit.entity.Player player) 验证元素的当前值
-
Method Details
-
getId
-
getDisplayName
-
render
渲染元素为物品堆- 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
-
setValue
-
getValue
-
isClickable
default boolean isClickable()检查元素是否可点击- Returns:
- 是否可点击
-