简体中文
Lore 格式定义
Lore 格式文件放在 lore_formats/*.yml, 它定义属性在物品 Lore 里的展示方式和读取规则
字段说明
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id | string | — | 格式 ID, 被属性定义的 lore_format_id 引用. 缺失时这个文件不会加载 |
format | string | %sign%%value% %name% | 展示模板 |
precision | integer | 2 | 数值保留几位小数 |
read_priority | integer | 见下 | Lore 读取优先级 (多个格式匹配同一行时, 优先级高的先匹配) |
read_patterns | list | [] | 读取正则列表, 用来从 Lore 中解析属性值 |
read_priority 省略时, 四个内置格式 ID 各有自己的默认值 (default_percent 100, default_regen 80, default_resource 60, default_flat 50), 其他 ID 默认为 0
NOTE
read_patterns 字段支持别名: read_pattern, lore_patterns, lore_pattern
模板变量
format 字段里可以用这些变量:
| 变量 | 说明 |
|---|---|
%name% | 属性显示名 |
%sign% | 正负号 (+ 或 -) |
%value% | 属性数值 (按 precision 格式化) |
内置格式文件
| 文件 | ID | format | precision | read_priority | 用途 |
|---|---|---|---|---|---|
default_percent.yml | default_percent | %name% %sign%%value%% | 2 | 100 | 百分比属性 (暴击率, 闪避等) |
default_regen.yml | default_regen | %name% %sign%%value%/秒 | 1 | 80 | 回复类属性 (生命回复, 法力回复) |
default_resource.yml | default_resource | %name% %sign%%value% | 2 | 60 | 资源类属性 (生命上限, 法力上限) |
default_flat.yml | default_flat | %name% %sign%%value% | 2 | 50 | 平面数值属性 (攻击, 防御等) |
内置 read_patterns 使用 %Key% / %Value% 模板变量而不是裸正则, 例如 default_flat 为 "%Key%.*?: ?%Value%$". %Value% 同时支持单值与区间写法 (如 1-5, 1~5)
注意, 四个内置格式的分隔符写法并不一致: default_flat 与 default_percent 只接受半角冒号 (: ?), default_regen 额外要求 /秒 后缀, 而 default_resource 用字符组 [::] ? 同时接受半角与全角冒号. 你自定义格式时按目标 Lore 的实际标点来选, 需要兼容全角冒号就照 default_resource 写成字符组
示例
自定义百分比格式
yaml
id: custom_percent
format: "%name%: %sign%%value%%"
precision: 1
read_patterns:
- '%Key%.*?: ?%Value%%$'自定义带颜色格式
yaml
id: colored_flat
format: "<gray>%name% <white>%sign%%value%"
precision: 0
read_priority: 10
read_patterns:
- '%Key% ?%Value%$'属性定义中的引用
在属性定义文件里用 lore_format_id 引用格式:
yaml
id: physical_attack
display_name: "物理攻击"
lore_format_id: default_flat