深色模式
sources.yml:来源与物品读取
完整默认配置
yaml
config-version: 1
built-in-equipment-reader:
enabled: true
item-mode: STRUCTURED
equipment-slots:
- MAIN_HAND
- OFF_HAND
- HEAD
- CHEST
- LEGS
- FEET
structured:
schema-version: 1
pdc-key: sealattributes:item_attributes
lore:
formats:
number: ["{name} {value}", "{name}: {value}", "{name}:{value}", "{value} {name}"]
percent: ["{name} {value}", "{name} {value}%", "{name}: {value}%", "{name}:{value}%", "{value}% {name}"]
aliases: {}
templates: []顶层与结构化模式
| 键 | 默认 | 规则 |
|---|---|---|
config-version | 1 | 固定。 |
built-in-equipment-reader.enabled | true | 读取六个原版槽;SealItems 接管时关闭并完整重启。 |
item-mode | STRUCTURED | STRUCTURED 或 LORE,一次只启用一种。 |
equipment-slots | 六槽列表 | 列表和顺序固定,不可删除、增加或重排。 |
structured.schema-version | 1 | 固定。 |
structured.pdc-key | sealattributes:item_attributes | 固定 NamespacedKey。 |
内置读取器不支持饰品、背包或自定义槽。第三方插件必须通过 API 用自己的 provider 发布。
Lore 模式全部键
yaml
config-version: 1
built-in-equipment-reader:
enabled: true
item-mode: LORE
equipment-slots: [MAIN_HAND, OFF_HAND, HEAD, CHEST, LEGS, FEET]
structured:
schema-version: 1
pdc-key: sealattributes:item_attributes
lore:
formats:
number:
- "{name}: {value}"
- "{value} {name}"
percent:
- "{name}: {value}%"
aliases:
physical_attack:
- 物攻
- 攻击力
templates:
- attribute: sealattributes:max_health
operation: ADD
template: "生命上限 +{value}"| 键 | 范围/依赖 |
|---|---|
lore.formats.number | 1~8 条,彼此唯一;每条恰好一个 {name} 和 {value},最多 128 字符。 |
lore.formats.percent | 同上;用于百分比属性。 |
lore.aliases.<内置属性路径> | 仅当前启用的内置属性;每项 1~4 个别名;所有显示名/别名全局唯一。 |
lore.templates | 0~64 条;attribute 为完整 ID,operation 为 ADD/TOTAL_PERCENT;二选一使用单个 template 或 1~8 个字符串的 formats,每条恰好一个 {value}、最多 128 字符。 |
自动格式、别名和模板展开后的规则总数最多 128。TOTAL_PERCENT 只适用于 AMOUNT。扩展属性不会自动获得显示名规则,必须用完整 ID 写 template。
百分比语义
Lore 与物品 JSON 使用人类百分数。暴击率: +15% 解析为 API 数值 0.15;TOTAL_PERCENT 的 20 解析为 0.20。不要写 0.15% 来表达 15%。
热重载边界
- item-mode、Lore 规则可在候选校验成功后重建装备来源;重建期间主体暂时不可用于战斗,避免一击混用新旧模式;
- 关闭内置 reader 会撤销六个
sealattributes:equipment/*,保留 Profile、API 与永久来源; sealitemsprovider 已绑定时,热重载更改 reader 值会拒绝整次重载。必须停服、编辑、再启动。
错误示例
yaml
formats:
number: ["{name}: {value} / {value}"]错误:{value} 出现两次。
yaml
templates:
- attribute: sealattributes:critical_chance
operation: TOTAL_PERCENT
template: "暴击率总增 {value}%"错误:该属性不接受 TOTAL_PERCENT。
yaml
equipment-slots: [MAIN_HAND, HEAD]错误:固定六槽列表被改变。Lore 只做纯文本精确匹配,不开放正则或脚本;迁移前用 /sa item inspect 抽样验证。