配置详解
plugins/EmakiAccessory/config.yml 是主配置,pages/*.yml 定义饰品页。version 是配置结构标记,由项目资源同步流程维护,插件按它合并新增的默认键。
顶层键
| 键 | 默认值 | 说明 |
|---|---|---|
version | "1.0.3" | 配置结构版本,用于合并新增默认键。 |
language | "zh_CN" | 语言文件名,对应 lang/<language>.yml。 |
release_default_data | true | 是否在每次启动时释放插件内置的默认数据文件(parts.yml、pages/、sets/ 下的示例文件)。为 true 时每次启动都会补齐缺失的默认示例,已存在的文件不会被覆盖;改为 false 后只保留已有数据,不再主动生成缺失示例。 |
drop_on_death | false | 死亡时是否掉落饰品。 |
unique | true | 是否禁止同时装备两件相同饰品。 |
slot_sources | 见下文 | 追加的「可穿戴槽位」声明来源。 |
persistence | 见下文 | 自动保存与关服落盘参数。 |
drop_on_death
为 true 时饰品会被追加到死亡掉落列表里,交给原版死亡流程处理,而不是塞回背包——后者会让同一件饰品同时存在于掉落物和背包中。
其他插件已经开启 keepInventory 时本项不生效,饰品一律保留。
unique
优先按 EmakiItem 的物品定义 id 判定:同一个定义的两件饰品即使等级或词条不同也算重复。EmakiItem 不可用时回退为原版材质判定,因此同材质的两件饰品会被视为重复。
slot_sources 穿戴槽位来源
一件饰品声明「能戴在哪些槽位」的额外读取来源。EmakiAttribute 的 active_slot 与 EmakiSkills 的技能载荷始终生效,下面两项是在此之上追加的来源;四个来源取并集,任一命中即允许穿戴。两项都关闭时行为与单一来源时一致。
| 键 | 默认值 | 说明 |
|---|---|---|
slot_sources.pdc.enabled | false | 是否从物品 PDC 读取槽位列表。 |
slot_sources.pdc.key | "" | NamespacedKey 全写,逐字使用填写值,不做大小写改写。优先按字符串列表读取,读不到时回退为单个字符串并按 separator 切分。 |
slot_sources.lore.enabled | false | 是否从 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.yml 的 count 展开成槽位实例,且必须在 gui_template 指向的布局里摆放,否则该槽位不可用并记录警告。
persistence 持久化
| 键 | 默认值 | 说明 |
|---|---|---|
autosave_seconds | 60 | 自动保存间隔(秒)。设为 0 或负数关闭定时保存。 |
drain_timeout_seconds | 10 | 关服时等待未落盘写入完成的秒数。 |
关闭定时保存后,仅在关闭窗口、玩家退出和服务器关服时落盘。
drain_timeout_seconds 超时后会打印剩余脏数据条数并继续关服,不会无限等待卡住服务器关闭流程。