Skip to content

模板配置

LyYuhun 的御魂模板由两部分组成:

  • template:定义御魂鉴定或生成时的初始主词条、副词条和 Lore 格式。
  • strengthen:定义御魂强化时的消耗、强化成长和强化指令。

模板 ID 需要对应。例如,template.模板1 应与 strengthen.模板1 配套使用。模板 ID 不一致时,可能无法正确识别强化规则。

配置文件

项目提供以下模板配置文件:

文件用途
plugins/LyYuhun/config.yml默认配置,包含 模板1 的生成模板和强化模板
plugins/LyYuhun/extra/额外配置.yml额外模板配置示例,包含 模板2 的生成模板和强化模板

config.yml 中的 templatestrengthen 为默认模板配置;额外配置.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-lorenext-line-lore 使用列表格式。没有需要插入的 Lore 时,可以配置为空列表:

yaml
last-line-lore: []
next-line-lore: []

警告

启用 entry-not-repeated: true 时,entry-value 中的副词条数量必须大于 max-entry。否则可能无法生成足够数量的副词条。

主词条和副词条字段

main-attributeentry-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-expneed-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强化等级处于 1015 区间时消耗 100

强化属性字段

main-attributeentry-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.模板1strengthen.模板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 下的实际节点名称一致。