Skip to content

常见问题

插件的主要用途是什么?

LySlotStrengthen 用于为指定装备槽位配置强化等级、强化条件、强化概率、强化属性、降级功能和强化界面。

插件会根据槽位当前等级计算强化效果,也可以读取装备 Lore 中的数值,将其转换为属性增幅。

槽位无法强化,应该检查什么?

按以下顺序检查:

  1. 检查强化界面中的槽位 ID 是否与槽位配置的顶层节点完全一致。
  2. 检查槽位下的 enable-condition 是否满足。
  3. 检查当前等级是否存在对应的 strengthen 配置。
  4. 检查强化条件中的物品、经济、点券、变量或权限条件是否满足。
  5. 检查当前等级是否已经达到最大等级。
  6. 检查是否触发了点击冷却。

enable-condition 同时影响槽位是否可以强化,以及该槽位强化属性是否生效。未配置或留空时,默认满足条件。

为什么槽位属性没有生效?

先检查以下内容:

  • 槽位的 enable-condition 是否满足。
  • 槽位 ID 是否正确。
  • 当前等级是否存在对应的强化配置。
  • attribute-plugin 是否填写为正在使用的属性插件。
  • 服务器是否已安装并正确加载对应属性插件。
  • 配置 attribute-plugin 后是否已经重启服务器。

插件支持以下 attribute-plugin 配置值:

配置值对应属性插件
AttributePlusAttributePlus
SX-Attribute2SX-Attribute2
SX-Attribute3SX-Attribute3
AttributeSystemAttributeSystem
ItemLoreOriginItemLoreOrigin

如果没有配置属性插件,强化 Lore 可以正常显示,但插件不会向这些属性插件写入强化属性。

为什么强化材料没有被识别?

检查强化条件中的物品格式是否正确。示例格式如下:

yaml
condition:
  - 'item:{插件@物品#1*{level}}| &7需要: {item}x{amount}'

材料检测会根据配置的物品库类型读取物品。项目示例中支持以下物品库标识:

标识物品来源
MM4MythicMobs 4
MM5MythicMobs 5
NINeigeItems
SISX-Item
SX2SX-Attribute

同时检查以下问题:

  • 物品 ID 是否存在。
  • 物品库插件是否已加载。
  • 条件中的数量表达式是否能正确计算。
  • 材料是否被 filter-item-contain-specified-lore 过滤。
  • 物品名称、Lore、材质或耐久值是否与配置物品一致。

插件会检查玩家背包中的材料,也可以在启用对应插件并完成兼容配置后检查 LyLootsWareHouse、LyWarehouse 或灵魂空间中的材料。

为什么装备明明存在,却没有强化属性?

强化属性的计算不只依赖槽位等级,还依赖槽位实际物品。

检查以下内容:

  • 槽位 ID 是否指向正确的装备槽位。
  • 槽位中是否有物品。
  • 物品是否有 Lore。
  • check-put-on-condition 中的 Lore 检测是否通过。
  • addition-lore 中的 formula 是否能匹配物品 Lore。
  • addition-lore 使用的属性名是否与当前属性插件中的属性名一致。

如果使用 addition-lore,公式中的 <value> 用于标记需要读取的数值位置。左右文本必须能够匹配装备 Lore。

为什么变量不显示或显示为空?

检查以下内容:

  • 玩家数据是否已经加载。
  • 槽位 ID 是否与配置中的顶层节点完全一致。
  • 变量格式是否正确。
  • 变量是否使用在支持 PlaceholderAPI 的位置。
  • 当前槽位是否存在玩家数据。

变量格式如下:

变量作用
%lss_nowlevel_槽位ID%获取槽位当前强化等级
%lss_maxlevel_槽位ID%获取槽位最大强化等级
%lss_lore_槽位ID%获取槽位物品的全部 Lore,使用 \\n 换行
%lss_now_strength_槽位ID%获取当前强化效果 Lore,使用 \\n 换行
%lss_next_strength_槽位ID%获取下级强化效果 Lore,使用 \\n 换行
%lss_need_condition_槽位ID%获取下级强化条件 Lore,使用 \\n 换行
%lss_leveldown_condition_槽位ID%获取槽位降级条件 Lore,使用 \\n 换行
%lss_chance_槽位ID%获取槽位强化几率

例如,配置节点为 Origin#MainHand 时,应使用:

text
%lss_nowlevel_Origin#MainHand%

为什么强化概率显示不正确?

强化配置中的 chance 支持固定值或公式,示例中的概率值范围为 0-1

yaml
chance: '1-({level}*0.1)'

检查以下内容:

  • 公式是否使用了正确的变量名。
  • 公式是否包含无法识别的字符。
  • 当前等级是否能匹配对应的等级段。
  • permission-chance-addition 中的公式是否正确。

权限加成只会在玩家拥有对应权限时参与计算。如果同时满足多个权限加成,插件会取计算结果最高的加成。

为什么强化失败次数没有按预期使用?

强化数据会保存当前等级和失败次数。示例配置支持在 chance 公式中使用失败次数变量:

yaml
chance: '1-({level}*0.1)'

项目配置注释中记录了失败次数变量为 %lss_fail_count_槽位id%。该变量可以用于概率计算,强化成功后失败次数会归零。

如果失败次数没有变化,检查玩家数据是否正常保存,以及是否使用了正确的槽位 ID。

为什么强化成功后没有扣除材料?

强化条件满足后,插件会执行 start-command,然后判断强化概率。项目示例中,材料和经济条件本身负责检测所需资源;如果需要通过指令进行额外处理,可以配置 start-command

检查以下内容:

  • 强化条件是否正确填写。
  • start-command 是否配置在对应的等级段下。
  • 指令前缀是否正确。
  • 指令是否需要 PlaceholderAPI 变量。

支持的指令执行方式包括:

前缀执行身份
[console]以控制台身份执行
[op]临时以 OP 身份执行
无前缀以玩家身份执行

为什么降级按钮没有效果?

检查对应槽位下的 level-down 配置:

yaml
level-down:
  enable: true
  condition:
    - 'item:{插件@物品#1*{level}}| &7需要: {item}x{amount}'
  command:
    - '[console]tell %player_name% 降级成功!'

降级功能需要同时满足以下条件:

  • level-down.enable 必须为 true
  • 玩家必须通过 level-down.condition 中的所有条件。
  • 当前槽位存在可降级等级。
  • 降级操作没有触发点击冷却。

在强化界面中,左键点击强化槽位会尝试强化,右键点击会尝试降级。

为什么强化界面打不开?

检查以下内容:

  • 界面文件是否位于插件读取的界面配置目录中。
  • id 是否填写且没有重复。
  • 指令中的界面 ID 是否与配置中的 id 完全一致。
  • size 是否在 1-6 范围内。
  • slot-set 中引用的槽位 ID 是否已经配置。
  • 界面是否配置了权限要求。

示例界面文件中的 idtest,因此打开该界面时使用:

text
/lss open test

gui/示例界面.yml 仅用于参考,不会被插件直接读取,需要复制为新的界面配置文件后再修改。

为什么界面中的强化按钮没有显示?

检查 slot-set 配置:

yaml
slot-set:
  Origin#MainHand:
    slot: 22

需要确认:

  • 槽位 ID 与槽位配置一致。
  • slot 是有效的界面槽位编号。
  • 对应的槽位配置已经成功加载。
  • 界面大小足以包含该槽位。

如果 slot-set 引用的槽位不存在,插件会跳过该强化按钮。

为什么点击界面后提示操作过快?

插件会对强化、降级和预设按钮点击进行冷却限制。冷却时间由以下配置控制,单位为毫秒:

yaml
click-cooldown: 100
click-cooldown-message: '&7对不起, 操作过快, 请稍后尝试.'

100 毫秒等于 0.1 秒。需要调整时修改 click-cooldown,并根据需要修改提示消息。

为什么装备条件没有生效?

全局装备条件配置在 check-put-on-condition 下。插件会先查找物品 Lore 中包含 contain-lore 的行,再把读取到的数值替换到条件中的 <value>

示例:

yaml
check-put-on-condition:
  等级检测:
    contain-lore: '&f装备等级: '
    condition:
      - 'papi:{%player_level% >= <value>} <-> &7<item>需要<value>级才可装备, 你当前%player_level%级了!'

支持的条件类型包括:

条件作用
papi:{表达式}使用 PlaceholderAPI 变量计算表达式
permission:{权限}检查玩家是否拥有权限
nopermission:{权限}检查玩家是否没有权限

<-> 左侧为检测条件,右侧为检测失败时显示的提示消息。提示消息支持 PlaceholderAPI 变量。

为什么物品 Lore 中的数值读取错误?

检查 lore-get-valueaddition-lore 的 Lore 公式。

lore-get-value 用于从固定格式的 Lore 中读取数值:

yaml
lore-get-value:
  变量1:
    default-value: 1
    lore-formula: '&7槽位增幅强度: <value>%'

注意事项:

  • <value> 只能表示需要读取的数值位置。
  • 公式中的其他文本必须与物品 Lore 对应部分匹配。
  • 读取不到数值时使用 default-value
  • 该功能适合读取固定格式的 Lore,不适合层层套用读取结果。
  • addition-lore 中可以使用 {v.变量1} 引用读取到的数值。

数值支持单个数字,也支持区间格式并转换为区间平均值。

为什么计算公式无法解析?

配置中的公式支持数字、小数、加减乘除和括号。检查公式中是否包含无法识别的字符。

默认公式边界符号为:

yaml
calculate-key-left: '<'
calculate-key-right: '>'

如果 Lore 文本本身包含冲突符号,可以修改这两个配置项。修改后需要重新加载配置或重启插件使配置重新读取。

修改 attribute-plugin 后为什么没有变化?

attribute-plugin 的配置注释明确要求修改后重启服务器。请完成以下操作:

  1. 修改 attribute-plugin
  2. 确认对应属性插件已安装并加载。
  3. 重启服务器。
  4. 重新打开强化界面或触发装备属性刷新。

插件会在背包关闭、切换快捷栏物品和交换主副手时刷新属性。

为什么配置重载后数据没有立即变化?

/lss reload 会调用插件重载逻辑,但部分配置或外部插件状态仍可能需要重启服务器才能生效。

以下配置明确要求重启服务器:

  • mysql.enable
  • attribute-plugin

如果修改了上述配置,请重启服务器,不要只执行重载。

MySQL 数据库不生效,应该检查什么?

使用 MySQL 存储必须满足以下条件:

  1. 安装 LyMySQLCore。
  2. 在 LyMySQLCore 中正确配置数据库连接。
  3. 确认 LyMySQLCore 已成功连接数据库。
  4. 在 LySlotStrengthen 的 mysql.enable 中启用数据库。
  5. 修改数据库开关后重启服务器。

只有安装 LyMySQLCore 且成功连接数据库后,LySlotStrengthen 的 MySQL 相关功能才会生效。

配置示例:

yaml
mysql:
  enable: false
  databasename: mc2
  username: mc2
  password: mc1234
  port: 3306
  ip: 127.0.0.1

如果数据库连接失败,启用数据库存储时玩家登录可能会被阻止,直到数据库连接完成。

YAML 存储保存在哪里?

未使用 MySQL 存储时,玩家数据保存在:

text
plugins/LySlotStrengthen/data/<玩家UUID>.yml

保存时会使用备份文件和临时文件机制。主文件损坏时,插件会尝试从对应的 .bak 备份文件恢复。

为什么玩家数据没有保存?

检查以下内容:

  • 玩家是否已经完成数据加载。
  • 插件是否在玩家退出或被踢出时正常执行保存。
  • auto-save-interval 是否配置合理。
  • YAML 数据目录是否可写。
  • 使用 MySQL 时,LyMySQLCore 是否已成功连接数据库。
  • MySQL 表是否初始化成功。

自动保存间隔由以下配置控制,单位为秒:

yaml
auto-save-interval: 3

插件会在界面关闭、玩家退出和玩家被踢出时保存数据;启用 MySQL 后,数据会保存到以插件名称命名的数据表中。

灵魂空间兼容功能没有生效怎么办?

  1. 确认已安装并加载灵魂空间相关插件。
  2. compatible-srp-enable 设置为 true
  3. 由于该兼容开关在 1.0.5 版本后需要主动开启,不能只安装插件而不修改配置。
  4. 修改后重新加载配置;如果仍未生效,重启服务器。

配置示例:

yaml
compatible-srp-enable: true

/lss 指令没有执行权限怎么办?

项目代码中,管理类指令通过 OP 状态检查。可用指令如下:

指令作用使用限制
/lss显示管理指令帮助OP
/lss reload重载插件OP
/lss setlevel <玩家> <槽位> <等级>强制设置指定玩家的槽位等级OP
/lss levelup <槽位> <玩家>强制升级指定玩家的槽位OP
/lss strengthen <槽位> <玩家>操控指定玩家尝试强化槽位OP
/lss open <界面ID>为自己打开指定强化界面玩家;界面自身还可能配置权限
/lss open <界面ID> <玩家>为指定玩家打开强化界面OP

setlevel 设置的等级会被限制在 0 到该槽位最大等级之间。

为什么强制操作提示玩家不在线?

setlevellevelupstrengthen 和为指定玩家打开界面的指令都要求目标玩家在线,并且玩家数据已经加载。

如果目标玩家在线但仍提示失败,检查玩家数据加载是否完成,以及数据库或 YAML 存储是否正常。

插件支持哪些槽位?

项目示例中实现了以下槽位类型:

槽位 ID 格式用途
DragonCore#槽位名DragonCore 槽位
GermPlugin#槽位名GermPlugin 槽位
APInventory#分页ID#槽位ID梦星桐背包槽位
LyInventory#背包ID#类型离渊背包槽位
LyInventoryReload#背包ID#类型离渊背包重置版槽位
YeeJewelry#背包ID#槽位ID清守饰品背包槽位
Origin#MainHand主手
Origin#OffHand副手
Origin#Helmet头盔
Origin#ChestPlate胸甲
Origin#Legging护腿
Origin#Boots靴子
Minecraft#槽位ID原版背包槽位,槽位 ID 为数字

槽位 ID 会同时用于槽位配置、强化界面、玩家数据和变量,修改时必须同步检查所有引用位置。

为什么插件加载了但部分功能不可用?

插件声明了以下软依赖:

  • PlaceholderAPI
  • Vault
  • PlayerPoints

其中,PlaceholderAPI 用于变量和表达式条件;Vault、PlayerPoints 相关功能是否可用取决于对应插件是否正确安装并加载。使用外部物品库、属性插件、背包插件或 MySQL 存储时,也必须确认对应插件已经正常运行。

修改配置后需要重启还是重载?

一般配置可以使用以下指令重载:

text
/lss reload

但以下配置修改后必须重启服务器:

配置项原因
mysql.enable数据库连接在插件启动阶段初始化
attribute-plugin属性插件接口在启动阶段初始化

如果重载后仍未生效,先检查控制台是否出现配置读取或外部插件连接错误,再执行完整重启。