配置说明
LyGalaxyStrengthen 的配置由主配置、GUI 配置、普通强化方案、强化直升方案和强化转移方案组成。
配置文件结构
| 路径 | 用途 |
|---|---|
config.yml | 默认物品库、货币显示、状态文本、装备名称格式、保护石、失败保底、Lore 数值模板和权限成功率加成 |
gui/强化界面.yml | 普通强化界面的标题、布局、功能槽位和显示内容 |
gui/直升界面.yml | 强化直升界面的标题、布局、功能槽位和显示内容 |
gui/转移界面.yml | 强化转移界面的标题、布局、功能槽位和显示内容 |
strengthen/*.yml | 普通强化方案,每个文件定义一套装备识别规则和等级规则 |
strengthen-direct/*.yml | 强化直升券方案 |
strengthen-transfer/*.yml | 强化等级转移方案 |
配置文本普遍支持 & 颜色符。GUI 标题和强化脚本中的指令支持 PlaceholderAPI 变量,但需要服务器安装 PlaceholderAPI。
配置注意事项
- YAML 对缩进敏感,请使用空格缩进,不要使用制表符。
- 方案 ID、Lore 模板 ID 和原始值 ID 会参与装备数据识别,投入使用后不要随意修改。
- 普通强化、直升和转移方案均按目录加载,可以通过新增 YAML 文件扩展方案。
- 方案之间的 ID 引用必须完全一致。
- 修改配置后需要使用插件提供的重载功能或重启服务器,具体命令请查看指令页面。
物品库与材料格式
物品库写法
普通强化和强化转移需要的材料使用以下格式:
text
物品库@物品ID#数量示例:
text
MythicMobs@示例强化材料#2| 部分 | 说明 |
|---|---|
物品库@ | 可省略;省略后使用 config.yml 的 item-provider |
物品ID | 对应物品库中的物品标识 |
#数量 | 需要的材料数量 |
已确认支持以下物品库名称:
| 物品库名称 | 说明 |
|---|---|
MythicMobs | MythicMobs 物品 |
LyItemSave | 与 MythicMobs 名称互通 |
AzureFlow | AzureFlow 物品 |
NeonFlash | NeonFlash 物品 |
SX-Item | SX-Item 物品 |
NeigeItems | NeigeItems 物品 |
OriginAttribute | OriginAttribute 物品 |
item-provider 留空或材料未指定有效物品库时,默认使用 MythicMobs。
材料按物品显示名称匹配。扣除材料时会依次检查战利品仓库、LyWarehouse、空间戒指和玩家背包;使用对应来源前,需要安装能够提供该功能的插件。
材料配置示例
yaml
need-items:
- 'MythicMobs@示例强化材料#1'
- 'AzureFlow@另一种材料#2'省略物品库前缀时:
yaml
need-items:
- '示例强化材料#1'此时物品库由 config.yml 的 item-provider 决定。
主配置 config.yml
默认物品库
yaml
item-provider: 'MythicMobs'| 配置项 | 说明 |
|---|---|
item-provider | 材料 ID 没有填写 物品库@ 前缀时使用的默认物品库 |
每项材料也可以单独指定物品库,不受默认值限制:
yaml
need-items:
- 'MythicMobs@示例强化材料#1'
- 'AzureFlow@另一种材料#2'额外货币显示
yaml
currency-display:
names:
'point': '&e点券'
'lyshop@示例强化币': '&d商城强化币'
'cx@示例强化币': '&b变量强化币'
entry: '{name}x{amount}'
separator: '&7'
empty: '无'这组设置只控制额外货币在强化和转移 GUI 中的显示方式,不负责定义实际扣费规则。
| 配置项 | 说明 |
|---|---|
currency-display.names | 将完整货币标识映射为显示名称,匹配时忽略大小写 |
currency-display.entry | 单项货币的显示格式 |
currency-display.separator | 多项货币之间的分隔文本 |
currency-display.empty | 没有额外货币消耗时显示的文本 |
entry 支持以下变量:
| 变量 | 说明 |
|---|---|
{name} | names 中配置的货币昵称;没有配置时显示原货币标识 |
{amount} | 所需货币数量 |
已确认的货币标识格式:
| 标识 | 对应功能 | 需要的插件 |
|---|---|---|
point | PlayerPoints 点券 | PlayerPoints |
lyshop@货币ID | LyShopReload 中对应 ID 的货币 | LyShopReload |
cx@变量ID | CraftX 中对应 ID 的变量货币 | CraftX |
只有安装并正确配置对应插件后,相关货币扣除才可使用。
普通强化状态文本
yaml
strengthen-status-messages:
waiting: '&7等待放入装备'
ready: '&a可强化'
max-level: '&c已达强化上限'
scheme-detection-failed: '&c无法强化'
preview-failed: '&c{message}'这些文本用于普通强化界面的 {status} 变量。
| 配置项 | 触发情况 |
|---|---|
waiting | 尚未放入待强化装备 |
ready | 装备和方案有效,可以执行强化 |
max-level | 装备已经达到方案的最高强化等级 |
scheme-detection-failed | 没有识别到唯一可用的强化方案 |
preview-failed | 无法生成强化结果预览 |
preview-failed 支持 {message},表示预览生成失败的具体原因。
强化失败结果文本
yaml
strengthen-failure-result-texts:
break: '&c破坏'
unchanged: '&a不降级'
downgrade: '&6降{level}级'
entry: '{result}{chance}%'
separator: '&7 '
empty: '无'这些文本用于普通强化界面的 {failure_results} 变量。
| 配置项 | 说明 |
|---|---|
break | 装备破坏结果的名称 |
unchanged | 强化失败但等级不变的名称 |
downgrade | 强化失败并降低等级的名称 |
entry | 单项失败结果的显示格式 |
separator | 多项失败结果之间的分隔文本 |
empty | 当前等级没有失败结果时显示的文本 |
可用变量:
| 位置 | 变量 | 说明 |
|---|---|---|
downgrade | {level} | 失败时降低的强化等级 |
entry | {result} | 格式化后的失败结果名称 |
entry | {chance} | 根据失败结果权重计算出的概率 |
材料充足文本
yaml
material-enough-texts:
enough: '&a√'
not-enough: '&c×'| 配置项 | 说明 |
|---|---|
material-enough-texts.enough | 玩家拥有足够材料时替换 {enough} 的文本 |
material-enough-texts.not-enough | 玩家材料不足时替换 {enough} 的文本 |
普通强化界面和强化转移界面共用这组文本。对应值留空可以隐藏状态文字。
强化装备名称
yaml
strengthen-name-format: '{name} &e+{level}'| 变量 | 说明 |
|---|---|
{name} | 装备原名称 |
{level} | 当前强化等级 |
插件根据此格式生成强化后的装备名称。
保护石消耗方式
yaml
protection-item-consume: 'failure'所有普通强化方案共用这项设置。
| 值 | 说明 |
|---|---|
failure | 只有强化失败且保护石生效时才消耗保护石 |
always | 只要真正执行了强化,无论成功或失败都会消耗保护石 |
保护石用于阻止强化失败造成的降级或装备破坏。各等级可使用的保护石名称需要在强化方案的 protection-item 中配置。
失败保底计算方式
yaml
failure-guarantee-mode: 'add'所有普通强化方案共用这项设置。
| 值 | 计算方式 | 示例 |
|---|---|---|
add | 直接增加成功率百分点 | 原成功率为 40,保底值为 8,结果为 48% |
multiply | 原成功率乘以配置倍率 | 原成功率为 40,保底值为 1.10,结果为 44% |
最终成功率按以下顺序计算:
- 计算强化方案中的基础成功率。
- 应用玩家权限成功率加成。
- 应用装备的连续失败保底。
- 将最终成功率限制在
0-100%。
Lore 数值模板
lore-templates 用于识别装备 Lore 中的原始属性、计算强化数值并重新渲染 Lore。
yaml
lore-templates:
攻击属性:
match: '&7物理攻击: &f{攻击下限}-{攻击上限}'
render: '&7物理攻击: &f{base:攻击下限}-{base:攻击上限}&7(&b+{加成}&7)'
values:
加成:
formula: '({base:攻击上限}+{base:攻击下限}*0.5) * {level} * {coefficient}'
format: '%.0f'模板节点
| 配置项 | 说明 |
|---|---|
lore-templates.模板ID | Lore 模板的唯一 ID,投入使用后不应修改 |
match | 用于查找装备原始 Lore 的匹配格式 |
render | 强化后用于替换原始 Lore 的显示格式 |
values | 需要通过公式计算的数值集合 |
values.数值ID.formula | 数值计算公式 |
values.数值ID.format | 数值输出格式,例如 %.0f 或 %.1f |
模板 ID 和数值 ID 不能包含英文冒号 :。
模板使用规则
强化方案通过 coefficient 中的同名节点引用 Lore 模板。装备只处理自己实际拥有并成功匹配的模板 Lore,不要求装备拥有方案引用的全部 Lore 模板。
例如方案同时配置攻击、生命和暴击模板时:
- 只有攻击 Lore 的装备只处理攻击属性。
- 同时拥有攻击和生命 Lore 的装备会分别处理这两类属性。
- 没有实际匹配到的模板会跳过。
同一方案的各个等级范围仍应填写相同的模板名称,避免装备在升降级过程中使用不同的数据结构。
match 匹配规则
match 中的固定文字、颜色、空格和符号必须与装备 Lore 一致。大括号中的内容是需要保存的原始值 ID,匹配到的内容只能包含数字和小数点。
yaml
match: '&7生命值: &f{生命值}'这条规则会从对应 Lore 中保存 {生命值}。装备强化等级回到 0 级时,会使用首次保存的原始值恢复 Lore。
同一模板可以匹配装备中的多条 Lore。插件会按每条命中的 Lore 分别保存原始值并计算结果。
render 渲染规则
yaml
render: '&7暴击率: &f{base:暴击率}%&7(&b+{加成}%&7)'| 写法 | 说明 |
|---|---|
{base:原始值ID} | 显示当前 Lore 通过 match 保存的原始数值 |
{数值ID} | 显示当前模板 values 中计算出的结果 |
{nbt:节点a.节点b} | 读取装备 NBT 中对应路径的字符串或数值 |
NBT 路径使用点号逐层进入节点。节点不存在时显示 0。
插件会为匹配到的强化属性 Lore 添加专用隐藏标记,用于后续识别。不要在普通 Lore 中手动添加或仿写该标记。
formula 公式
yaml
values:
加成:
formula: '{base:生命值} * {level} * {coefficient}'
format: '%.0f'| 写法 | 说明 |
|---|---|
{base:原始值ID} | 当前 Lore 保存的原始数值 |
{level} | 装备当前强化等级 |
{coefficient} | 强化方案当前等级段为该模板设置的系数 |
{nbt:节点a.节点b} | 装备 NBT 中对应路径的值 |
从 NBT 读取的字符串必须是可参与计算的内容。NBT 节点不存在时按 0 计算。
formula 只能读取当前 Lore 模板、当前匹配序列保存的值,不能跨模板或跨序列读取数据。
不同 Lore 模板可以使用相同的数值 ID,插件会按模板 ID 分开保存和计算。
数值格式
format 使用格式化字符串控制结果精度:
| 示例 | 效果 |
|---|---|
%.0f | 不显示小数 |
%.1f | 保留一位小数 |
权限成功率加成
yaml
permission-chance:
- permission: 'lygalaxystrengthen.chance.vip1'
chance: 0.10
- permission: 'lygalaxystrengthen.chance.vip2'
chance: 0.20| 配置项 | 说明 |
|---|---|
permission | 需要检查的权限节点 |
chance | 成功率提升比例,0.10 表示提高 10% |
计算方式:
text
成功率 × (1 + chance)玩家同时拥有多个已配置权限时,只使用 chance 数值最高的一项,不叠加计算。
普通强化方案 strengthen/*.yml
普通强化界面不会让玩家手动选择方案。玩家放入装备后,插件会检查全部强化方案,根据 equipment-names 识别可用方案,并处理装备实际拥有的模板 Lore。
新装备需要满足以下条件:
- 装备显示名称符合方案的
equipment-names。 - 装备中需要强化的 Lore 能够匹配对应的 Lore 模板。
装备不需要拥有 coefficient 引用的全部模板。未匹配到的模板会跳过。
如果一件装备同时符合多个普通强化方案,插件会拒绝使用并视为方案冲突,避免装备绑定到错误方案。
基础设置
yaml
id: '示例武器'
equipment-names:
- '示例武器'
max-level: 10| 配置项 | 说明 |
|---|---|
id | 强化方案的唯一名称,不能与其他强化方案重复 |
equipment-names | 可以使用该方案的装备名称关键词列表 |
max-level | 方案最高强化等级,必须大于 0 |
equipment-names 中每一项均使用包含匹配,并支持 & 颜色符。未强化过的装备按 0 级处理。
方案 id 还会被强化直升方案、强化转移方案和插件 API 引用,投入使用后不应随意修改。
通用材料
通用材料可以代替一次普通强化需要的 Vault 金币、额外货币和普通材料。
yaml
universal-materials:
示例通用材料:
match: '&d示例通用强化材料'
level-range: '1-8'| 配置项 | 说明 |
|---|---|
universal-materials.名称 | 配置节点名称,仅用于区分规则 |
match | 通用材料必须完全匹配的物品显示名称 |
level-range | 可以使用该材料的目标强化等级或范围 |
level-range 可以填写单个目标等级:
yaml
level-range: '3'也可以填写连续范围:
yaml
level-range: '1-8'玩家需要将通用材料放入强化界面的专用槽位。每次真正执行强化会消耗 1 个,并跳过本次强化的 Vault 金币、额外货币和普通材料消耗。
等级规则
所有强化等级都配置在 level-rules 下。节点可以是单个目标等级,也可以是连续等级范围。
yaml
level-rules:
1-5:
chance: '90 - {level} * 5'
6-10:
chance: '75 - ({level} - 5) * 5'等级规则必须从 1 级连续覆盖到 max-level,不能缺少等级,也不能让范围互相重叠。
{level} 表示本次强化需要到达的目标等级。成功率和费用公式支持小数、括号及对应配置允许的运算符。
基础成功率
yaml
chance: '90 - {level} * 5'chance 是等级规则的必填项。公式支持 {level}、小数、括号以及 +、-、*、/、%、^ 运算。计算结果按百分比处理,并限制在 0-100。
Vault 金币
yaml
need-money: '1000 + {level} * 500'| 配置项 | 说明 |
|---|---|
need-money | 本次强化需要扣除的 Vault 金币,支持 {level} 和计算公式 |
删除 need-money 时默认不消耗 Vault 金币。需要安装 Vault 以及可用的经济插件后,金币扣除才能生效。
普通材料
yaml
need-items:
- 'MythicMobs@示例强化材料#1'
- 'AzureFlow@另一种材料#2'need-items 使用 物品库@物品ID#数量 格式。省略物品库前缀时,使用 config.yml 中的 item-provider。
删除 need-items 或设置为空列表表示不需要普通材料:
yaml
need-items: []额外货币
yaml
need-currency:
point: '10'
lyshop@示例强化币: '5 + {level}'
cx@示例强化币: '2'| 键格式 | 说明 |
|---|---|
point | PlayerPoints 点券 |
lyshop@货币ID | LyShopReload 货币 |
cx@变量ID | CraftX 变量货币 |
货币数量支持 {level} 和计算公式,计算后取整数。数量填写 0 时不会扣除。删除整个 need-currency 时,各类额外货币均按 0 处理。
连续失败保底
yaml
failure-guarantee:
'1-2': 3
'3-4': 8
'5-max': 15| 范围写法 | 说明 |
|---|---|
'3' | 连续失败正好 3 次时生效 |
'1-2' | 连续失败 1-2 次时生效 |
'5-max' | 连续失败达到 5 次后持续生效 |
不同范围不能重叠。没有匹配到范围时,不增加成功率。使用加法还是倍率计算,由 config.yml 的 failure-guarantee-mode 决定。
连续失败次数保存在装备中:
- 强化概率失败后增加
1。 - 强化成功后清零。
- 保护石生效时仍然属于强化失败,会增加失败次数。
- 金币、额外货币或材料不足时没有真正执行强化,不增加失败次数。
删除 failure-guarantee 表示当前等级段不启用失败保底。
Lore 强化系数
yaml
coefficient:
攻击属性: '1.0 + ({level} - 1) * 0.05'
生命属性: '1.0'
暴击属性: '1.0'| 配置内容 | 说明 |
|---|---|
| 左侧节点 | 必须与 config.yml 中的 Lore 模板 ID 完全相同 |
| 右侧公式 | 传入对应 Lore 模板的 {coefficient} |
系数必须使用引号包裹,可以使用 {level}、小数、括号和 +、-、*、/ 运算。
装备只处理实际匹配到的模板 Lore。方案引用某个模板,不代表所有装备都必须拥有该模板对应的 Lore。
同一个强化方案的每个等级范围应填写相同的 Lore 模板名称,避免不同等级使用不一致的数据结构。
强化失败结果
yaml
failure-results:
- '0#70'
- '-1#25'
- 'break#5'格式:
text
结果#权重| 结果 | 说明 |
|---|---|
0 | 强化失败,但等级不变 |
-1 | 强化失败并降低 1 级 |
-2 | 强化失败并降低 2 级 |
break | 强化失败并破坏装备 |
插件会根据权重随机选择失败结果。权重越高越容易被选中,权重总和不要求等于 100。
保护石
yaml
protection-item:
- '&b示例强化保护石'
- '&b另一种强化保护石'列表内容必须与保护石的物品显示名称完全相同。可以为同一等级段配置多种保护石。
删除 protection-item 表示当前等级段不能使用保护石。保护石的消耗时机由 config.yml 中的 protection-item-consume 控制。
强化触发脚本
每个等级规则可以通过 scripts 配置强化结算后的 Lore 操作和指令。
yaml
scripts:
首次达到5级:
type: 'success'
condition: '{highest_level} < {current_level} && {current_level} == 5'
action:
- "添加lore('&a首次达到 5 级')"scripts 下的节点名称仅用于区分规则,可以自行命名。
脚本触发类型
type | 触发情况 |
|---|---|
attempt | 完成费用扣除后的任意强化结果 |
success | 强化成功 |
failure | 任意概率失败 |
protected-failure | 强化失败并由保护石阻止降级或破坏 |
unchanged-failure | 强化失败但等级不变 |
downgrade-failure | 强化失败并降低等级 |
break-failure | 强化失败并破坏装备 |
cost-insufficient | 金币、额外货币或普通材料不足,且尚未扣除任何内容 |
脚本条件
condition 不填写时默认通过。条件支持:
&&||><>=<===!=- 四则运算
- PlaceholderAPI 变量
已确认可用的强化数据变量:
| 变量 | 说明 |
|---|---|
{highest_level} | 本次操作开始前,装备保存的历史最高强化等级 |
{before_level} | 本次操作前的强化等级 |
{current_level} | 本次结算后的强化等级 |
{target_level} | 本次尝试到达的目标等级 |
{failure_count} | 连续失败次数 |
{level_change} | 本次操作造成的等级变化 |
插件会先完成整次强化结算和全部条件判断,再统一修改 Lore,最后执行指令。
脚本动作
| 写法 | 说明 |
|---|---|
添加lore('内容') | 将一行内容添加到 Lore 末尾 |
插入lore前(定位lore('原内容'), '新内容') | 在指定可见 Lore 前插入内容 |
插入lore后(定位lore('原内容'), '新内容') | 在指定可见 Lore 后插入内容 |
替换lore(定位lore('原内容'), '新内容') | 替换指定可见 Lore |
删除lore(定位lore('原内容')) | 删除指定可见 Lore |
控制台指令('指令') | 由控制台执行指令 |
管理员指令('指令') | 临时以管理员身份执行玩家指令,完成后恢复原状态 |
玩家指令('指令') | 由玩家执行指令 |
建议使用 YAML 双引号包裹整条动作,并在函数参数中使用单引号:
yaml
action:
- "插入lore后(定位lore('&7原有内容'), '&a新增内容')"
- "控制台指令('say %player_name% 强化成功')"Lore 定位会忽略插件添加的隐藏标记,并精确匹配第一条符合条件的可见 Lore。找不到定位 Lore 时,对应的插入、替换或删除动作会跳过。
替换强化属性 Lore 时会保留隐藏标记。删除强化属性 Lore 后,对应属性将无法继续按照原模板处理,装备也可能无法正常生成强化结果。
指令动作支持 PlaceholderAPI 变量,但需要安装 PlaceholderAPI。
没有脚本时可以使用空节点:
yaml
scripts: {}极简普通强化方案
普通强化方案只强制要求基础识别信息、最高等级、连续的等级规则和每段的 chance。不需要的费用、失败保底、保护石和脚本可以省略。
yaml
id: '极简强化示例'
equipment-names:
- '极简强化装备'
max-level: 100
level-rules:
1-100:
chance: '100'
need-money: '100'
need-items:
- 'MythicMobs@示例强化材料#1'
coefficient:
极简强化属性: '1.0'强化直升方案 strengthen-direct/*.yml
强化直升界面会根据放入的直升券名称自动识别方案。
yaml
id: '示例强化直升券'
match: '&6示例强化直升券'
target-level: 10
chance: 100
strengthen-schemes:
- '示例武器'| 配置项 | 说明 |
|---|---|
id | 直升方案的唯一名称,不能与其他直升方案重复 |
match | 用于识别直升券显示名称的关键词,支持 & 颜色符 |
target-level | 直升成功后装备到达的等级 |
chance | 直升成功率,范围为 0-100 |
strengthen-schemes | 允许使用该直升券的普通强化方案 ID |
match 使用包含匹配。例如填写“直升券”时,显示名称中包含这段文字的物品都可能匹配。
target-level 不能超过装备所属普通强化方案的 max-level。
允许全部普通强化方案使用时,可以设置为空列表:
yaml
strengthen-schemes: []装备必须已经拥有强化数据,并且当前等级低于 target-level。所有检查通过后才会消耗直升券;进入成功率判断后,无论成功或失败都会消耗 1 张直升券。
强化转移方案 strengthen-transfer/*.yml
强化转移需要来源装备和目标装备都已拥有强化数据,并满足以下条件:
- 来源装备等级高于目标装备等级。
- 来源装备等级不超过目标强化方案的
max-level。 - 来源方案到目标方案的转移关系已配置。
基础设置
yaml
id: '示例强化转移'| 配置项 | 说明 |
|---|---|
id | 转移方案的唯一名称,不能与其他转移方案重复 |
允许转移的方案
yaml
transfer-strengthen-schemes:
示例武器:
schemes:
- '示例武器'
need-money: 100000
need-items:
- 'MythicMobs@测试物品#10'transfer-strengthen-schemes 下的节点是来源装备的普通强化方案 ID。
| 配置项 | 说明 |
|---|---|
transfer-strengthen-schemes.来源方案ID.schemes | 允许接收等级的目标强化方案 ID 列表 |
need-money | 这条转移关系需要扣除的 Vault 金币 |
need-items | 这条转移关系需要消耗的普通材料 |
need-currency | 这条转移关系需要消耗的额外货币 |
删除 need-money 时默认不扣除 Vault 金币。删除 need-items 或设置为空列表时默认不需要普通材料。
额外货币写法与普通强化方案相同:
yaml
need-currency:
point: '10'
lyshop@示例强化币: '5'
cx@示例强化币: '{level} * 2'转移方案中的 {level} 表示来源装备的强化等级。货币公式计算后取整数,填写 0 时不会扣除。删除整个 need-currency 时,各类额外货币均按 0 处理。
随机损失等级
yaml
level-loss:
min: 0
max: 4| 配置项 | 说明 |
|---|---|
level-loss.min | 转移时最少损失的强化等级 |
level-loss.max | 转移时最多损失的强化等级 |
最小值和最大值都包含在随机范围内。例如 0-4 表示可能随机损失 0、1、2、3 或 4 级。转移后的结果最低为 1 级。
来源装备处理
yaml
destroy-source-item: true| 值 | 说明 |
|---|---|
true | 转移成功后删除来源装备 |
false | 保留来源装备,但将其强化等级恢复为 0 级 |
GUI 配置 gui/*.yml
三个 GUI 文件都通过 title、layout、button 和 slot 定义界面。
通用结构
yaml
title: '&6界面标题'
layout:
- '#########'
- '#########'
- '##A#B#C##'
- '#########'
- '#########'
- '####Y###Z'
button:
equipment: A
result: C
button: Y
close: Z
slot:
'#':
item: '160:15'
name: ' '| 配置项 | 说明 |
|---|---|
title | 界面标题,支持 & 颜色符、界面变量和 PlaceholderAPI 变量 |
layout | 界面布局,每个字符代表一种槽位 |
button | 将插件固定功能映射到布局字符 |
slot | 设置每个布局字符对应的物品和显示内容 |
每行布局最多包含 9 个字符,最多配置 6 行。
button 左侧的功能名称是插件固定名称,不应修改。右侧字符可以调整,但必须存在于 layout 中,并在 slot 下配置对应节点。
槽物品设置
yaml
slot:
'A':
item: '160:1'
name: '&6放入装备'
lore:
- ''
- '&7点击背包中的装备即可放入'
template:
- ''
- '&e当前等级: &f{current_level}'| 配置项 | 说明 |
|---|---|
item | 空槽位使用的物品,可以填写 ANVIL:0、160:15 等“材质:子 ID” |
name | 空槽位物品名称 |
lore | 空槽位物品说明 |
template | 临时追加到玩家放入的真实物品或预览物品后的说明 |
template 只改变 GUI 中的显示,不会修改玩家实际物品。
普通强化界面
文件:gui/强化界面.yml
普通强化固定使用该文件,不需要配置界面 ID。打开界面时不预先选择强化方案,放入装备后会按装备名称自动匹配方案,并读取装备实际拥有的模板 Lore。
固定按钮
button 键 | 用途 |
|---|---|
equipment | 待强化装备槽位 |
result | 强化成功结果预览槽位 |
protection-item | 保护石槽位 |
universal-material | 通用强化材料槽位 |
materials | 普通材料展示槽位 |
button | 确认强化按钮 |
close | 关闭界面按钮 |
layout 中存在几个材料字符,界面就最多显示几种普通材料。
装备与预览变量
| 位置 | 变量 | 说明 |
|---|---|---|
待强化装备 template | {current_level} | 当前强化等级 |
结果预览 template | {target_level} | 本次成功后的目标等级 |
材料变量
| 变量 | 说明 |
|---|---|
{need} | 需要的材料数量 |
{current} | 玩家当前拥有的数量 |
{enough} | 材料是否足够,对应文本由 material-enough-texts 控制 |
材料槽位会直接显示强化方案中的真实材料,因此不需要配置 item、name 和 lore。
强化按钮变量
| 变量 | 说明 |
|---|---|
{current_level} | 当前强化等级 |
{max_level} | 方案最高强化等级 |
{failure_count} | 当前连续失败次数 |
{base_chance} | 方案计算出的基础成功率 |
{permission_contribution} | 权限加成实际增加的百分点 |
{guarantee_contribution} | 失败保底实际增加的百分点 |
{chance} | 最终成功率 |
{need_money} | 所需 Vault 金币 |
{need_currencies} | 所需额外货币 |
{failure_results} | 当前等级可能出现的失败结果 |
{status} | 当前强化状态 |
base_chance、permission_contribution 和 guarantee_contribution 三项共同组成最终成功率。
强化直升界面
文件:gui/直升界面.yml
强化直升固定使用该文件,不需要配置界面 ID。放入装备和直升券后,插件会自动识别直升方案。
固定按钮
button 键 | 用途 |
|---|---|
equipment | 待直升装备槽位 |
direct-item | 强化直升券槽位 |
result | 直升结果预览槽位 |
button | 确认使用直升券按钮 |
close | 关闭界面按钮 |
可用变量
| 位置 | 变量 | 说明 |
|---|---|---|
装备 template | {current_level} | 装备当前强化等级 |
直升券 template | {target_level} | 直升方案目标等级 |
直升券 template | {chance} | 直升成功率 |
结果 template | {target_level} | 直升成功后的等级 |
| 确认按钮 | {current_level} | 装备当前等级 |
| 确认按钮 | {target_level} | 直升目标等级 |
| 确认按钮 | {chance} | 直升成功率 |
| 确认按钮 | {status} | 当前直升状态 |
进入成功率判断后,无论结果如何都会消耗 1 张直升券。
强化转移界面
文件:gui/转移界面.yml
强化转移固定使用该文件,不需要配置界面 ID。放入来源装备和目标装备后,插件会自动识别可用的转移关系。
固定按钮
button 键 | 用途 |
|---|---|
source | 提供强化等级的来源装备槽位 |
target | 接收强化等级的目标装备槽位 |
result | 转移结果预览槽位 |
materials | 转移材料展示槽位 |
button | 确认转移按钮 |
close | 关闭界面按钮 |
layout 中存在几个材料字符,界面就最多显示几种转移材料。
装备与预览变量
| 位置 | 变量 | 说明 |
|---|---|---|
来源装备 template | {source_level} | 来源装备强化等级 |
目标装备 template | {target_level} | 目标装备当前强化等级 |
结果预览 template | {result_min_level} | 转移后可能得到的最低等级 |
结果预览 template | {result_max_level} | 转移后可能得到的最高等级 |
预览只显示可能得到的等级范围,实际等级在玩家确认转移时随机确定。
材料变量
| 变量 | 说明 |
|---|---|
{need} | 需要的材料数量 |
{current} | 玩家当前拥有的数量 |
{enough} | 材料是否足够,对应文本由 material-enough-texts 控制 |
确认按钮变量
| 变量 | 说明 |
|---|---|
{loss_min} | 最少随机损失等级 |
{loss_max} | 最多随机损失等级 |
{need_money} | 所需 Vault 金币 |
{need_currencies} | 所需额外货币 |
{destroy_source_item} | 转移完成后是否删除来源装备 |
{status} | 当前转移状态 |
配置关联关系
修改配置时需要保持以下引用一致:
| 来源 | 引用目标 |
|---|---|
强化方案 coefficient 的节点名称 | config.yml 的 lore-templates 模板 ID |
直升方案 strengthen-schemes | 普通强化方案的 id |
转移方案 transfer-strengthen-schemes 来源节点 | 普通强化方案的 id |
转移关系中的 schemes | 普通强化方案的 id |
currency-display.names 的键 | 方案 need-currency 中使用的完整货币标识 |
GUI button 的字符 | 同一文件 layout 和 slot 中的字符 |
已经投入使用的强化方案 ID、Lore 模板 ID 和原始值 ID 不应随意修改,否则已有装备保存的数据可能无法继续与当前配置对应。