Skip to content

物品浏览 GUI

/ei browse 打开一个两级浏览界面:一级列出物品包,点包图标进入二级列出包内物品,左键取一件到背包(Shift + 左键取一整组)。

两级界面各有一份布局文件,都放在 plugins/EmakiItem/gui/ 下:

文件层级作用
pack_browser_gui.yml一级列出 items/ 下的每个物品包。
item_browser_gui.yml二级列出某个包内的全部物品。

命令需要 emakiitem.browse 权限(默认 op),且只能由玩家执行/ei browse [页码] 可直接跳到指定页,页码从 1 开始;小于 1 的值按第 1 页处理,超出总页数则打开一个空页,用翻页按钮可以退回。

物品包元数据 pack.yml

items/ 下的每个子目录都可以放一份 pack.yml,定义该包在一级界面里的图标外观。

直接放在 items/ 根目录下的物品也会构成一个「根包」:它的包 ID 是空串,同样出现在一级列表里,显示名取语言键 browser.default_pack_name

yaml
display_name: "<gold>示例物品包</gold>"
icon: "minecraft-chest"
lore:
  - "<gray>共 <white>%count%</white> 件物品</gray>"
  - "<dark_gray>包 ID: %pack%</dark_gray>"
  - ""
  - "<yellow>点击查看</yellow>"
order: 10
缺省说明
display_name目录名一级界面显示的包名,支持 MiniMessage。留空回退为目录名。
iconminecraft-chest包图标,CoreLib ItemSource 简写,与物品定义的 item.source 同语法。
lore显示物品数量包图标的 lore。%count% 是该包物品数量,%pack% 是包 ID。
order100一级界面排序权重,升序。

三点要注意:

  • 包 ID 由目录相对路径决定,与 pack.yml 的内容无关。
  • 不写 pack.yml 时整份走兜底:minecraft:chest 图标、目录名作显示名、lore 显示物品数量。
  • pack.yml 不会被物品加载器当作物品定义读取。

可见的包目录深度由 config.ymldata_directories.max_depth 控制,超出深度的目录不会成为独立的包。

一级界面槽位类型

type作用
pack_entry包图标区域,按 order 升序填充(order 相同时按包 ID 字典序),超出则分页。点击进入该包的二级界面。
page_prev / page_next翻页。
page_info页码与统计信息。
close关闭界面。
filler装饰填充。

pack_entrypage_info 可用的占位符:

占位符可用位置含义
%pack%pack_entry包 ID。
%pack_name%pack_entry包显示名。
%pack_lore%pack_entry包 lore,取 pack.ymllore,未定义时用兜底文本。
%count%pack_entry该包的物品数量,与 %item_count% 同值。
%item_count%pack_entry该包的物品数量。
%current_page% / %total_pages%page_info当前页码与总页数。
%pack_count%page_info物品包总数。
%item_count%page_info已加载物品定义总数。

二级界面槽位类型

type作用
item_entry物品图标区域,按物品 ID 字典序填充,超出则分页。左键取一件Shift + 左键取一整组;右键无效。
back返回一级界面。
page_prev / page_next翻页。
page_info页码与统计信息。
close关闭界面。
filler装饰填充。

item_entry 的图标由物品定义本身渲染,槽位若写了 lore 会追加在物品原有 lore 之上。

page_info 在二级界面可用 %current_page%%total_pages%%pack%(当前包 ID)、%pack_name%(当前包名),以及 %item_count%%count%(都是当前包物品数)。

每页容量由布局决定

每页放几个条目取决于布局里 pack_entry / item_entry 声明了多少格,不是固定值。默认布局两级都给了 21 格(第 2 至 4 行去掉两侧边框)。

改动这两个区域的格数会直接改变分页结果,翻页按钮无需同步调整。

相关页面