模板配置
LyYuhun 的御魂模板由两部分组成:
template:定义御魂鉴定或生成时的初始主词条、副词条和 Lore 格式。strengthen:定义御魂强化时的消耗、强化成长和强化指令。
模板 ID 需要对应。例如,template.模板1 应与 strengthen.模板1 配套使用。模板 ID 不一致时,可能无法正确识别强化规则。
配置文件
项目提供以下模板配置文件:
| 文件 | 用途 |
|---|---|
plugins/LyYuhun/config.yml | 默认配置,包含 模板1 的生成模板和强化模板 |
plugins/LyYuhun/extra/额外配置.yml | 额外模板配置示例,包含 模板2 的生成模板和强化模板 |
config.yml 中的 template 和 strengthen 为默认模板配置;额外配置.yml 中也使用相同的顶级节点结构。
警告
如果使用 MySQL 存储,需要安装 LyMySQLCore,并确保数据库连接成功。只有插件成功连接数据库后,相关数据存储功能才会生效。
生成模板
生成模板用于御魂鉴定或通过指令生成御魂。模板会根据 check-lore 识别待激活物品,并按照主词条、副词条配置生成新的属性 Lore。
yaml
template:
模板1:
check-lore: '&7<< 御魂属性待激活 >>'
last-line-lore:
- '定位lore上一行的属性'
next-line-lore:
- '定位lore下一行的属性'
min-entry: 1
max-entry: 4
entry-not-repeated: false
recycle-exp: 100
main-attribute:
攻击力:
min: 10
max: 30
weight: 10
format: '&7攻击力+{value}'
round: '%.0f'
entry-value:
暴击几率:
min: 1
max: 5
weight: 10
format: '&7暴击几率+{value}%'
round: '%.1f'生成模板字段
| 字段 | 说明 |
|---|---|
check-lore | 待鉴定物品需要包含的 Lore。匹配后,插件会将其替换为生成的御魂属性 Lore。 |
last-line-lore | 生成词条前插入的 Lore 列表,用于定位原有 Lore 中属性所在的位置。 |
next-line-lore | 生成词条后插入的 Lore 列表,用于定位原有 Lore 中属性所在的位置。 |
min-entry | 最少生成的副词条数量。御魂还会额外生成一条主词条。 |
max-entry | 最多生成的副词条数量。御魂还会额外生成一条主词条。 |
entry-not-repeated | 是否禁止重复生成副词条。为 true 时,副词条不会重复。 |
recycle-exp | 回收该模板御魂时获得的御魂经验。 |
main-attribute | 主词条配置池。 |
entry-value | 副词条配置池。 |
last-line-lore 和 next-line-lore 使用列表格式。没有需要插入的 Lore 时,可以配置为空列表:
yaml
last-line-lore: []
next-line-lore: []警告
启用 entry-not-repeated: true 时,entry-value 中的副词条数量必须大于 max-entry。否则可能无法生成足够数量的副词条。
主词条和副词条字段
main-attribute 和 entry-value 下的每个属性节点都使用以下字段:
| 字段 | 说明 |
|---|---|
min | 随机数的最小值。 |
max | 随机数的最大值。 |
weight | 随机权重。数值越高,被选中的概率越高。 |
format | 生成到 Lore 的文本格式。{value} 会替换为本次生成的随机值。 |
round | 随机值的格式化方式,例如 %.0f 表示不保留小数,%.1f 表示保留一位小数。 |
生成数值会受到全局配置 normal-distribution-offset 影响。默认值为 0.25,通常不需要调整。
示例:
yaml
main-attribute:
攻击力:
min: 10
max: 30
weight: 10
format: '&7攻击力+{value}'
round: '%.0f'
entry-value:
暴击伤害:
min: 3
max: 30
weight: 10
format: '&7暴击伤害+{value}%'
round: '%.1f'强化模板
强化模板定义御魂强化时的等级消耗、属性成长、随机强化词条和命中词条后执行的指令。
yaml
strengthen:
模板1:
multiply-value: false
recycle-exp-ratio: 0.1
need-exp:
1: 10
2: 20
3: 30
10-15: 100
need-vault:
1: 10
2: 20
3: 30
10-15: 100
attribute-up-need-level: 3
main-attribute:
攻击力:
keyword: '&7攻击力'
min: 10
max: 30
weight: 10
command: []
entry-value:
暴击伤害:
keyword: '&7暴击伤害'
min: 3
max: 30
weight: 10
command: []强化模板字段
| 字段 | 说明 |
|---|---|
multiply-value | 强化成长算法。true 使用乘法成长,false 使用加法成长。 |
recycle-exp-ratio | 回收已强化御魂时,按强化经验计算返还比例。 |
need-exp | 每个强化等级需要消耗的御魂经验。 |
need-vault | 每个强化等级需要消耗的 Vault 金币。 |
attribute-up-need-level | 每提升多少级强化等级,随机强化一次副词条。 |
main-attribute | 主词条强化规则。 |
entry-value | 副词条强化规则。 |
强化消耗等级
need-exp 和 need-vault 支持单级键名,也支持等级区间键名:
yaml
need-exp:
1: 10
2: 20
10-15: 100
need-vault:
1: 10
2: 20
10-15: 100| 写法 | 说明 |
|---|---|
1: 10 | 强化到指定单级时消耗 10。 |
10-15: 100 | 强化等级处于 10 至 15 区间时消耗 100。 |
强化属性字段
main-attribute 和 entry-value 下的强化属性节点使用以下字段:
| 字段 | 说明 |
|---|---|
keyword | 用于在御魂 Lore 中定位对应词条。应与生成模板中实际生成的属性文本相匹配。 |
min | 本次强化增加数值的最小值。 |
max | 本次强化增加数值的最大值。 |
weight | 该属性被随机强化到的权重。 |
command | 强化命中该属性时执行的指令列表。没有指令时可使用空列表 []。 |
示例:
yaml
main-attribute:
攻击力:
keyword: '&7攻击力'
min: 10
max: 30
weight: 10
command: []
entry-value:
暴击几率:
keyword: '&7暴击几率'
min: 1
max: 5
weight: 10
command: []警告
keyword 用于匹配生成模板中的词条文本。如果关键词与生成后的 Lore 不匹配,插件可能无法找到对应词条并完成强化数值更新。
模板 ID 对应关系
生成模板和强化模板需要使用相同的 ID:
yaml
template:
模板1:
# 生成模板配置
strengthen:
模板1:
# 强化模板配置额外配置文件中的 模板2 也遵循相同规则:
yaml
template:
模板2:
# 生成模板配置
strengthen:
模板2:
# 强化模板配置不要将 template.模板1 与 strengthen.模板2 混合使用。
属性鉴定道具与模板
鉴定道具配置位于 鉴定道具.yml。主词条道具和副词条道具分别通过 entry-id 指定属性节点,并可通过 templates 限定适用的生成模板。
| 配置节点 | 用途 |
|---|---|
main-items | 主词条鉴定道具配置。放入鉴定界面的第 6 格。 |
entry-items | 副词条鉴定道具配置。放入鉴定界面的第 7 格。 |
entry-id | 对应生成模板中的属性节点名称。 |
templates | 限定适用的生成模板 ID。为空列表时默认全局可用。 |
示例:
yaml
main-items:
主攻击卷轴:
name: '&6主攻击卷轴'
entry-id: '攻击力'
templates: []
entry-items:
副暴击卷轴:
name: '&b副暴击卷轴'
entry-id: '暴击几率'
templates: []entry-id 必须与对应生成模板中的属性节点名称一致。例如,entry-id: '攻击力' 需要对应:
yaml
main-attribute:
攻击力:
# 属性配置或:
yaml
entry-value:
攻击力:
# 属性配置如果设置了 templates,其中的模板 ID 需要与 template 下的实际节点名称一致。