魂玉配置
魂玉配置文件放在插件数据目录的 souljade/ 目录下。示例文件为 示例魂玉.yml。
每个文件可以包含多个顶层节点,每个顶层节点对应一个魂玉 ID。示例配置中的魂玉 ID 为 神器魂玉。
配置结构
yaml
'神器魂玉':
match-name:
- '&c神器魂玉'
init-lore: '&7尚未解封魂玉之力'
appraisal-chance: 0.8
appraisal-eco: '10000'
appraisal-success-commands: []
smelt-success-commands: []
smelet-material:
'MM@魂玉精粹': '5*{count}'
smelet-eco: '10000*(1+{count})'
max-smelet-count: 100
spawn-entry-count: 3
entry:
物理伤害:
lore: '&e物理伤害 {10-20-%.0f}-{20-40-%.0f} &7(强度{strength}&7)'
weight: 10魂玉基础字段
| 字段 | 类型 | 说明 |
|---|---|---|
match-name | 列表 | 匹配魂玉物品名称,可以配置多个名称。 |
init-lore | 字符串 | 未鉴定魂玉的初始描述文本。 |
appraisal-chance | 数值 | 鉴定成功率,使用 0 到 1 的小数表示。 |
appraisal-eco | 字符串 | 鉴定所需金币,支持 PlaceholderAPI 变量和四则运算。 |
appraisal-success-commands | 列表 | 鉴定成功后执行的指令列表。 |
smelt-success-commands | 列表 | 熔铸成功后执行的指令列表。 |
smelet-material | 节点 | 熔铸所需的基础材料。字段名中的 smelet 是插件实际使用的拼写。 |
smelet-eco | 字符串 | 熔铸所需金币,支持 PlaceholderAPI 变量、{count} 和四则运算。 |
max-smelet-count | 整数 | 魂玉允许进行的最大熔铸次数,设置为 -1 时不限制。 |
spawn-entry-count | 整数 | 魂玉生成时抽取的词条数量。 |
entry | 节点 | 词条池,每个子节点对应一个词条 ID。 |
match-name
yaml
match-name:
- '&c神器魂玉'
- '&b高级神器魂玉'插件会根据物品名称匹配魂玉配置。列表中的每个值都是一个可匹配的物品名称。
init-lore
yaml
init-lore: '&7尚未解封魂玉之力'该字段用于设置未鉴定魂玉的初始 Lore 文本,也用于识别未鉴定状态。
appraisal-chance
yaml
appraisal-chance: 0.8鉴定成功率使用 0 到 1 的小数表示。
| 值 | 含义 |
|---|---|
0 | 鉴定不会成功。 |
1 | 鉴定成功率为百分之百。 |
0.8 | 鉴定成功率为百分之八十。 |
appraisal-eco
yaml
appraisal-eco: '10000'鉴定时需要支付的金币数量。该字段支持 PlaceholderAPI 变量和四则运算。
appraisal-success-commands
yaml
appraisal-success-commands:
- 'say {player} 鉴定出了 {souljade}'鉴定成功后执行配置中的指令列表。列表为空时不执行额外指令。
支持的变量如下:
| 变量 | 说明 |
|---|---|
{player} | 玩家名。 |
{item} | 物品名。 |
{souljade} | 魂玉 ID。 |
{count} | 当前熔铸次数。 |
{count_max} | 最大熔铸次数。 |
smelt-success-commands
yaml
smelt-success-commands:
- 'say {player} 熔铸成功'熔铸成功后执行配置中的指令列表。列表为空时不执行额外指令。
支持的变量与 appraisal-success-commands 相同:
| 变量 | 说明 |
|---|---|
{player} | 玩家名。 |
{item} | 物品名。 |
{souljade} | 魂玉 ID。 |
{count} | 当前熔铸次数。 |
{count_max} | 最大熔铸次数。 |
熔铸材料
smelet-material
yaml
smelet-material:
'MM@魂玉精粹': '5*{count}'键使用 插件缩写@物品 ID 的格式,值为材料数量表达式。
支持的插件缩写如下:
| 缩写 | 对应物品来源 |
|---|---|
MM | MythicMobs。 |
NI | NexoItems。 |
SI | Slimefun。 |
ZAP | Zaphkiel。 |
材料数量支持 PlaceholderAPI 变量和四则运算。{count} 表示当前熔铸次数,可以用于让材料消耗随熔铸次数增加。
yaml
smelet-material:
'MM@魂玉精粹': '5*{count}'
'SI@强化粉尘': '2+{count}'smelet-eco
yaml
smelet-eco: '10000*(1+{count})'熔铸时需要支付的金币数量。支持 PlaceholderAPI 变量、{count} 变量和四则运算。
max-smelet-count
yaml
max-smelet-count: 100设置魂玉允许进行的最大熔铸次数。
| 值 | 说明 |
|---|---|
-1 | 不限制熔铸次数。 |
大于等于 0 的数值 | 设置最大熔铸次数。 |
词条生成
spawn-entry-count
yaml
spawn-entry-count: 3设置魂玉生成时从词条池中抽取的词条数量。
熔铸时会从两个魂玉中各抽取一条词条,因此熔铸时实际重新抽取的词条数量为 spawn-entry-count - 2。该值不能低于 2,否则会产生错误。
entry
yaml
entry:
物理伤害:
lore: '&e物理伤害 {10-20-%.0f}-{20-40-%.0f} &7(强度{strength}&7)'
weight: 10
伤害加成:
lore: '&e伤害加成 +{1-10-%.1f}% &7(强度{strength}&7)'
weight: 10entry 下的每个子节点都是一个词条 ID。
| 字段 | 类型 | 说明 |
|---|---|---|
| 词条 ID | 节点名称 | 词条的唯一标识,会写入已生成的魂玉。 |
lore | 字符串 | 词条显示文本。 |
weight | 数值 | 词条抽取权重。 |
词条 ID 投入使用后不要随意修改,否则旧魂玉可能无法通过原词条 ID 识别。
词条数值格式
词条文本中的随机数使用以下格式:
text
{最小值-最大值-格式}例如:
yaml
lore: '&e物理伤害 {10-20-%.0f}-{20-40-%.0f} &7(强度{strength}&7)'格式由以下部分组成:
| 部分 | 说明 |
|---|---|
最小值 | 随机数下限。 |
最大值 | 随机数上限。 |
格式 | 数值格式,例如 %.0f 表示保留零位小数,%.1f 表示保留一位小数。 |
更多配置示例:
yaml
entry:
暴击几率:
lore: '&e暴击几率 +{1-10-%.1f}% &7(强度{strength}&7)'
weight: 10
护甲防御:
lore: '&e护甲防御 +{5-20-%.1f}% &7(强度{strength}&7)'
weight: 10{strength}
在词条 lore 中写入 {strength} 后,插件会替换为该词条的强度显示值。
强度显示方式由主配置文件中的以下配置项控制:
| 配置项 | 说明 |
|---|---|
strengthen-replace-enable | 是否启用自定义强度标签。关闭时显示 1 到 100 的数字。 |
strengthen-replace-text | 自定义强度标签内容,按强度区间配置显示文本。 |
完整字段示例
yaml
'神器魂玉':
match-name:
- '&c神器魂玉'
init-lore: '&7尚未解封魂玉之力'
appraisal-chance: 0.8
appraisal-eco: '10000'
appraisal-success-commands: []
smelt-success-commands: []
smelet-material:
'MM@魂玉精粹': '5*{count}'
smelet-eco: '10000*(1+{count})'
max-smelet-count: 100
spawn-entry-count: 3
entry:
物理伤害:
lore: '&e物理伤害 {10-20-%.0f}-{20-40-%.0f} &7(强度{strength}&7)'
weight: 10
伤害加成:
lore: '&e伤害加成 +{1-10-%.1f}% &7(强度{strength}&7)'
weight: 10
暴击几率:
lore: '&e暴击几率 +{1-10-%.1f}% &7(强度{strength}&7)'
weight: 10
暴击伤害:
lore: '&e暴击伤害 +{5-20-%.1f}% &7(强度{strength}&7)'
weight: 10
护甲防御:
lore: '&e护甲防御 +{5-20-%.1f}% &7(强度{strength}&7)'
weight: 10
生命上限:
lore: '&e生命上限 +{5-20-%.1f}% &7(强度{strength}&7)'
weight: 10
吸血几率:
lore: '&e吸血几率 +{5-20-%.1f}% &7(强度{strength}&7)'
weight: 10
吸血倍率:
lore: '&e吸血倍率 +{5-20-%.1f}% &7(强度{strength}&7)'
weight: 10
闪避几率:
lore: '&e闪避几率 +{5-20-%.1f}% &7(强度{strength}&7)'
weight: 10
护甲穿透:
lore: '&e护甲穿透 +{5-20-%.1f}% &7(强度{strength}&7)'
weight: 10数据库说明
插件支持 MySQL 存储。启用数据库相关功能时,必须安装 LyMySQLCore,并确保插件已经成功连接数据库;否则相关功能不会生效。
数据库开关和连接信息在主配置文件的 mysql 节点中设置。修改数据库开关后需要重启服务器。