部位与槽位
plugins/EmakiAccessory/parts.yml 定义全部可用部位,pages/*.yml 再决定每页启用哪些部位。部位在这里定义一次,可被多页引用。
完整示例
yaml
parts:
necklace:
count: 1
display_name: "<gold>项链</gold>"
icon: "LIGHT_GRAY_STAINED_GLASS_PANE"
ring:
count: 2
display_name: "<gold>戒指</gold>"
icon: "LIGHT_GRAY_STAINED_GLASS_PANE"
belt:
count: 1
display_name: "<gold>腰带</gold>"
icon: "LIGHT_GRAY_STAINED_GLASS_PANE"
charm:
count: 2
display_name: "<gold>护符</gold>"
icon: "LIGHT_GRAY_STAINED_GLASS_PANE"字段
| 字段 | 说明 |
|---|---|
count | 该部位展开出几个槽位实例。 |
display_name | 部位显示名,支持 MiniMessage。 |
icon | 空槽位显示的占位物品材质。 |
槽位实例展开
每个部位会展开成 count 个槽位实例,实例 id 为 <部位id>_<序号>,序号从 1 开始。
上面示例里 ring 部位 count: 2,展开出 ring_1 与 ring_2:
| 部位 | count | 展开出的槽位实例 |
|---|---|---|
necklace | 1 | necklace_1 |
ring | 2 | ring_1、ring_2 |
belt | 1 | belt_1 |
charm | 2 | charm_1、charm_2 |
部位 id 的命名约束
部位 id 只能用小写字母、数字和下划线,且不能以 _<数字> 结尾——那种写法会和槽位实例 id 撞车(写 ring_2 会与 ring 部位的第二格同名)。
不合法的 id 会被拒绝并记录警告,插件不会替你改名。
必须同步页与界面
改完 parts.yml 还有两步:
- 在
pages/*.yml的parts列表里加上该部位,否则它不属于任何页,玩家看不到。 - 每个展开出来的槽位都要在页所用的布局(
gui_template指向的gui/*.yml)里摆一格type: "accessory_slot"且键名相同的格子,否则该槽位玩家用不到。
同一部位被多页引用时,各页的饰品分开存储,互不覆盖;但只有生效页的饰品会产生属性、技能与套装件数。
缩减 count、删除部位,或把部位从某页 parts 移除,都会让原有饰品变成孤儿,需要靠 orphan_slot 或 /eacc retrieve <页> 取回。详见界面模板与配置详解。
yaml
slots:
ring_1:
slots: [12]
type: "accessory_slot"
ring_2:
slots: [13]
type: "accessory_slot"孤儿槽
缩减 count 或删除部位不会删数据:落在已消失槽位里的饰品会变成「孤儿」,显示在界面的 orphan_slot 区域供玩家取回。
取走后不能再放回。孤儿饰品也永不计入套装件数,因此从配置里移除一个部位会降低套装事件里报告的件数。