Skip to content

配置详解

plugins/EmakiAccessory/config.yml 是主配置,pages/*.yml 定义饰品页。version 是配置结构标记,由项目资源同步流程维护,插件按它合并新增的默认键。

顶层键

默认值说明
version"1.0.3"配置结构版本,用于合并新增默认键。
language"zh_CN"语言文件名,对应 lang/<language>.yml
release_default_datatrue是否在每次启动时释放插件内置的默认数据文件(parts.ymlpages/sets/ 下的示例文件)。为 true 时每次启动都会补齐缺失的默认示例,已存在的文件不会被覆盖;改为 false 后只保留已有数据,不再主动生成缺失示例。
drop_on_deathfalse死亡时是否掉落饰品。
uniquetrue是否禁止同时装备两件相同饰品。
slot_sources见下文追加的「可穿戴槽位」声明来源。
persistence见下文自动保存与关服落盘参数。

drop_on_death

true 时饰品会被追加到死亡掉落列表里,交给原版死亡流程处理,而不是塞回背包——后者会让同一件饰品同时存在于掉落物和背包中。

其他插件已经开启 keepInventory 时本项不生效,饰品一律保留。

unique

优先按 EmakiItem 的物品定义 id 判定:同一个定义的两件饰品即使等级或词条不同也算重复。EmakiItem 不可用时回退为原版材质判定,因此同材质的两件饰品会被视为重复。

slot_sources 穿戴槽位来源

一件饰品声明「能戴在哪些槽位」的额外读取来源。EmakiAttribute 的 active_slot 与 EmakiSkills 的技能载荷始终生效,下面两项是在此之上追加的来源;四个来源取并集,任一命中即允许穿戴。两项都关闭时行为与单一来源时一致。

默认值说明
slot_sources.pdc.enabledfalse是否从物品 PDC 读取槽位列表。
slot_sources.pdc.key""NamespacedKey 全写,逐字使用填写值,不做大小写改写。优先按字符串列表读取,读不到时回退为单个字符串并按 separator 切分。
slot_sources.lore.enabledfalse是否从 Lore 用正则读取槽位列表。
slot_sources.lore.patterns见默认资源正则列表,每条的捕获组 1 是槽位列表文本。匹配前会去除 MiniMessage 标签并折叠空白,按纯文本书写。写错的正则只记录警告并跳过该条。
slot_sources.lore.separator","槽位列表分隔符,同时用于 pdc 的字符串回退分支。
slot_sources.lore.aliases见默认资源Lore 中文名到 parts.yml 部位 id 的映射。部位 id 只能是小写字母、数字和下划线,所以中文槽位名必须在这里转换;未列出的值按原样规范化后使用。

pages/*.yml 饰品页

一个文件定义一页。页 id 取 page_id,与文件名无关。

yaml
page_id: "main"
display_name: "<gold>主饰品栏</gold>"
order: 1
gui_template: "accessory_gui"
permission: ""
parts:
  - "necklace"
  - "ring"
  - "belt"
  - "charm"
说明
page_id页 id,也是数据文件里的存储分区键。
display_name页显示名,支持 MiniMessage,用于切页格与 /eacc pages
order页排序,升序;最小者为默认启用页
gui_template该页使用的布局 id,允许多页共用一个布局。
permission为空表示所有人可用;非空时逐字使用该权限串。
parts本页启用的部位,取值必须是 parts.yml 里已定义的部位 id。

三条页面规则:

  • 存储隔离:同一个槽位实例 id 在不同页各存一件饰品,互不覆盖。
  • 只有启用页生效:其余页的饰品保留但不产生属性、技能与套装件数。
  • 失权不清数据:玩家失去启用页权限时数据不清除,也不自动换页;该页打不开、其饰品停止生效,玩家用 /eacc retrieve <页> 自行取回。

部位在页里会按 parts.ymlcount 展开成槽位实例,且必须在 gui_template 指向的布局里摆放,否则该槽位不可用并记录警告。

persistence 持久化

默认值说明
autosave_seconds60自动保存间隔(秒)。设为 0 或负数关闭定时保存。
drain_timeout_seconds10关服时等待未落盘写入完成的秒数。

关闭定时保存后,仅在关闭窗口、玩家退出和服务器关服时落盘。

drain_timeout_seconds 超时后会打印剩余脏数据条数并继续关服,不会无限等待卡住服务器关闭流程。