配置说明
LyYuhun 的配置由主配置、扩展模板和鉴定道具配置组成。config.yml 负责物品库适配、消息、数据库、界面、鉴定消耗、数值分布、强化规则和默认生成模板;extra 目录用于拆分更多强化与生成模板;鉴定道具.yml 用于配置可指定主词条或副词条的鉴定道具。
配置文件
| 文件 / 目录 | 用途 |
|---|---|
config.yml | 主配置,包含物品库、消息、MySQL、界面、消耗、强化规则和默认生成模板 |
extra/*.yml | 额外的 strengthen 与 template 模板配置 |
鉴定道具.yml | 指定主词条或副词条的鉴定道具配置 |
物品库支持
yaml
neigeItems: false
AzureFlow: false
SX-Item: false| 配置项 | 默认值 | 说明 |
|---|---|---|
neigeItems | false | 是否启用 NeigeItems 物品库支持 |
AzureFlow | false | 是否启用 AzureFlow 物品库支持 |
SX-Item | false | 是否启用 SX-Item 物品库支持 |
配置注释表明,没有从对应物品库取得物品时会继续按 MythicMobs 物品匹配。只启用服务器实际安装并使用的物品库支持。
消息配置
消息统一配置在 message 节点下,支持 & 颜色代码;默认配置中也存在使用 § 颜色符号的文本。
yaml
message:
强化成功1: '§7本次词条强化至 &6{level}级&7 后获得&a新词条&7: {result}'
强化成功2: '§7本次词条强化至 &6{level}级&7 后获得: {old}§6(+{value}) §7-> {result}'
不是御魂: '&7该物品不是御魂.'
强化上限: '&7该御魂已达强化上限.'
经验不足: '&7御魂经验不足, 无法强化.'
金币不足: '&7金币不足, 无法强化.'
全服公告: '&f[&e御魂&f] 玩家 &a%player_name%&f 强化 {item} &f到 &c{level}级 &f,恭喜恭喜!!'
鉴定成功: '&7鉴定成功!'
鉴定失败: '&7鉴定失败, 不是御魂.'
重复鉴定: '&7无法重复鉴定.'
回收成功: '&7回收成功! 本次获得 &b御魂经验x{amount}'
回收失败: '&7回收失败! 界面内没有可回收御魂.'
御魂经验: '&7你的御魂经验 &6{amount}&7! 当前拥有 &b御魂经验x{value}'
鉴定道具: '&7本次鉴定使用了{item}&7, 获得了指定{type}: {entry}'
主词条道具无效: '&7主词条鉴定道具无效.'
副词条道具无效: '&7副词条鉴定道具无效.'
主词条道具模板不匹配: '&7主词条鉴定道具不适用于该御魂.'
副词条道具模板不匹配: '&7副词条鉴定道具不适用于该御魂.'| 消息节点 | 触发场景 | 可见占位符 |
|---|---|---|
强化成功1 | 强化时获得新词条 | {level}、{result} |
强化成功2 | 强化已有词条 | {level}、{old}、{value}、{result} |
不是御魂 | 操作的物品不是御魂 | 无 |
强化上限 | 御魂达到强化上限 | 无 |
经验不足 | 御魂经验不足 | 无 |
金币不足 | 金币不足 | 无 |
全服公告 | 强化公告 | %player_name%、{item}、{level} |
鉴定成功 | 鉴定成功 | 无 |
鉴定失败 | 鉴定物品不是御魂 | 无 |
重复鉴定 | 尝试重复鉴定 | 无 |
回收成功 | 成功回收界面内的御魂 | {amount} |
回收失败 | 界面内没有可回收御魂 | 无 |
御魂经验 | 御魂经验变动或查询提示 | {amount}、{value} |
鉴定道具 | 鉴定时使用指定词条道具 | {item}、{type}、{entry} |
主词条道具无效 | 主词条鉴定道具无法识别 | 无 |
副词条道具无效 | 副词条鉴定道具无法识别 | 无 |
主词条道具模板不匹配 | 主词条道具不适用于当前模板 | 无 |
副词条道具模板不匹配 | 副词条道具不适用于当前模板 | 无 |
全服公告 默认使用 PlaceholderAPI 的 %player_name% 变量。该变量需要 PlaceholderAPI 提供解析支持。
MySQL 数据库
MySQL 前置要求
启用 MySQL 存储时,必须安装 LyMySQLCore,并确认它已成功连接数据库。LyMySQLCore 未加载或连接失败时,LyYuhun 的 MySQL 数据读取、保存、同步或相关记录不会生效。
yaml
mysql:
enable: false
databasename: mc2
username: mc2
password: admin
port: 3306
ip: 127.0.0.1| 配置项 | 默认值 | 说明 |
|---|---|---|
mysql.enable | false | 是否启用 MySQL 存储 |
mysql.databasename | mc2 | 数据库名称 |
mysql.username | mc2 | 数据库用户名 |
mysql.password | admin | 数据库密码 |
mysql.port | 3306 | 数据库端口 |
mysql.ip | 127.0.0.1 | 数据库地址 |
数据库开关变更后需要重启服务器。正式使用前应修改默认账号和密码,并确保数据库允许服务器连接。
强化界面
gui 节点负责御魂强化界面的标题、填充物品和强化按钮。
yaml
gui:
title: '&6 御魂强化'
fill-item: '160:0'
fill-name: '&7封锁'
button-item: '267:0'
button-name: '&a[点击强化]'
button-lore:
- ''
- '&7本次强化需要'
- ' &b御魂经验: &6{need}/{has}'
- ' &e消耗金币: &6{need_eco}/{has_eco}'
- ''| 配置项 | 说明 |
|---|---|
gui.title | 强化界面标题 |
gui.fill-item | 界面空白位置使用的填充物品 |
gui.fill-name | 填充物品名称 |
gui.button-item | 强化按钮物品 |
gui.button-name | 强化按钮名称 |
gui.button-lore | 强化按钮 Lore |
强化按钮占位符
| 占位符 | 说明 |
|---|---|
{need} | 本次强化需要的御魂经验 |
{has} | 玩家当前拥有的御魂经验 |
{need_eco} | 本次强化需要的金币 |
{has_eco} | 玩家当前拥有的金币 |
鉴定消耗
yaml
appraisal-need-exp: 0
appraisal-need-eco: 0| 配置项 | 默认值 | 说明 |
|---|---|---|
appraisal-need-exp | 0 | 每次鉴定需要消耗的御魂经验 |
appraisal-need-eco | 0 | 每次鉴定需要消耗的金币 |
金币消耗通过 Vault 经济系统处理。默认值均为 0,表示默认配置不收取对应资源。
鉴定界面
appraisal-gui 节点负责御魂鉴定界面的标题、填充物品和鉴定按钮。
yaml
appraisal-gui:
title: '&6 御魂鉴定'
fill-item: '160:0'
fill-name: '&7封锁'
button-item: '267:0'
button-name: '&a[点击鉴定]'
button-lore:
- ''
- '&7本次鉴定需要'
- ' &b御魂经验: &6{need}/{has}'
- ' &e消耗金币: &6{need_eco}/{has_eco}'
- ' &6主词条: &f{main_entry}'
- ' &b副词条: &f{entry}'
- ''| 配置项 | 说明 |
|---|---|
appraisal-gui.title | 鉴定界面标题 |
appraisal-gui.fill-item | 界面空白位置使用的填充物品 |
appraisal-gui.fill-name | 填充物品名称 |
appraisal-gui.button-item | 鉴定按钮物品 |
appraisal-gui.button-name | 鉴定按钮名称 |
appraisal-gui.button-lore | 鉴定按钮 Lore |
鉴定按钮占位符
| 占位符 | 说明 |
|---|---|
{need} | 本次鉴定需要的御魂经验 |
{has} | 玩家当前拥有的御魂经验 |
{need_eco} | 本次鉴定需要的金币 |
{has_eco} | 玩家当前拥有的金币 |
{main_entry} | 本次通过鉴定道具指定的主词条 |
{entry} | 本次通过鉴定道具指定的副词条 |
回收界面
recycle-gui 节点负责御魂回收界面的标题、填充物品和回收按钮。默认按钮 Lore 提示该界面每秒刷新一次。
yaml
recycle-gui:
title: '&6 御魂回收'
fill-item: '160:0'
fill-name: '&7封锁'
button-item: '267:0'
button-name: '&a[点击回收]'
button-lore:
- ''
- '&7本次回收可获得:'
- ' &b御魂经验x{amount}'
- ''
- '&7该界面每秒刷新一次'| 配置项 | 说明 |
|---|---|
recycle-gui.title | 回收界面标题 |
recycle-gui.fill-item | 界面空白位置使用的填充物品 |
recycle-gui.fill-name | 填充物品名称 |
recycle-gui.button-item | 回收按钮物品 |
recycle-gui.button-name | 回收按钮名称 |
recycle-gui.button-lore | 回收按钮 Lore |
| 占位符 | 说明 |
|---|---|
{amount} | 当前界面内御魂回收后可获得的御魂经验总量 |
界面物品格式
默认配置使用旧版本的数字 ID 与数据值格式:
yaml
fill-item: '160:0'
button-item: '267:0'配置注释同时确认,高版本可以使用材质名称与数据值格式:
yaml
fill-item: 'APPLE:0'
button-item: 'BOOK:0'三个界面使用相同的物品格式规则。
数值分布
yaml
normal-distribution-offset: 0.25| 配置项 | 默认值 | 说明 |
|---|---|---|
normal-distribution-offset | 0.25 | 词条数值进行正态分布计算时使用的偏移值 |
生成模板和强化模板中的 min、max 数值范围会参与随机数值计算。默认配置建议值为 0.25。
强化名称后缀
yaml
strengthen-name: ' &c+{level}'强化后会在物品名称后追加该文本,{level} 会替换为当前强化等级。
强化模板
强化模板位于 strengthen.<模板 ID>。模板 ID 必须与生成模板对应,否则配置注释明确提示可能出现异常。
yaml
strengthen:
模板1:
multiply-value: false
recycle-exp-ratio: 0.1
need-exp:
1: 10
2: 20
10-15: 100
need-vault:
1: 10
2: 20
10-15: 100
attribute-up-need-level: 3基础配置
| 配置项 | 默认示例 | 说明 |
|---|---|---|
strengthen.<模板 ID>.multiply-value | false | 是否使用乘法强化;false 使用加法,true 使用乘法 |
strengthen.<模板 ID>.recycle-exp-ratio | 0.1 | 回收强化御魂时返还强化经验的比例 |
strengthen.<模板 ID>.need-exp | 等级映射 | 各强化等级所需的御魂经验 |
strengthen.<模板 ID>.need-vault | 等级映射 | 各强化等级所需的 Vault 金币 |
strengthen.<模板 ID>.attribute-up-need-level | 3 | 每提升多少级强化一次随机词条 |
strengthen.<模板 ID>.main-attribute | 属性映射 | 每次升级对主属性增加的数值规则 |
strengthen.<模板 ID>.entry-value | 词条映射 | 随机词条强化时增加的数值规则 |
等级区间
need-exp 与 need-vault 同时支持单级和等级区间:
yaml
need-exp:
1: 10
2: 20
10-15: 100
need-vault:
1-15: 10
16-30: 20| 写法 | 说明 |
|---|---|
1: 10 | 强化到对应等级时消耗 10 |
10-15: 100 | 区间内等级使用相同的消耗值 100 |
御魂经验与金币的等级范围应覆盖允许强化的全部等级,否则没有证据表明缺失等级会自动补全消耗。
主属性强化规则
yaml
main-attribute:
攻击力:
keyword: '&7攻击力'
min: 10
max: 30
weight: 10
command: []| 配置项 | 说明 |
|---|---|
main-attribute.<属性 ID>.keyword | 用于匹配生成模板内对应属性 Lore 的关键词 |
main-attribute.<属性 ID>.min | 单次强化增加值的最小值 |
main-attribute.<属性 ID>.max | 单次强化增加值的最大值 |
main-attribute.<属性 ID>.weight | 当前强化数值配置的权重;主配置示例包含该项 |
main-attribute.<属性 ID>.command | 该属性强化时执行的指令列表;不需要时可使用空列表或删除 |
keyword 应能匹配生成模板的属性 Lore。默认配置通过 &7攻击力、&7防御力、&7生命值 等文本识别需要强化的属性。
副词条强化规则
yaml
entry-value:
暴击几率:
keyword: '&7暴击几率'
min: 1
max: 5
weight: 10
command: []| 配置项 | 说明 |
|---|---|
entry-value.<词条 ID>.keyword | 用于匹配物品 Lore 中该词条的关键词 |
entry-value.<词条 ID>.min | 单次强化增加值的最小值 |
entry-value.<词条 ID>.max | 单次强化增加值的最大值 |
entry-value.<词条 ID>.weight | 该词条被随机强化时使用的权重 |
entry-value.<词条 ID>.command | 该词条强化时执行的指令列表;不需要时可使用空列表或删除 |
keyword 必须与生成模板的 format 保持可匹配关系。例如生成格式为 &7暴击几率+{value}% 时,强化关键词可配置为 &7暴击几率。
生成模板
生成模板位于 template.<模板 ID>,用于鉴定或通过插件功能生成御魂属性。
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模板基础配置
| 配置项 | 默认示例 | 说明 |
|---|---|---|
template.<模板 ID>.check-lore | &7<< 御魂属性待激活 >> | 用于识别待生成或待鉴定御魂的 Lore;匹配后会替换为生成的属性 Lore |
template.<模板 ID>.last-line-lore | Lore 列表 | 鉴定或生成后,插入在属性区域前方的 Lore |
template.<模板 ID>.next-line-lore | Lore 列表 | 鉴定或生成后,插入在属性区域后方的 Lore |
template.<模板 ID>.min-entry | 1 | 最少生成的副词条数量 |
template.<模板 ID>.max-entry | 4 | 最多生成的副词条数量 |
template.<模板 ID>.entry-not-repeated | false | 是否禁止副词条重复 |
template.<模板 ID>.recycle-exp | 100 | 该模板御魂被回收时提供的基础御魂经验 |
template.<模板 ID>.main-attribute | 属性映射 | 可生成的主属性及其数值格式 |
template.<模板 ID>.entry-value | 词条映射 | 可生成的副词条及其数值格式 |
每件御魂由一条主属性和 min-entry 至 max-entry 条副词条组成。
禁止重复时的数量要求
启用 entry-not-repeated: true 时,配置注释要求 entry-value 中可用副词条的数量必须大于 max-entry,否则可能出现严重错误。
主属性生成规则
yaml
main-attribute:
攻击力:
min: 10
max: 30
weight: 10
format: '&7攻击力+{value}'
round: '%.0f'| 配置项 | 说明 |
|---|---|
main-attribute.<属性 ID>.min | 主属性随机值的最小值 |
main-attribute.<属性 ID>.max | 主属性随机值的最大值 |
main-attribute.<属性 ID>.weight | 主属性的随机权重 |
main-attribute.<属性 ID>.format | 写入物品 Lore 的格式,使用 {value} 表示生成数值 |
main-attribute.<属性 ID>.round | 数值格式化规则 |
副词条生成规则
yaml
entry-value:
暴击伤害:
min: 3
max: 30
weight: 10
format: '&7暴击伤害+{value}%'
round: '%.1f'| 配置项 | 说明 |
|---|---|
entry-value.<词条 ID>.min | 副词条随机值的最小值 |
entry-value.<词条 ID>.max | 副词条随机值的最大值 |
entry-value.<词条 ID>.weight | 副词条的随机权重 |
entry-value.<词条 ID>.format | 写入物品 Lore 的格式,使用 {value} 表示生成数值 |
entry-value.<词条 ID>.round | 数值格式化规则 |
数值格式
默认模板使用 Java 格式化写法控制小数位数:
| 格式 | 效果 |
|---|---|
%.0f | 不保留小数位 |
%.1f | 保留一位小数 |
属性格式中的 {value} 会替换为经过 round 格式化的数值。
强化模板与生成模板的对应关系
strengthen 和 template 使用相同的模板 ID 建立对应关系:
yaml
strengthen:
模板1:
multiply-value: false
template:
模板1:
check-lore: '&7<< 御魂属性待激活 >>'配置模板时需要同时检查以下内容:
| 检查项 | 要求 |
|---|---|
| 模板 ID | strengthen 与 template 使用相同 ID |
| 属性 ID | 强化和生成节点中的属性名称保持一致,例如 攻击力 |
| 强化关键词 | keyword 能匹配生成后的 format Lore |
| 鉴定道具词条 | entry-id 与生成模板中的主属性或副词条节点一致 |
| 鉴定道具模板限制 | templates 中填写的 ID 与生成模板 ID 一致 |
扩展模板目录
extra/*.yml 可以继续定义额外的 strengthen 和 template 节点。项目默认提供的 extra/额外配置.yml 使用 模板2 演示扩展方式:
yaml
strengthen:
模板2:
multiply-value: false
recycle-exp-ratio: 0.1
need-exp:
1-15: 10
16-30: 20
need-vault:
1-15: 10
16-30: 20
attribute-up-need-level: 3
template:
模板2:
check-lore: '&7<< 御魂属性待激活2 >>'
min-entry: 1
max-entry: 4
entry-not-repeated: false
recycle-exp: 100扩展文件中的节点结构与 config.yml 相同。不同模板应使用不同的模板 ID 和 check-lore,并在同一扩展文件或已加载配置中提供对应的强化模板。
鉴定道具
鉴定道具.yml 分为主词条道具和副词条道具。插件根据物品名称匹配配置,并用 entry-id 指定本次鉴定生成的词条。
主词条鉴定道具
主词条鉴定道具配置在 main-items,使用时放入鉴定界面第 6 格。
yaml
main-items:
主攻击卷轴:
name: '&6主攻击卷轴'
entry-id: '攻击力'
templates: []副词条鉴定道具
副词条鉴定道具配置在 entry-items,使用时放入鉴定界面第 7 格。
yaml
entry-items:
副暴击卷轴:
name: '&b副暴击卷轴'
entry-id: '暴击几率'
templates: []鉴定道具配置项
| 配置项 | 说明 |
|---|---|
main-items.<道具 ID> | 主词条鉴定道具的唯一配置 ID,不可重复 |
entry-items.<道具 ID> | 副词条鉴定道具的唯一配置 ID,不可重复 |
name | 用于匹配鉴定道具的物品名称 |
entry-id | 指定生成的词条节点名称,必须与生成模板中的节点一致 |
templates | 允许使用该道具的生成模板 ID 列表;空列表表示全局可用 |
限制道具适用模板
yaml
main-items:
主攻击卷轴:
name: '&6主攻击卷轴'
entry-id: '攻击力'
templates:
- '模板1'
- '模板2'当 templates 不为空时,道具只适用于列表中的生成模板。模板不匹配时会使用 主词条道具模板不匹配 或 副词条道具模板不匹配 消息。
默认鉴定道具
项目默认配置包含以下鉴定道具:
| 类型 | 配置 ID | 匹配名称 | 指定词条 |
|---|---|---|---|
| 主词条 | 主攻击卷轴 | &6主攻击卷轴 | 攻击力 |
| 主词条 | 主防御卷轴 | &6主防御卷轴 | 防御力 |
| 主词条 | 主生命卷轴 | &6主生命卷轴 | 生命值 |
| 副词条 | 副暴击卷轴 | &b副暴击卷轴 | 暴击几率 |
| 副词条 | 副攻击卷轴 | &b副攻击卷轴 | 攻击力 |
| 副词条 | 副防御卷轴 | &b副防御卷轴 | 防御力 |
| 副词条 | 副生命卷轴 | &b副生命卷轴 | 生命值 |
| 副词条 | 副暴伤卷轴 | &b副暴伤卷轴 | 暴击伤害 |
默认道具的 templates 均为空,因此默认适用于所有生成模板。