常见问题
装备无法放入强化界面
普通强化不会让玩家手动选择方案。插件会根据装备显示名称,自动检查 strengthen 目录中的全部强化方案。
请依次检查:
| 检查项 | 说明 |
|---|---|
equipment-names | 装备显示名称必须包含其中任意一项,支持 & 颜色符 |
coefficient | 至少应有一个被方案引用的 Lore 模板能够在装备上匹配 |
lore-templates.<模板ID>.match | 固定文字、颜色、空格和符号必须与装备 Lore 一致 |
| 数值位置 | {数值ID} 对应的内容只能包含数字和小数点 |
| 方案冲突 | 如果装备同时符合多个强化方案,插件会拒绝放入并列出冲突方案 |
coefficient 中引用的模板不是全部必需。插件只处理装备实际拥有并成功匹配的模板 Lore,缺少的模板会跳过。
如果名称符合,但装备上没有任何可用的模板 Lore,则无法生成有效的强化属性预览。
装备提示匹配到多个强化方案
一件装备同时符合多个 strengthen 方案时,插件会拒绝绑定,避免将强化数据写入错误的方案。
检查冲突方案中的以下内容:
equipment-names是否使用了范围过大的名称片段。- 不同方案是否引用了相同的 Lore 模板。
- 不同装备类型是否使用了相同的名称和属性 Lore。
- 极简方案与普通方案的名称匹配内容是否存在包含关系。
应让每类装备只能符合一个强化方案。可以调整名称匹配内容,或为不同方案使用能够区分装备的 Lore 模板。
装备名称符合要求,为什么仍然无法强化
equipment-names 只是方案识别条件之一。装备还需要拥有至少一条能够被方案 coefficient 引用模板匹配的 Lore。
例如方案同时配置了“攻击属性”“生命属性”和“暴击属性”,装备可以只拥有其中一项或两项。缺少的属性会跳过,成功匹配的属性会正常保存和计算。
如果三种模板都无法匹配,则无法生成有效的强化属性。
装备缺少部分属性 Lore,可以强化吗
可以。强化方案会按装备实际拥有的模板 Lore 处理属性,不要求装备拥有 coefficient 中的全部模板。
例如方案配置:
yaml
coefficient:
攻击属性: '1.0'
生命属性: '1.0'
暴击属性: '1.0'只有攻击 Lore 的装备只会强化攻击属性;没有匹配到的生命和暴击模板会被跳过。
同一强化方案的各个 level-rules 等级段仍应填写相同的模板名称,避免装备升到不同等级段后出现属性处理不一致。
Lore 看起来相同,为什么仍然无法匹配
Lore 匹配会区分固定文字、颜色、空格和符号。请重点检查:
- 配置使用的
&颜色符是否与物品实际颜色一致。 - 冒号前后、数值两侧是否存在额外空格。
- 百分号、连字符和其他符号是否一致。
{数值ID}所在位置是否混入了非数字内容。match是否错误包含了强化后才会生成的额外文字。
match 用于识别并保存装备的原始数值,render 用于生成强化后的显示内容,两者可以使用不同的固定文字、颜色和符号。
例如:
yaml
match: '&7生命值: &f{生命值}'
render: '&7生命值: &f{base:生命值}&7(&b+{加成}&7)'同一个 Lore 模板匹配到多条 Lore,会怎样处理
插件会为每条成功匹配的 Lore 分别保存和计算数值。同一个模板命中的多条 Lore 不会共用同一份原始值。
公式中的 {base:数值ID} 只能读取当前模板、当前 Lore 序列保存的原始值,不能读取其他模板或其他 Lore 序列的数据。
修改 Lore 模板 ID 后,旧装备无法正常使用
lore-templates 下的模板 ID 会参与强化数据标记和数值保存。模板投入使用后不应随意更名。
修改模板 ID 可能导致已经强化过的装备无法继续读取原有数据。需要调整显示内容时,优先修改模板内部的 match、render、values 或公式,不要直接重命名正在使用的模板 ID。
模板 ID 和数值 ID 都不能包含英文冒号 :。
装备降回 0 级后,属性会怎样处理
插件首次识别装备时,会保存 match 捕获到的原始数值。装备降到 0 级后,会使用保存的原始值恢复对应 Lore。
如果旧装备的强化数据标记、模板 ID 或相关 Lore 已被其他插件修改,可能无法正常恢复或继续强化。
转移方案配置 destroy-source-item: false 时,来源装备会保留并恢复为 0 级,同样会使用已经保存的原始属性值重新生成 Lore。
强化后的装备名称不正确
强化后的名称由 config.yml 中的 strengthen-name-format 控制:
| 变量 | 内容 |
|---|---|
{name} | 装备原名称 |
{level} | 当前强化等级 |
默认格式为:
yaml
strengthen-name-format: '{name} &e+{level}'如果名称出现重复等级文本,请检查装备原名称中是否已经包含由其他插件添加的强化等级。
强化材料无法识别
材料格式为 物品库@物品ID#数量。如果省略 物品库@,插件会读取 config.yml 的 item-provider。
例如:
yaml
need-items:
- 'MythicMobs@示例强化材料#2'请检查:
| 检查项 | 说明 |
|---|---|
| 物品库名称 | 必须是插件支持的物品来源 |
| 物品 ID | 必须能被对应物品库正常读取 |
| 数量 | 写在 # 后,并且应为有效数量 |
| 默认物品库 | 未写前缀时检查 item-provider |
| 物品显示名称 | 统计和扣除材料时按显示名称匹配 |
可配置的默认物品库名称包括:
| 名称 | 说明 |
|---|---|
MythicMobs | MythicMobs 物品 |
LyItemSave | 与 MythicMobs 名称互通 |
AzureFlow | AzureFlow 物品 |
NeonFlash | NeonFlash 物品 |
SX-Item | SX-Item 物品 |
NeigeItems | NeigeItems 物品 |
OriginAttribute | OriginAttribute 物品 |
item-provider 留空时默认使用 MythicMobs。
材料明明足够,界面却显示不足
普通材料按物品显示名称匹配。请确认玩家持有的物品与物品库生成的目标材料名称一致,包括颜色和其他格式。
插件会按以下顺序查找并扣除材料:
- 战利品仓库。
- LyWarehouse。
- 空间戒指。
- 玩家背包。
只有服务器实际安装并正常启用了对应功能来源时,相关位置中的物品才可能被识别。
界面材料槽可使用以下变量排查:
| 变量 | 内容 |
|---|---|
{need} | 需要数量 |
{current} | 当前识别数量 |
{enough} | 数量是否足够的状态文字 |
为什么强化时没有扣除金币
只有当前目标等级规则配置了 need-money,并且公式计算结果大于 0 时,才需要扣除 Vault 金币。删除 need-money 时默认不需要金币。
同时检查服务器是否安装并正常启用了 Vault 及可用的经济插件。Vault 属于软依赖,不使用金币消耗时不要求安装。
如果本次使用了有效的通用强化材料,则不会扣除 Vault 金币、额外货币和普通材料。
为什么额外货币没有生效
额外货币配置在强化等级规则或转移关系的 need-currency 中:
| 标识格式 | 对应来源 |
|---|---|
point | PlayerPoints |
lyshop@货币ID | LyShop 货币 |
cx@变量ID | CraftX 变量货币 |
请确认:
- 对应插件已经安装并正常启用。
- 货币 ID 与实际配置一致。
- 货币数量公式能够正常计算。
- 计算后的整数数量大于
0。 - 当前操作命中了包含该
need-currency的等级规则或转移关系。
删除整个 need-currency 时,所有额外货币都按 0 处理。
currency-display.names 只控制界面中的显示昵称,不会修改实际使用的货币标识。昵称匹配忽略大小写,但建议与 need-currency 中的完整标识保持一致。
使用通用材料后,为什么没有扣除其他消耗
这是通用强化材料的正常效果。玩家在强化界面的专用槽位放入有效通用材料后,本次强化不会消耗:
- Vault 金币。
need-currency配置的额外货币。need-items配置的普通材料。
每次真正执行强化会消耗一个通用材料。通用材料必须满足物品显示名称完全匹配,并且本次准备到达的目标等级处于其 level-range 范围内。
通用强化材料无法使用
请检查强化方案中的 universal-materials:
| 配置项 | 要求 |
|---|---|
match | 必须与物品显示名称完全相同,颜色符使用 & |
level-range | 必须包含本次准备到达的目标等级 |
| 放置位置 | 必须放入强化界面的通用材料专用槽位 |
level-range 可以填写单个等级,也可以填写连续范围:
yaml
universal-materials:
示例通用材料:
match: '&d示例通用强化材料'
level-range: '1-8'这里的等级指目标等级。例如装备当前是 7 级,准备强化到 8 级时,需要匹配等级 8。
权限成功率没有叠加
permission-chance 会检查玩家拥有的全部配置权限,但只采用 chance 数值最高的一项,不会把多个权限数值相加。
默认示例权限为:
| 权限 | 加成值 |
|---|---|
lygalaxystrengthen.chance.vip1 | 0.10 |
lygalaxystrengthen.chance.vip2 | 0.20 |
权限加成为乘法提高基础成功率:
text
权限加成后的成功率 = 基础成功率 × (1 + chance)例如基础成功率为 40%,权限配置的 chance 为 0.10,权限加成后为 44%,即实际增加 4 个百分点。
最终成功率是怎样计算的
成功率按以下顺序处理:
- 计算当前目标等级的基础
chance。 - 应用玩家拥有的最高一项权限成功率加成。
- 根据装备的连续失败次数应用失败保底。
- 将最终结果限制在
0%到100%。
强化界面中的以下变量用于分别显示计算结果:
| 变量 | 内容 |
|---|---|
{base_chance} | 基础成功率 |
{permission_contribution} | 权限实际增加的百分点 |
{guarantee_contribution} | 保底实际增加的百分点 |
{chance} | 最终成功率 |
失败保底为什么没有增加成功率
检查当前目标等级的规则是否配置了 failure-guarantee,以及装备保存的连续失败次数是否命中了对应范围。
范围可以写成:
| 写法 | 含义 |
|---|---|
'3' | 第 3 次连续失败 |
'1-2' | 第 1 至第 2 次连续失败 |
'5-max' | 从第 5 次连续失败开始 |
不同范围不能重叠。未匹配到任何范围时,不会增加成功率。
此外,金币、额外货币或普通材料不足时,强化没有真正执行,因此不会增加连续失败次数。
failure-guarantee-mode 的两种模式有什么区别
| 模式 | 计算方式 | 示例 |
|---|---|---|
add | 直接增加成功率百分点 | 40% 加 8 后为 48% |
multiply | 成功率乘以配置倍率 | 40% 乘 1.10 后为 44% |
该设置由所有强化方案共用。修改模式后,应同时检查各等级规则中的保底数值是否仍符合预期。
默认示例使用:
yaml
failure-guarantee-mode: 'add'连续失败次数什么时候增加或清零
- 强化进入成功率判断并失败后,连续失败次数增加
1。 - 强化成功后,连续失败次数清零。
- 保护石生效时仍属于强化失败,因此仍会增加失败次数。
- 金币、额外货币或普通材料不足时,强化尚未真正执行,不增加失败次数。
失败次数保存在装备中,而不是按玩家单独保存。将装备交给其他玩家不会重新计算失败次数。
强化失败后为什么没有降级
强化失败结果由当前等级规则的 failure-results 随机选择。支持的结果包括:
| 配置值 | 结果 |
|---|---|
0 | 等级不变 |
-1 | 降低 1 级 |
-2 | 降低 2 级 |
break | 装备被破坏 |
# 后的数字是随机权重。权重越大,结果越容易被选中,不要求总和等于 100。
例如:
yaml
failure-results:
- '0#70'
- '-1#25'
- 'break#5'如果玩家放入了当前目标等级允许使用的保护石,强化失败时不会降级或破坏装备。
保护石为什么无法放入或没有生效
保护石必须满足以下条件:
- 当前目标等级所在规则配置了
protection-item。 - 保护石显示名称与配置内容完全一致。
- 颜色、空格和符号一致。
- 保护石放入强化界面的保护石专用槽位。
保护石只在强化失败时防止降级或破坏,不会提高成功率,也不会让强化必定成功。
如果失败结果原本就是等级不变,保护石不会产生额外的等级效果。
保护石什么时候消耗
由 config.yml 的 protection-item-consume 控制:
| 配置值 | 消耗时机 |
|---|---|
failure | 只有强化失败时消耗 |
always | 只要真正执行强化,无论成功或失败都消耗 |
默认示例为:
yaml
protection-item-consume: 'failure'金币、额外货币或普通材料不足而未真正执行强化时,不会进入正常强化结算。
强化达到最高等级后还能继续强化吗
不能。装备达到所属强化方案的 max-level 后,界面状态会显示已达强化上限,不再生成更高等级的强化预览。
同时检查 level-rules 是否从 1 级连续覆盖到 max-level。等级规则不能漏级,也不能重复覆盖同一个目标等级。
例如 max-level: 10 时,可以使用 1-5 与 6-10 两段,但不能遗漏第 6 级或让两个范围同时包含第 5 级。
强化直升券无法识别
直升券通过 strengthen-direct 目录中方案的 match 识别,匹配方式为物品显示名称包含匹配。
请检查:
- 直升券名称是否包含方案的
match内容。 - 颜色符是否一致。
- 方案
id是否与其他直升方案重复。 target-level是否没有超过装备强化方案的max-level。- 装备是否属于
strengthen-schemes允许的强化方案。
strengthen-schemes: [] 表示允许所有强化方案使用该直升券。
强化直升无法执行
用于直升的装备必须已经拥有强化数据,并且当前等级低于直升方案的 target-level。
即使装备名称和 Lore 能匹配普通强化方案,尚未写入强化数据的全新装备也不能直接使用直升券。
还应检查:
| 检查项 | 要求 |
|---|---|
| 装备方案 | 必须在 strengthen-schemes 允许范围内 |
| 当前等级 | 必须低于 target-level |
| 目标等级 | 不能超过装备方案的 max-level |
| 直升券 | 显示名称必须包含方案的 match |
直升失败后为什么仍然消耗了直升券
所有前置检查通过后,操作才会进入成功率判断。一旦进入成功率判断,无论最终成功还是失败,都会消耗一张直升券。
如果装备、直升券或方案条件在检查阶段不符合要求,则不会进入有效操作。
强化转移无法执行
强化转移需要同时满足以下条件:
| 条件 | 要求 |
|---|---|
| 来源装备 | 已有强化数据 |
| 目标装备 | 已有强化数据 |
| 等级关系 | 来源等级高于目标等级 |
| 方案关系 | 来源与目标方案存在于 transfer-strengthen-schemes 的允许关系中 |
| 等级上限 | 来源等级不能超过目标强化方案的 max-level |
| 操作消耗 | 金币、额外货币和普通材料满足方案要求 |
如果来源等级不高于目标等级,或来源等级超过目标方案能够接收的最高等级,转移不会执行。
转移后的等级为什么低于来源等级
转移时会根据 level-loss.min 和 level-loss.max 随机扣除强化等级,两个边界都包含在随机范围内。
例如:
yaml
level-loss:
min: 0
max: 4可能随机损失 0、1、2、3 或 4 级。转移结果最低为 1 级。
界面中的结果预览显示可能得到的等级范围,实际等级会在点击转移时随机确定。
转移后来源装备为什么消失了
来源装备的处理方式由转移方案的 destroy-source-item 控制:
| 配置值 | 处理结果 |
|---|---|
true | 转移成功后来源装备消失 |
false | 来源装备保留,但强化等级恢复为 0 级 |
修改该配置前,应确认服务器希望采用哪种装备回收规则。
转移材料或货币无法扣除
转移关系可以分别配置 need-money、need-items 和 need-currency。请确认当前来源方案与目标方案命中了正确的转移关系。
| 配置项 | 用途 |
|---|---|
need-money | Vault 金币 |
need-items | 普通材料,格式为 物品库@物品ID#数量 |
need-currency.point | PlayerPoints 点券 |
need-currency.lyshop@货币ID | LyShop 货币 |
need-currency.cx@变量ID | CraftX 变量货币 |
转移方案中的 {level} 表示来源装备等级。删除对应配置时,该项默认不消耗。
GUI 中的材料数量或状态文字显示不正确
材料展示使用以下变量:
| 变量 | 内容 |
|---|---|
{need} | 需要数量 |
{current} | 当前识别数量 |
{enough} | 数量是否足够的状态文字 |
{enough} 的显示内容由 config.yml 的以下配置控制:
yaml
material-enough-texts:
enough: '&a√'
not-enough: '&c×'两项支持 & 颜色符,留空可以隐藏对应状态文字。
如果 {current} 数量不正确,应优先排查材料物品库、物品显示名称以及物品所在存储位置是否能够被插件识别。
GUI 标题中的 PlaceholderAPI 变量没有替换
强化、直升和转移界面的标题支持 PlaceholderAPI 变量,但 PlaceholderAPI 属于软依赖。
请确认:
- 服务器已经安装并正常启用 PlaceholderAPI。
- 对应变量扩展可用。
- 变量写法正确。
- 变量所属插件已经正常加载。
未安装 PlaceholderAPI 时,不应依赖其变量完成界面标题显示。
GUI 布局修改后出现空槽或按钮失效
GUI 的 button 节点用于将固定功能映射到 layout 字符,slot 节点用于设置对应字符的显示物品。
请检查:
- 每行
layout最多包含 9 个字符。 layout最多包含 6 行。button右侧填写的字符存在于layout中。slot节点名称与layout使用的字符一致。- 不要修改
button左侧的固定按钮名称。 - 材料槽字符出现几次,界面最多就能展示几种材料。
例如普通强化界面的 equipment: A 表示字符 A 是待强化装备槽,必须同时在 layout 和 slot.A 中存在。
GUI 的 template 会修改真实物品吗
不会。GUI 配置中的 template 只会临时追加到界面内物品的显示 Lore,不会直接修改玩家放入的真实物品。
普通强化、直升和转移界面都使用这一规则。关闭界面或取回物品后,不应保留仅用于界面提示的 template 内容。
强化脚本没有执行
强化脚本配置在等级规则的 scripts 下。请检查:
| 检查项 | 说明 |
|---|---|
type | 必须与本次强化结果类型一致 |
condition | 表达式必须计算为通过;未填写时默认通过 |
| 定位 Lore | 插入、替换或删除操作必须找到第一条精确匹配的可见 Lore |
| YAML 字符串 | 整条脚本建议使用双引号,函数中的 Lore 使用单引号 |
| PlaceholderAPI | 脚本中使用相关变量时,需要对应插件和变量可用 |
可用的触发类型包括:
| 类型 | 触发时机 |
|---|---|
attempt | 完成扣费后的任意强化结果 |
success | 强化成功 |
failure | 任意概率失败 |
protected-failure | 保护石生效 |
unchanged-failure | 失败但等级不变 |
downgrade-failure | 失败并降级 |
break-failure | 失败并破坏装备 |
cost-insufficient | 金币、额外货币或普通材料不足,且尚未扣除内容 |
插件会先完成整次强化结算和全部条件判断,再统一修改 Lore,最后执行指令。
cost-insufficient 脚本为什么没有触发
cost-insufficient 只对应金币、额外货币或普通材料不足的情况,并且此时尚未扣除任何内容。
请确认失败原因确实属于消耗不足,而不是以下情况:
- 装备没有匹配到强化方案。
- 装备同时匹配多个方案。
- 已达到最高等级。
- 保护石或通用材料不符合配置。
- GUI 槽位或方案配置加载失败。
Lore 插入、替换或删除脚本没有效果
Lore 定位会忽略插件添加的隐藏标记,并精确匹配第一条符合条件的可见 Lore。没有找到定位 Lore 时,该条脚本会直接跳过。
请检查定位内容的颜色、空格和符号是否与装备上的可见 Lore 完全一致。
脚本动作应使用对应格式:
yaml
action:
- "添加lore('&a新增内容')"
- "插入lore前(定位lore('&7原有内容'), '&a插入内容')"
- "插入lore后(定位lore('&7原有内容'), '&a插入内容')"
- "替换lore(定位lore('&7原有内容'), '&a新的内容')"
- "删除lore(定位lore('&7不再需要的内容'))"替换强化属性 Lore 时会保留强化数据标记。删除强化属性 Lore 可能导致装备缺少方案可处理的属性,后续无法继续正常强化该属性。
强化脚本的条件变量不正确
脚本 condition 可使用以下强化状态变量:
| 变量 | 内容 |
|---|---|
{highest_level} | 本次操作开始前保存的历史最高等级 |
{before_level} | 本次操作前的强化等级 |
{current_level} | 本次结算后的当前等级 |
{target_level} | 本次尝试到达的目标等级 |
{failure_count} | 连续失败次数 |
{level_change} | 本次结算产生的等级变化 |
条件支持 &&、||、>、<、>=、<=、==、!= 和四则运算,也可以使用可用的 PlaceholderAPI 变量。
{highest_level} 表示操作开始前已经保存的历史最高等级,不是本次操作完成后的最高等级。
脚本指令没有执行
脚本支持以下指令动作:
| 动作 | 执行身份 |
|---|---|
控制台指令('指令内容') | 控制台 |
管理员指令('指令内容') | 玩家临时以管理员身份执行,结束后恢复原状态 |
玩家指令('指令内容') | 玩家 |
请检查:
- 指令内容是否省略了开头的斜杠。
- 脚本
type和condition是否已经通过。 - 使用的 PlaceholderAPI 变量是否能够正常解析。
- 指令对应插件是否已加载。
- 控制台是否记录了指令执行错误。
公式计算结果异常
强化成功率、金币、额外货币数量、强化系数和 Lore 数值均可能使用公式。请检查公式中是否只使用对应位置支持的变量。
常见规则:
- 强化等级规则支持使用
{level}。 - 转移消耗公式中的
{level}表示来源装备等级。 - Lore 数值公式使用
{base:数值ID}读取当前 Lore 保存的原始值。 - Lore 数值公式和渲染内容可以使用
{nbt:节点路径}读取装备 NBT。 - NBT 节点不存在时按
0处理。 - 从 NBT 读取到的字符串必须是可计算内容,才能用于公式。
- 模板 ID 和数值 ID 不能包含英文冒号
:。 - Lore 公式不能读取其他模板或其他 Lore 序列保存的数值。
强化等级公式支持小数、括号以及 +、-、*、/、%、^。
数值显示精度由对应的 values.<数值ID>.format 控制:
| 格式 | 效果 |
|---|---|
%.0f | 不显示小数 |
%.1f | 保留一位小数 |
NBT 变量一直显示或计算为 0
NBT 变量格式为 {nbt:节点路径},点号表示逐级进入下一层节点,例如:
text
{nbt:节点a.节点b.节点c}出现 0 时请检查:
- 节点路径是否正确。
- 目标节点是否确实存在于当前装备。
- 节点内容是否为数值或可参与计算的字符串。
- 节点是否由其他插件在当前操作前写入。
节点不存在时,插件会按 0 显示或计算。
修改配置后没有生效
由管理员执行:
text
/lgs reload如果重载失败,根据控制台和指令返回的错误修正配置。重载失败时,当前已经成功加载的数据会继续生效,不会替换为错误配置。
重点检查:
- YAML 缩进是否正确。
- 强化、直升和转移方案的
id是否重复。 level-rules是否完整覆盖1到max-level,且没有重叠。- 各等级段的
coefficient模板名称是否一致。 coefficient引用的 Lore 模板是否存在。- 公式、等级范围和失败保底范围是否有效。
- 直升方案的
target-level是否超过装备方案的max-level。 - GUI 的
button字符是否存在于layout中。 - GUI 的
slot节点是否与布局字符一致。
重载配置后,已打开的界面为什么没有立即变化
重载用于重新读取配置。已经打开的强化、直升或转移界面可能仍保留打开时的显示状态。
关闭当前界面并重新打开,使界面按重载后的配置重新生成。
关闭界面后,放入的装备或材料会丢失吗
界面中的装备、保护石、通用材料和直升券属于玩家实际放入的物品;GUI 配置中的 template 只用于临时显示,不会直接修改真实物品内容。
如果出现物品未返回、数量异常或重复,应立即保留以下信息:
- 控制台完整报错。
- 玩家名称和操作时间。
- 操作前后的装备名称、Lore 和数量。
- 使用的强化、直升或转移方案。
- 当时放入的保护石、通用材料、直升券和普通材料。
出现异常后应停止继续操作相关界面,避免物品状态进一步变化。