物品浏览 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。留空回退为目录名。 |
icon | minecraft-chest | 包图标,CoreLib ItemSource 简写,与物品定义的 item.source 同语法。 |
lore | 显示物品数量 | 包图标的 lore。%count% 是该包物品数量,%pack% 是包 ID。 |
order | 100 | 一级界面排序权重,升序。 |
三点要注意:
- 包 ID 由目录相对路径决定,与
pack.yml的内容无关。 - 不写
pack.yml时整份走兜底:minecraft:chest图标、目录名作显示名、lore 显示物品数量。 pack.yml不会被物品加载器当作物品定义读取。
可见的包目录深度由 config.yml 的 data_directories.max_depth 控制,超出深度的目录不会成为独立的包。
一级界面槽位类型
type | 作用 |
|---|---|
pack_entry | 包图标区域,按 order 升序填充(order 相同时按包 ID 字典序),超出则分页。点击进入该包的二级界面。 |
page_prev / page_next | 翻页。 |
page_info | 页码与统计信息。 |
close | 关闭界面。 |
filler | 装饰填充。 |
pack_entry 与 page_info 可用的占位符:
| 占位符 | 可用位置 | 含义 |
|---|---|---|
%pack% | pack_entry | 包 ID。 |
%pack_name% | pack_entry | 包显示名。 |
%pack_lore% | pack_entry | 包 lore,取 pack.yml 的 lore,未定义时用兜底文本。 |
%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 行去掉两侧边框)。
改动这两个区域的格数会直接改变分页结果,翻页按钮无需同步调整。