Skip to content

插件变量

LyDragonBoost 注册了 PlaceholderAPI 变量标识 lhb,用于读取实体血量、玩家变量、MythicMobs 怪物配置字段和 AttributePlus 属性值。

使用前提

  • 需要安装并启用 PlaceholderAPI,插件才会注册 lhb 变量扩展。
  • 血量变量可读取 Bukkit 当前能够获取到的生物实体。
  • MythicMobs 变量需要对应 UUID 的实体为 MythicMobs 活跃怪物。
  • AttributePlus 变量需要对应实体存在 AttributePlus 属性数据。
  • 插件会按照 config.yml 中的 update-placeholder-list 定时刷新变量,相关配置说明请参考配置页面。

血量变量

变量说明
%lhb_health_round:uuid%获取指定 UUID 实体的当前血量,返回四舍五入为整数的数值。
%lhb_health_max_round:uuid%获取指定 UUID 实体的最大血量,返回四舍五入为整数的数值。
%lhb_health_rate:uuid%获取指定 UUID 实体的当前血量百分比。

uuid 需要替换为目标实体的实际 UUID。

血量百分比格式

lhb_health_rate 的小数位数由配置项 rate-placeholder-format 控制,默认值为 %.0f

例如:

yaml
rate-placeholder-format: '%.0f'

常见格式如下:

配置值返回示例
%.0f86
%.1f86.4
%.2f86.42

该格式仅影响 lhb_health_rate,不会改变两个血量整数变量的返回格式。

查看目标变量

变量说明
%lhb_look:name:placeholder%获取名称为 name 的在线玩家身上的 PlaceholderAPI 变量。

示例:

text
%lhb_look:玩家名:player_level%

其中:

  • name 替换为目标玩家名称。
  • placeholder 替换为需要读取的 PlaceholderAPI 变量名。
  • 变量名不需要再写首尾的 %

例如,配置文件中的写法如下:

yaml
- 'lhb_look_{name}:player_level'

这里的 {name} 是定时刷新配置支持的目标名称占位符,不属于变量本身的固定语法。直接使用变量时,应将其替换为实际玩家名称:

text
%lhb_look:玩家名:player_level%

目标玩家不存在或不在线时,该变量返回空字符串。

MythicMobs 变量

变量说明
%lhb_mm:uuid:字段名%读取指定 UUID 的 MythicMobs 活跃怪物配置字段。

uuid 需要替换为目标怪物的 UUID,字段名 需要替换为 MythicMobs 怪物配置中的字段名。

示例:

text
%lhb_mm:怪物UUID:怪物称号%

如果字段内容是列表,插件会将列表内容按换行符拼接后返回。字段值中的 & 会转换为 Minecraft 颜色代码 §

示例配置:

yaml
update-placeholder-list:
  - 'lhb_mm_{uuid}:怪物称号'

对应的 {uuid} 会在定时刷新时替换为当前实体 UUID。

目标 UUID 不是 MythicMobs 活跃怪物,或指定字段不存在时,该变量返回空字符串。

AttributePlus 变量

变量说明
%lhb_ap:uuid:属性名%读取指定 UUID 实体的属性值,返回该属性的基础值。
%lhb_ap:uuid:属性名:min%读取指定 UUID 实体的属性最小值。
%lhb_ap:uuid:属性名:max%读取指定 UUID 实体的属性最大值。

uuid 需要替换为目标实体 UUID,属性名 需要替换为 AttributePlus 中的实际属性名。

示例:

text
%lhb_ap:实体UUID:攻击力%
%lhb_ap:实体UUID:攻击力:min%
%lhb_ap:实体UUID:攻击力:max%

示例配置:

yaml
update-placeholder-list:
  - 'lhb_ap_{uuid}:攻击力:min'
  - 'lhb_ap_{uuid}:攻击力:max'

目标实体不存在、目标实体不是生物实体,或无法获取对应属性数据时,该变量返回空字符串。

定时刷新占位符

插件会读取 update-placeholder-list 中的变量,并按照 update-placeholder-interval 设置的间隔刷新在线玩家附近的生物实体变量。

刷新配置支持以下占位符:

占位符替换内容
{uuid}当前目标实体的 UUID。
{name}当前目标实体的名称。
{type}当前目标实体的实体类型名称,例如玩家为 PLAYER

配置中的变量不需要写首尾的 %

yaml
update-placeholder-list:
  - 'lhb_health_rate:{uuid}'
  - 'lhb_health_round:{uuid}'
  - 'lhb_health_max_round:{uuid}'

默认刷新间隔为 5 tick,20 tick 等于 1 秒。插件只处理在线玩家所在世界中、距离玩家不超过 50 的存活生物实体。

配置中还提供了经过 LSP 变量缩写插件缩写后的血量变量写法:

yaml
update-placeholder-list:
  - 'lsp_lhb_health_round:{uuid}'
  - 'lsp_lhb_health_max_round:{uuid}'

这些条目会按照配置原样交给 PlaceholderAPI 处理。