插件变量
LySlotStrengthen 注册了标识符为 lss 的 PlaceholderAPI 变量扩展。变量用于读取玩家各强化槽位的等级、强化概率、失败次数、强化效果与条件描述。
使用这些变量前,服务器必须安装 PlaceholderAPI。玩家的强化数据尚未加载时,变量会返回空字符串。
变量列表
| 变量 | 返回内容 |
|---|---|
%lss_nowlevel_槽位ID% | 玩家指定槽位的当前强化等级;没有槽位记录时返回 0 |
%lss_maxlevel_槽位ID% | 指定槽位配置中的最大强化等级;槽位不存在时返回 0 |
%lss_lore_槽位ID% | 指定槽位强化按钮的完整 Lore,各行使用换行符分隔 |
%lss_now_strength_槽位ID% | 当前等级的强化效果描述,各行使用换行符分隔;当前等级没有强化配置时返回“无” |
%lss_next_strength_槽位ID% | 下一级的强化效果描述,各行使用换行符分隔;已达到最高等级时返回 max-level-lore 配置的内容 |
%lss_need_condition_槽位ID% | 下一级强化条件的显示文本,各行使用换行符分隔;已达到最高等级时返回 max-level-lore 配置的内容 |
%lss_leveldown_condition_槽位ID% | 槽位降级条件的显示文本,各行使用换行符分隔;未启用降级时返回“降级功能未启用” |
%lss_chance_槽位ID% | 下一次强化的成功概率,以百分比形式返回,例如 70.0% |
%lss_fail_count_槽位ID% | 玩家指定槽位的连续强化失败次数;没有记录时返回 0 |
槽位 ID
变量末尾必须填写槽位配置文件中的完整槽位 ID,内容区分不同槽位来源。插件示例中确认支持以下格式:
| 槽位来源 | 槽位 ID 格式 | 示例 |
|---|---|---|
| 原版主手 | Origin#MainHand | %lss_nowlevel_Origin#MainHand% |
| 原版副手 | Origin#OffHand | %lss_chance_Origin#OffHand% |
| 原版头盔 | Origin#Helmet | %lss_now_strength_Origin#Helmet% |
| 原版胸甲 | Origin#ChestPlate | %lss_next_strength_Origin#ChestPlate% |
| 原版护腿 | Origin#Legging | %lss_need_condition_Origin#Legging% |
| 原版靴子 | Origin#Boots | %lss_leveldown_condition_Origin#Boots% |
| 原版背包槽位 | Minecraft#槽位编号 | %lss_nowlevel_Minecraft#0% |
| DragonCore | DragonCore#槽位名 | %lss_nowlevel_DragonCore#项链% |
| GermPlugin | GermPlugin#槽位名 | %lss_nowlevel_GermPlugin#戒指% |
| 梦星桐背包 | APInventory#分页ID#槽位编号 | %lss_nowlevel_APInventory#饰品#3% |
| 离渊背包 | LyInventory#背包ID#类型 | %lss_nowlevel_LyInventory#饰品#项链% |
| 离渊背包重置版 | LyInventoryReload#背包ID#类型 | %lss_nowlevel_LyInventoryReload#饰品#项链% |
| 清守饰品背包 | YeeJewelry#背包ID#槽位ID | %lss_nowlevel_YeeJewelry#饰品#1% |
Minecraft 槽位编号的配置范围为 0 至 36。变量中的槽位 ID 必须与 slot 目录下实际配置的顶层节点完全一致。
等级与失败次数
当前等级
%lss_nowlevel_槽位ID% 读取玩家数据中对应槽位的强化等级。玩家从未强化过该槽位时返回 0。
text
%lss_nowlevel_Origin#MainHand%最大等级
%lss_maxlevel_槽位ID% 根据槽位配置中 strengthen 下的等级或等级范围计算最大等级。
例如槽位包含 0-5 强化配置时,最大等级为 5:
text
%lss_maxlevel_Origin#MainHand%连续失败次数
%lss_fail_count_槽位ID% 返回该槽位连续强化失败的次数。每次强化失败后数值增加 1,强化成功或成功降级后会重置为 0。
该变量也可以写入槽位的强化概率公式,用于制作失败补偿或保底机制:
yaml
chance: '0.5+(%lss_fail_count_Origin#MainHand%*0.05)'变量返回的是整数次数,最终概率仍会限制在有效范围内。
强化概率
%lss_chance_槽位ID% 返回玩家下一次强化的显示概率。插件会执行以下处理:
- 读取下一级强化配置中的
chance。 - 替换 PlaceholderAPI 变量。
- 将
{level}替换为下一级等级。 - 计算概率公式并转换为百分比。
- 处理玩家满足的权限概率加成。
- 将最终显示值限制在
0%至100%。 - 保留一位小数并添加
%。
text
%lss_chance_Origin#MainHand%返回示例:
text
70.0%如果匹配到 permission-chance-addition,变量返回值末尾还会附加对应的 show-lore 内容。
强化效果变量
当前强化效果
%lss_now_strength_槽位ID% 读取当前等级对应的 show-lore。其中的 {fixed_lore} 会展开为当前等级配置的全部 fixed-lore。
text
%lss_now_strength_Origin#MainHand%插件会处理效果文本中的:
{level}:当前强化等级。- PlaceholderAPI 变量。
- 使用
calculate-key-left与calculate-key-right包围的计算公式。 - 公式后的格式,例如
~%.0f。
当前等级没有匹配的强化配置时,返回:
text
§7无下级强化效果
%lss_next_strength_槽位ID% 读取下一级对应的 show-lore,并展开其中的 {fixed_lore}。
text
%lss_next_strength_Origin#MainHand%该变量中的 {level} 使用下一级等级。玩家已经达到最高等级时,返回主配置中 max-level-lore 的内容。
条件描述变量
下级强化条件
%lss_need_condition_槽位ID% 读取下一级 strengthen 配置中每条条件位于 | 后面的显示文本。
yaml
condition:
- 'item:{MM5@强化石#1*{level}}| &7需要:{item}x{amount}'
- 'eco:{10*{level}*{level}}| &e需要:金币x{amount}'
- 'papi:{%player_level% >= 10}| &7需要:玩家等级达到 10 级'对应变量:
text
%lss_need_condition_Origin#MainHand%显示文本支持以下替换:
| 内容 | 用途 |
|---|---|
{level} | 下一级强化等级 |
{amount} | 物品、金币、点券、CraftX 货币或 LyShop 货币条件计算出的数量 |
{item} | item 条件对应物品的显示名称;物品没有自定义名称时使用材质名称 |
| PlaceholderAPI 变量 | 根据查看变量的玩家解析 |
只有条件中包含 | 和显示文本时,该条件才会加入变量结果。条件本体不会直接显示。
降级条件
%lss_leveldown_condition_槽位ID% 读取 level-down.condition 中每条条件位于 | 后面的显示文本。
text
%lss_leveldown_condition_Origin#MainHand%它支持与下级强化条件相同的 {level}、{amount}、{item} 和 PlaceholderAPI 变量替换。槽位未启用 level-down.enable 时返回:
text
§7降级功能未启用完整按钮 Lore
%lss_lore_槽位ID% 会构建对应槽位的强化按钮,并返回按钮的全部 Lore。
text
%lss_lore_Origin#MainHand%返回内容会包含槽位按钮配置中已经解析的动态内容,包括:
- 当前等级与最大等级。
- 当前强化效果。
- 下一级强化效果。
- 下一级强化条件。
- 降级条件。
- 下一次强化概率。
- PlaceholderAPI 变量。
- 配置中的颜色代码。
多行内容使用换行符 \n 连接。将该变量用于 DragonCore、GermPlugin 或其他界面插件时,需要确认目标组件支持变量返回的多行文本。
多行返回规则
以下变量可能返回多行内容:
%lss_lore_槽位ID%%lss_now_strength_槽位ID%%lss_next_strength_槽位ID%%lss_need_condition_槽位ID%%lss_leveldown_condition_槽位ID%
插件使用换行符连接每一行,不会自动添加列表符号。最终是否显示为多行,由调用变量的界面或插件决定。
返回值说明
| 情况 | 返回结果 |
|---|---|
| 玩家数据尚未加载 | 空字符串 |
| 当前槽位没有玩家强化记录 | 当前等级和失败次数返回 0 |
| 查询不存在的槽位最大等级 | 0 |
| 当前等级没有对应强化效果 | “无” |
| 已达到最高等级 | 下级效果与下级条件返回 max-level-lore |
| 槽位未启用降级 | “降级功能未启用” |
| 查询的槽位不存在 | 除最大等级等具有默认值的变量外,通常返回空字符串 |
常用组合
text
当前等级:%lss_nowlevel_Origin#MainHand%/%lss_maxlevel_Origin#MainHand%
强化概率:%lss_chance_Origin#MainHand%
连续失败:%lss_fail_count_Origin#MainHand%
当前效果:
%lss_now_strength_Origin#MainHand%
下级效果:
%lss_next_strength_Origin#MainHand%
强化需求:
%lss_need_condition_Origin#MainHand%
降级需求:
%lss_leveldown_condition_Origin#MainHand%这些变量可以用于 PlaceholderAPI 支持的聊天、菜单、记分板以及 DragonCore、GermPlugin 等界面配置。