Skip to content

魂玉配置

魂玉配置文件放在插件数据目录的 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数值鉴定成功率,使用 01 的小数表示。
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

鉴定成功率使用 01 的小数表示。

含义
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 的格式,值为材料数量表达式。

支持的插件缩写如下:

缩写对应物品来源
MMMythicMobs。
NINexoItems。
SISlimefun。
ZAPZaphkiel。

材料数量支持 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: 10

entry 下的每个子节点都是一个词条 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是否启用自定义强度标签。关闭时显示 1100 的数字。
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 节点中设置。修改数据库开关后需要重启服务器。