Skip to content

Lore 格式定义 ​

Lore 格式文件放在 lore_formats/*.yml, 它定义属性在物品 Lore 里的展示方式和读取规则

字段说明 ​

字段类型默认值说明
idstring—格式 ID, 被属性定义的 lore_format_id 引用. 缺失时这个文件不会加载
formatstring%sign%%value% %name%展示模板
precisioninteger2数值保留几位小数
read_priorityinteger见下Lore 读取优先级 (多个格式匹配同一行时, 优先级高的先匹配)
read_patternslist[]读取正则列表, 用来从 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 格式化)

内置格式文件 ​

文件IDformatprecisionread_priority用途
default_percent.ymldefault_percent%name% %sign%%value%%2100百分比属性 (暴击率, 闪避等)
default_regen.ymldefault_regen%name% %sign%%value%/秒180回复类属性 (生命回复, 法力回复)
default_resource.ymldefault_resource%name% %sign%%value%260资源类属性 (生命上限, 法力上限)
default_flat.ymldefault_flat%name% %sign%%value%250平面数值属性 (攻击, 防御等)

内置 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