插件变量
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'常见格式如下:
| 配置值 | 返回示例 |
|---|---|
%.0f | 86 |
%.1f | 86.4 |
%.2f | 86.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 处理。