Skip to content

插件变量

LyDropReload 通过 PlaceholderAPI 注册变量标识 ldr。变量可用于支持 PlaceholderAPI 的文本、菜单、记分板或其它插件。

使用玩家数据相关变量时,变量必须在玩家上下文中解析。控制台等没有玩家对象的环境会返回空字符串。

变量列表

变量返回值说明
%ldr_drop_to%warehouseinventory返回当前玩家的掉落优先目标。warehouse 表示仓库优先,inventory 表示背包优先。
%ldr_eco_daily_limit%数字或 -1返回当前玩家每日可获得的金币上限。-1 表示不限制。
%ldr_eco_daily_got%数字返回当前玩家当天已经获得的金币数量。
%ldr_eco_daily_remain%数字或 -1返回当前玩家当天还可以获得的金币数量。-1 表示不限制。
%ldr_player_tag_<标记名>%数字或 §c错误返回当前玩家指定个人标记的剩余次数。
%ldr_player_tag_max_<标记名>%当前版本通常返回 §c错误配置文件中列出了该变量,但当前变量解析顺序会优先按 player_tag_ 处理,可能把 max_<标记名> 当成完整标记名。
%ldr_tag_<标记名>%数字或 §c错误返回指定全服标记的当前剩余次数。
%ldr_tag_max_<标记名>%当前版本通常返回 §c错误配置文件中列出了该变量,但当前变量解析顺序会优先按 tag_ 处理,可能把 max_<标记名> 当成完整标记名。

<标记名> 必须替换为掉落配置中实际使用的标记 ID。尖括号仅表示占位内容,不要原样填写。

掉落目标

text
%ldr_drop_to%

返回值如下:

返回值含义
warehouse当前玩家优先尝试进入已启用的仓库。
inventory当前玩家优先进入自己的背包。背包放不下的物品会掉落到地上。

该变量的结果受以下配置和玩家状态影响:

  • drop-to-warehouse-command-enable 开启时,使用玩家当前的切换状态。
  • drop-to-warehouse-command-enable 关闭时,使用 default-drop-to-warehouse 的默认值。
  • 玩家加入服务器时,会根据 default-drop-to-warehouse 设置初始状态。
  • 玩家可以通过 ldr switch 在仓库优先和背包优先之间切换。

该变量只表示掉落优先目标,不代表仓库一定成功接收物品。仓库不存在、未启用或无法接收物品时,插件会继续按掉落逻辑处理。

每日金币

每日上限

text
%ldr_eco_daily_limit%

返回当前玩家每日可获得的金币上限:

  • eco-daily-limit.default 用于没有匹配权限时的默认上限。
  • eco-daily-limit.permissions 根据玩家权限匹配额外上限。
  • 权限规则中 value: -1 表示不限制。
  • 多条有效权限规则同时匹配时,插件使用较大的上限;如果匹配到值为 -1 的规则,则返回 -1

今日已获得金币

text
%ldr_eco_daily_got%

返回当前玩家当天已经实际获得的金币数量。

当金币掉落受到每日上限限制时,只有实际发放的数量会计入该变量。超过当日剩余额度的部分不会计入。

今日剩余金币

text
%ldr_eco_daily_remain%

返回当前玩家当天还可以获得的金币数量。

  • 有每日上限时,返回 每日上限 - 今日已获得数量,最小为 0
  • 每日上限为 -1 时,返回 -1

每日金币进度按服务器本地日期计算。日期变化后,玩家当日金币数量会重置为 0,每日上限会根据当前权限重新计算。

全服标记限制

全服标记限制由掉落配置中的 tag-limit 节点定义。标记的剩余次数由服务器统一维护,配置示例如下:

yaml
# 掉落组配置中的示例
 tag-limit:
   标记4:
     count: 3
     update-time: 3600

实际配置中应保持正确缩进:

yaml
tag-limit:
  标记4:
    count: 3
    update-time: 3600

全服标记剩余次数

text
%ldr_tag_标记4%

当全服标记 标记4 已注册时,返回当前剩余可掉落次数。

全服标记在注册时会将当前次数设为 count。达到 update-time 秒后,当前次数恢复为最大次数。插件还会将全服标记的当前次数保存到 taglimit.yml,重启后读取已保存的剩余次数。

全服标记最大次数

配置文件注释中列出了以下变量:

text
%ldr_tag_max_标记4%

但当前 PlaceholderAPI 解析代码会先判断 tag_ 前缀,再判断 tag_max_ 前缀。因此该变量可能会被解析为标记名 max_标记4,通常返回 §c错误,不能按预期返回最大次数。

玩家个人标记限制

玩家个人标记限制由掉落配置中的 player-tag-limit 节点定义。每名玩家分别计算剩余次数,配置示例如下:

yaml
player-tag-limit:
  标记4:
    count: 2
    update-time: 3600

个人标记剩余次数

text
%ldr_player_tag_标记4%

返回当前玩家标记 标记4 的剩余次数。

个人标记会按玩家分别计算:

  • 玩家第一次读取已配置标记时,剩余次数初始化为 count
  • 每次成功产出带有该标记的掉落时,个人剩余次数按实际产出数量扣减。
  • 达到 update-time 秒后,当前玩家该标记的剩余次数恢复为 count
  • 未配置的个人标记不会创建限制,变量返回 §c错误

个人标记最大次数

配置文件注释中列出了以下变量:

text
%ldr_player_tag_max_标记4%

但当前 PlaceholderAPI 解析代码会先判断 player_tag_ 前缀,再判断 player_tag_max_ 前缀。因此该变量可能会被解析为标记名 max_标记4,通常返回 §c错误,不能按预期返回最大次数。

标记名格式

当前可正常按标记名查询的变量格式如下:

text
%ldr_tag_<标记名>%
%ldr_player_tag_<标记名>%

例如掉落配置中存在标记 标记4

text
%ldr_tag_标记4%
%ldr_player_tag_标记4%

配置文件注释中还保留了最大次数变量格式:

text
%ldr_tag_max_<标记名>%
%ldr_player_tag_max_<标记名>%

由于当前变量分支判断顺序,最大次数变量存在解析冲突,实际使用时可能返回 §c错误

数据存储要求

每日金币数据和玩家个人标记限制属于玩家数据。数据存储方式由 MySQL 连接状态决定:

  • 未启用 MySQL 或数据库连接未成功时,使用插件目录下的本地 YAML 玩家数据文件。
  • 启用 MySQL 时,必须安装 LyMySQLCore,并确保数据库连接成功。
  • 只有 LyMySQLCore 已安装且数据库连接成功后,相关玩家数据才会通过 MySQL 正常读取和保存。
  • MySQL 未成功连接时,相关个人数据无法按 MySQL 方式正常读取和保存。

返回异常

  • 没有玩家上下文时,所有变量返回空字符串。
  • 未配置的个人标记变量返回 §c错误
  • 未找到对应全服标记限制时,全服标记变量返回 §c错误
  • 未知变量返回 §c错误
  • 当前版本的 tag_max_player_tag_max_ 变量存在前缀解析顺序冲突,通常返回 §c错误