Skip to content

插件变量

LyStrengthen2 会在服务器已安装并启用 PlaceholderAPI 时注册 lyqh 变量扩展。

本页同时整理对外提供的 PlaceholderAPI 变量,以及仅能在插件配置中使用的内部替换符。两类变量的使用位置不同,不能混用。

PlaceholderAPI 变量

槽位强化等级

变量返回内容
%lyqh_slot_level_插件#槽位%返回指定槽位中物品的强化等级

变量返回整数:

  • 已强化物品返回当前强化等级。
  • 空槽位、普通物品或无法识别强化等级的物品返回 0
  • 无法取得玩家对象时返回空字符串。

示例:

text
%lyqh_slot_level_Origin#MainHand%

槽位写法

槽位来源写法参数说明
DragonCoreDragonCore#槽位名槽位名 为 DragonCore 槽位名称
GermPluginGermPlugin#槽位名槽位名 为 GermPlugin 槽位标识
APInventoryAPInventory#分页id#槽位id分页id 为背包分页;槽位id0-53
LyInventoryLyInventory#背包id#类型背包id 为背包标识;类型 为装备类型或槽位类型
LyInventoryReloadLyInventoryReload#背包id#类型用于离渊背包重置版
YeeJewelryYeeJewelry#背包id#槽位id背包id槽位id 由 YeeJewelry 配置决定
PXRPGPXRPG#类型#背包ID#槽位依次填写装备容器类型、容器 ID 和装备槽位
原版主手Origin#MainHand玩家当前主手物品
原版副手Origin#OffHand玩家当前副手物品
原版头盔Origin#Helmet玩家头盔栏物品
原版胸甲Origin#ChestPlate玩家胸甲栏物品
原版护腿Origin#Legging玩家护腿栏物品
原版靴子Origin#Boots玩家靴子栏物品
原版背包Minecraft#槽位id玩家背包槽位,范围为 0-35

完整示例

目标位置变量示例
DragonCore 指定槽位%lyqh_slot_level_DragonCore#武器槽%
GermPlugin 指定槽位%lyqh_slot_level_GermPlugin#项链%
APInventory 饰品分页的第 3 槽%lyqh_slot_level_APInventory#饰品#3%
LyInventory 饰品背包的项链槽%lyqh_slot_level_LyInventory#饰品#项链%
LyInventoryReload 饰品背包的项链槽%lyqh_slot_level_LyInventoryReload#饰品#项链%
YeeJewelry 指定饰品槽%lyqh_slot_level_YeeJewelry#饰品#1%
PXRPG 指定装备容器槽位%lyqh_slot_level_PXRPG#类型#背包ID#槽位%
玩家主手%lyqh_slot_level_Origin#MainHand%
玩家副手%lyqh_slot_level_Origin#OffHand%
玩家头盔%lyqh_slot_level_Origin#Helmet%
玩家胸甲%lyqh_slot_level_Origin#ChestPlate%
玩家护腿%lyqh_slot_level_Origin#Legging%
玩家靴子%lyqh_slot_level_Origin#Boots%
原版背包第 0 槽%lyqh_slot_level_Minecraft#0%

注意

使用 DragonCore、GermPlugin、APInventory、LyInventory、LyInventoryReload、YeeJewelry 或 PXRPG 槽位时,服务器必须存在对应插件及其槽位数据。否则 LyStrengthen2 无法取得目标物品。

变量参数使用下划线 _ 分隔变量结构。自定义槽位名、背包 ID、类型和槽位 ID 中不要包含下划线,否则变量可能无法识别。

强化方案变量

以下内容只能写在强化方案配置中,不是 LyStrengthen2 对外注册的 PlaceholderAPI 变量。

当前强化等级

替换符返回内容可用位置
{level}当前正在处理的目标强化等级概率、金币、材料数量、材料条件、强化内容和 NBT 内容

例如,玩家正在把装备从 4 级强化至 5 级时,{level} 的值为 5

yaml
概率: '50+{level}'
消耗金币: '1000*{level}'
材料需求:
  - '测试物品#{level}'
强化内容:
  - '&c强化等级: {level}'
设置NBT:
  属性: '物理攻击+<{level}*10~%.0f>'

Lore 取值变量

强化方案的 lore-get-value 可以从物品 Lore 中提取数值,并通过 {v.变量id} 使用该数值。

替换符返回内容
{v.变量id}lore-get-value 中对应变量提取到的数值

读取不到目标 Lore 或数值时,使用该变量配置的 default-value

yaml
lore-get-value:
  '个体值':
    default-value: 1
    lore-formula: '&7强化个体值: <value>'

配置:
  1:
    强化内容:
      - '&7最终攻击: <{v.个体值}*{level}~%.2f>'
    设置NBT:
      物理攻击: '<{v.个体值}*{level}~%.2f>'

lore-formula 中的 <value> 表示需要提取的数字所在位置,不是公式计算符。

PlaceholderAPI 变量

强化方案中的以下内容会先解析 PlaceholderAPI 变量,再进行公式计算:

  • 概率
  • 消耗金币
  • 材料需求中的数量表达式
  • 材料需求中的条件表达式
  • 强化内容
  • 设置NBT的值

服务器未安装 PlaceholderAPI 时,依赖 PlaceholderAPI 的配置内容无法正常解析。

yaml
配置:
  1:
    概率: '50+%player_level%'
    消耗金币: '1000*%player_level%'
    材料需求:
      - '测试物品#{level}#%player_level% >= 10'

公式写法

公式默认写在 <> 之间。左右符号可以通过 config.ymlcalculate-key-leftcalculate-key-right 修改。

写法说明
<公式>计算公式并使用默认格式 %.0f 输出
<公式~格式>计算公式并使用指定数字格式输出
<{level}*10~%.0f>当前等级乘以 10,不保留小数
<{v.个体值}*{level}~%.2f>Lore 取值乘以当前等级,保留两位小数

公式支持项目内计算器能够处理的四则运算。PlaceholderAPI 变量、{level}{v.变量id} 会在计算前完成替换。

VuePress 写法

公式中的尖括号必须放在行内代码或代码块中,例如 <{level}*10~%.0f>,避免被页面解析为 HTML 标签。

材料条件表达式

材料需求可以在第三段填写条件。条件成立时才会显示、检查并扣除该材料。

yaml
材料需求:
  - '测试物品#2#{level} >= 10'
  - '高级材料#1#%player_level% >= 50 && {level} >= 5'

已确认支持的条件运算符:

运算符说明
>大于
<小于
>=大于或等于
<=小于或等于
==等于
!=不等于
&&并且,全部条件成立才通过
||或者,任意条件成立即通过

相等判断支持数值比较和使用单引号或双引号包裹的字符串比较。

强化按钮替换符

以下替换符用于 config.ymlgui.open-button-lore

替换符返回内容
%cg当前等级的基础强化成功率
%qhs当前强化石提供的成功率加成
%fx福星变量计算出的成功率加成
%guaranteed当前保底提供的成功率加成
{guaranteed_now}当前强化方案已累计的失败次数
{guaranteed_max}当前等级触发保底所需的失败次数
%vault本次强化需要消耗的金币
%per玩家是否拥有当前等级的强化权限,返回“是”或“否”
%qh插入下一级的 强化内容 预览
{fail_result}插入本级所有强化失败结果的说明
yaml
gui:
  open-button-lore:
    - '&7是否拥有强化权限: %per'
    - '&7基础成功率: %cg'
    - '&7强化石加成: %qhs'
    - '&7福星加成: %fx'
    - '&7保底加成: %guaranteed'
    - '&7保底进度: {guaranteed_now}/{guaranteed_max}'
    - '&7本次需要金币: %vault'
    - ''
    - '{fail_result}'
    - ''
    - '&7下一级属性:'
    - '%qh'

%qh{fail_result} 会插入多行内容。建议将它们单独配置为一行。

失败结果文本替换符

replace-content 用于生成 {fail_result} 插入的失败结果说明。

配置位置替换符返回内容
replace-content.fail-result-take-level{chance}当前失败结果的触发概率
replace-content.fail-result-take-level{result}失败后的等级变化值
replace-content.fail-result-no-change{chance}等级不变结果的触发概率
replace-content.fail-result-break{chance}物品破碎结果的触发概率
yaml
replace-content:
  fail-result-head:
    - '&7当强化失败时:'
  fail-result-take-level:
    - '&7有{chance}几率强化等级&6{result}'
  fail-result-no-change:
    - '&7有{chance}几率强化等级&a不变'
  fail-result-break:
    - '&7有{chance}几率&c物品破碎'

材料展示替换符

材料数量 Lore

用于 gui.need-item-amount-lore

替换符返回内容
{need}本次强化需要的材料数量
{has}玩家背包中已有的材料数量
yaml
gui:
  need-item-amount-lore:
    - ''
    - '&7需要 {need},你有 {has}'

材料名称

用于 gui.need-item-name-replace

替换符返回内容
{name}材料物品原本的显示名称;无自定义名称时为材料类型名称
{amount}本次强化需要的材料数量
yaml
gui:
  need-item-name-replace: '{name}x{amount}'

转移界面替换符

用于 gui.zy-button-lore

替换符返回内容
%vault当前强化转移需要消耗的金币
yaml
gui:
  zy-button-lore:
    - '&7本次转移需要金币: %vault'

消息替换符

插件会在部分 msg 消息中替换强化等级。

替换符返回内容已确认使用位置
%lv操作后的强化等级或目标等级强化成功、强化失败、装备破碎、转移成功
yaml
msg:
  强化成功: '强化成功,当前强化等级 %lv'
  强化失败: '强化失败,当前强化等级 %lv'
  转移成功: '转移成功,当前强化等级 %lv'

强化命令替换符

强化方案中的 命令失败命令 支持以下替换符:

替换符返回内容
%p执行强化的玩家名称
%item强化物品的显示名称
%lv当前强化等级

命令执行身份前缀支持 [player][op][console]

yaml
命令:
  - '[console]bc &d%p &f将 %item 强化至 &6%lv'
失败命令:
  - '[console]bc &d%p &f强化 %item 失败,当前等级 &6%lv'

福星变量

config.yml福星变量 用于填写一个 PlaceholderAPI 变量。留空时不计算福星加成。

yaml
福星变量: '%自定义变量%'
福星乘法: false

每个强化等级通过 福星 配置该等级的福星系数。

福星乘法计算方式
false福星变量值乘以当前等级的 福星 配置
true福星变量值乘以 福星 配置,再乘以基础成功率

福星变量解析结果必须能够转换为数字,否则无法参与成功率计算。