Class GUIBuilder

java.lang.Object
top.magstar.framework.gui.utils.GUIBuilder

public class GUIBuilder extends Object
GUI构建器 - 基于Magstar工具类的增强GUI构建器
Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
See Also:
  • Constructor Details

    • GUIBuilder

      public GUIBuilder()
  • Method Details

    • title

      public GUIBuilder title(SmartString title)
      设置标题 - 支持SmartString
      Parameters:
      title - GUI标题
      Returns:
      当前构建器实例
    • title

      public GUIBuilder title(String title)
      设置标题
      Parameters:
      title - GUI标题字符串
      Returns:
      当前构建器实例
    • rows

      public GUIBuilder rows(int rows)
      设置行数
      Parameters:
      rows - GUI行数(1-6)
      Returns:
      当前构建器实例
    • set

      public GUIBuilder set(int slot, ItemBuilder itemBuilder)
      使用ItemBuilder设置物品
      Parameters:
      slot - 槽位索引
      itemBuilder - 物品构建器
      Returns:
      当前构建器实例
    • set

      public GUIBuilder set(int slot, ItemBuilder itemBuilder, Consumer<GUIClickEvent> clickHandler)
      使用ItemBuilder设置物品并添加点击处理器
      Parameters:
      slot - 槽位索引
      itemBuilder - 物品构建器
      clickHandler - 点击事件处理器
      Returns:
      当前构建器实例
    • set

      public GUIBuilder set(int slot, org.bukkit.inventory.ItemStack item)
      直接设置物品
      Parameters:
      slot - 槽位索引
      item - 物品
      Returns:
      当前构建器实例
    • set

      public GUIBuilder set(int slot, org.bukkit.inventory.ItemStack item, Consumer<GUIClickEvent> clickHandler)
      设置物品并添加点击处理器
      Parameters:
      slot - 槽位索引
      item - 物品
      clickHandler - 点击事件处理器
      Returns:
      当前构建器实例
    • item

      public ItemBuilderGUI item(org.bukkit.Material material)
      快速创建物品构建器
      Parameters:
      material - 物品材料
      Returns:
      物品构建器GUI包装器
    • item

      public ItemBuilderGUI item(org.bukkit.Material material, int amount)
      快速创建物品构建器(指定数量)
      Parameters:
      material - 物品材料
      amount - 物品数量
      Returns:
      物品构建器GUI包装器
    • item

      public ItemBuilderGUI item(org.bukkit.inventory.ItemStack itemStack)
      基于现有物品创建构建器
      Parameters:
      itemStack - 物品
      Returns:
      物品构建器GUI包装器
    • item

      public ItemBuilderGUI item(ItemBuilder itemBuilder)
      基于现有ItemBuilder创建构建器
      Parameters:
      itemBuilder - 物品构建器
      Returns:
      物品构建器GUI包装器
    • onClick

      public GUIBuilder onClick(Consumer<GUIClickEvent> handler)
      设置全局点击处理器
      Parameters:
      handler - 全局点击事件处理器
      Returns:
      当前构建器实例
    • onClose

      public GUIBuilder onClose(Consumer<GUICloseEvent> handler)
      设置关闭处理器
      Parameters:
      handler - 关闭事件处理器
      Returns:
      当前构建器实例
    • allowPlayerInventory

      public GUIBuilder allowPlayerInventory()
      允许玩家背包交互
      Returns:
      当前构建器实例
    • border

      public GUIBuilder border(org.bukkit.Material material, SmartString name)
      设置边框物品 - 使用SmartString名称
      Parameters:
      material - 边框材料
      name - 物品显示名称
      Returns:
      当前构建器实例
    • border

      public GUIBuilder border(org.bukkit.Material material)
      设置边框物品
      Parameters:
      material - 边框材料
      Returns:
      当前构建器实例
    • fill

      public GUIBuilder fill(org.bukkit.Material material, SmartString name)
      设置填充物品 - 使用SmartString名称
      Parameters:
      material - 填充材料
      name - 物品显示名称
      Returns:
      当前构建器实例
    • fill

      public GUIBuilder fill(org.bukkit.Material material)
      设置填充物品
      Parameters:
      material - 填充材料
      Returns:
      当前构建器实例
    • buildChestGUI

      public ChestGUI buildChestGUI(GUIFactory factory, org.bukkit.plugin.Plugin instance, MagstarPlugin plugin)
      构建基于箱子的GUI
      Parameters:
      factory - GUI工厂
      instance - 插件实例
      plugin - Magstar插件实例
      Returns:
      创建的箱子GUI实例
    • buildPacketGUI

      public ChestGUI buildPacketGUI(GUIFactory factory, org.bukkit.plugin.Plugin instance, MagstarPlugin plugin)
      构建基于数据包的GUI
      Parameters:
      factory - GUI工厂
      instance - 插件实例
      plugin - Magstar插件实例
      Returns:
      创建的数据包GUI实例
    • getTitle

      public SmartString getTitle()
      获取GUI标题
      Returns:
      GUI标题
    • getRows

      public int getRows()
      获取GUI行数
      Returns:
      GUI行数
    • getItems

      public Map<Integer,org.bukkit.inventory.ItemStack> getItems()
      获取所有物品映射
      Returns:
      槽位到物品的映射
    • getSlotClickHandlers

      public Map<Integer,Consumer<GUIClickEvent>> getSlotClickHandlers()
      获取槽位点击处理器映射
      Returns:
      槽位到点击处理器的映射
    • getGlobalClickHandler

      public Consumer<GUIClickEvent> getGlobalClickHandler()
      获取全局点击处理器
      Returns:
      全局点击处理器
    • getCloseHandler

      public Consumer<GUICloseEvent> getCloseHandler()
      获取关闭处理器
      Returns:
      关闭处理器
    • isAllowPlayerInventory

      public boolean isAllowPlayerInventory()
      检查是否允许玩家背包交互
      Returns:
      true表示允许,false表示禁止