Skip to content

插件变量

LyGalaxyLevel 通过 PlaceholderAPI 提供玩家等级、经验、称号和全服经验倍率变量。变量标识为 lgl

使用本页变量前,服务器必须安装并正常加载 PlaceholderAPI。PlaceholderAPI 在插件中属于软依赖,未安装时无法解析 %lgl_...% 变量。

如果启用了 MySQL 存储,还必须安装 LyMySQLCore,并确保数据库连接成功,否则依赖数据库的玩家数据功能不会生效。

变量格式

等级节点变量使用以下格式:

text
%lgl_{节点ID}_{变量类型}%

其中 {节点ID} 需要替换为等级节点配置中的 id。默认节点配置的 ID 为 default

yaml
id: 'default'

因此,该节点的当前等级变量为 %lgl_default_level%

等级节点变量

变量返回内容
%lgl_{节点ID}_level%玩家在指定节点的当前等级。玩家初始等级为 0
%lgl_{节点ID}_now%玩家在指定节点当前拥有的经验。
%lgl_{节点ID}_next%玩家在指定节点升至下一级所需的经验。
%lgl_{节点ID}_today%玩家当天已在指定节点获得的经验。每日经验记录在每天 0 点刷新。
%lgl_{节点ID}_tag%玩家当前等级对应的称号文本,由节点配置中的 level-tag 决定。
%lgl_{节点ID}_endtime%指定节点当前全服经验倍率的结束时间。没有有效倍率时返回空文本。
%lgl_{节点ID}_multiple%指定节点当前全服经验倍率,返回带 % 的整数百分比。没有有效倍率时返回空文本。

默认节点变量

默认模板中的节点 ID 为 default,可以直接使用以下变量:

变量返回内容
%lgl_default_level%default 节点的当前等级。
%lgl_default_now%default 节点当前拥有的经验。
%lgl_default_next%default 节点升至下一级所需的经验。
%lgl_default_today%当天已获得的 default 节点经验。
%lgl_default_tag%当前 default 节点等级对应的称号。
%lgl_default_endtime%default 节点全服经验倍率的结束时间。
%lgl_default_multiple%default 节点当前全服经验倍率。

等级称号变量

%lgl_{节点ID}_tag% 会读取指定节点的 level-tag 配置,并根据玩家当前等级返回对应称号。

默认节点配置如下:

yaml
level-tag:
  1:
    tag: '&7初入江湖'
    attribute:
      - '攻击+1'
  3:
    tag: '&a锋芒毕露'
    attribute:
      - '攻击+2'
  5:
    tag: '&b威震天下'
    attribute:
      - '攻击+3'
配置项用途
level-tag.{等级}.tag该等级对应的称号文本,也是变量返回的内容。
level-tag.{等级}.attribute该称号等级对应的属性配置,不属于变量返回内容。属性是否生效取决于主配置选择的属性插件。

上方配置属于 default 节点,因此对应变量为 %lgl_default_tag%

变量只返回 tag 的文本,不会返回 attribute 列表。

全服倍率变量

全服经验倍率变量用于显示指定节点当前正在生效的全服经验加成。

变量存在有效倍率时不存在有效倍率时
%lgl_{节点ID}_endtime%按主配置中的 time-format 格式化并返回倍率结束时间。返回空文本。
%lgl_{节点ID}_multiple%返回倍率的整数百分比,并在末尾附带 %返回空文本。

倍率结束时间默认使用以下格式:

yaml
time-format: 'MM月dd日 HH时mm分ss秒'

例如,倍率数值经过整数转换后为 50%lgl_{节点ID}_multiple% 返回 50%

endtimemultiple 只表示当前倍率状态,不会返回节点自身的经验加成变量或玩家个人经验加成。

合计等级变量

插件可以将多个等级节点的当前等级相加,并通过一个合计变量返回结果。

合计关系需要配置在主配置的 all-level 路径下。默认 config.yml 未提供该配置段,需要使用时自行添加:

yaml
all-level:
  total:
    - 'default'
    - 'exp2'
变量返回内容
%lgl_{合计ID}_all%all-level.{合计ID} 列表内所有节点的当前等级总和。

上方配置对应的变量为:

text
%lgl_total_all%

插件会依次读取列表中的节点 ID,获取玩家在各节点的当前等级并计算总和。这里计算的是等级,不是当前经验、今日经验或下一级所需经验。

ID 命名限制

变量请求会使用下划线 _ 分隔 ID 与变量类型:

text
节点ID_变量类型

因此,节点 ID 和合计 ID 不应包含下划线 _,否则变量可能被拆分为错误的 ID 和类型。

推荐使用仅包含英文字母、数字或短横线的 ID,例如:

yaml
id: 'battle-level'

对应变量为:

text
%lgl_battle-level_level%

返回规则

情况返回结果
没有玩家上下文返回空文本。
节点 ID 不存在返回空文本。
变量类型不存在返回空文本。
节点没有正在生效的全服倍率endtimemultiple 返回空文本。
all-level.{合计ID} 不存在对应的 all 变量返回空文本。
玩家数据存在且变量有效按变量类型返回等级、经验、称号或倍率信息。

所有变量都是玩家变量。控制台或其他无法提供玩家对象的解析环境不能获得玩家等级数据。

使用注意

  • PlaceholderAPI 必须正常加载,变量标识固定为 lgl
  • {节点ID} 必须填写等级节点配置中的实际 id,不是配置文件名或显示名称。
  • {合计ID} 必须对应主配置中的 all-level.{合计ID}
  • 节点变量和合计变量均区分实际配置内容,错误的 ID 会返回空文本。
  • %lgl_{节点ID}_multiple% 已自带 %,显示时不需要再次添加百分号。
  • %lgl_{节点ID}_tag% 返回的是称号文本,其中的颜色代码是否被正确显示取决于调用变量的插件。
  • 变量可以交给支持 PlaceholderAPI 的聊天、计分板、菜单或悬浮文字插件解析,具体显示方式由对应插件决定。