Skip to content

部位与槽位

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_1ring_2

部位count展开出的槽位实例
necklace1necklace_1
ring2ring_1ring_2
belt1belt_1
charm2charm_1charm_2

部位 id 的命名约束

部位 id 只能用小写字母、数字和下划线,且不能以 _<数字> 结尾——那种写法会和槽位实例 id 撞车(写 ring_2 会与 ring 部位的第二格同名)。

不合法的 id 会被拒绝并记录警告,插件不会替你改名。

必须同步页与界面

改完 parts.yml 还有两步:

  1. pages/*.ymlparts 列表里加上该部位,否则它不属于任何页,玩家看不到。
  2. 每个展开出来的槽位都要在页所用的布局(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 区域供玩家取回。

取走后不能再放回。孤儿饰品也永不计入套装件数,因此从配置里移除一个部位会降低套装事件里报告的件数。