Skip to content

PlaceholderAPI 占位符 ​

EmakiLevel 注册的 %emakilevel_*% 占位符列在下面: 玩家等级占位符, 排行榜占位符, 数值格式和常见用法, 复制即可使用

前置条件: 服务器安装 PlaceholderAPI, EmakiLevel 会注册扩展标识符 emakilevel. 占位符适用于计分板, 菜单, 聊天格式, BossBar, ActionBar, 其他插件文本模板, 以及支持 PlaceholderAPI 的 GUI 插件

PlaceholderAPI 未安装时, EmakiLevel 本体仍然可以正常运行, 只是不会注册 %emakilevel_*% 外部占位符

玩家等级占位符 ​

玩家等级占位符需要有玩家上下文, 例如计分板里的当前玩家, 菜单拥有者或 PlaceholderAPI 请求传入的玩家

占位符返回值
%emakilevel_level_<type>%当前等级
%emakilevel_exp_<type>%当前等级内经验
%emakilevel_total_exp_<type>%总经验
%emakilevel_totalexp_<type>%总经验, 兼容无下划线写法
%emakilevel_total_<type>%总经验, 短写法
%emakilevel_required_exp_<type>%升到下一级所需经验
%emakilevel_requiredexp_<type>%需求经验, 兼容无下划线写法
%emakilevel_required_<type>%需求经验, 短写法
%emakilevel_progress_<type>%当前等级进度, 范围 0 到 1
%emakilevel_progress_percent_<type>%当前等级进度百分比, 范围 0 到 100

示例:

text
%emakilevel_level_main%
%emakilevel_exp_main%
%emakilevel_required_exp_main%
%emakilevel_progress_percent_main%
%emakilevel_level_combat%
%emakilevel_total_exp_mining%

异常回退: 如果 <type> 不存在, 或者玩家数据无法加载, 占位符会返回空字符串

排行榜占位符 ​

数据来源要清楚: 排行榜来自插件当前缓存的玩家等级数据. 在线玩家和已加载过的数据会出现在缓存里; 它不是数据库级全服离线扫描排行榜

占位符返回值
%emakilevel_top_<type>_<rank>_name%指定名次的玩家名
%emakilevel_top_<type>_<rank>_level%指定名次的等级
%emakilevel_top_<type>_<rank>_total_exp%指定名次的总经验
%emakilevel_top_<type>_<rank>_totalexp%总经验, 兼容无下划线写法
%emakilevel_top_<type>_<rank>_total%总经验, 短写法

示例:

text
%emakilevel_top_main_1_name%
%emakilevel_top_main_1_level%
%emakilevel_top_main_1_total_exp%
%emakilevel_top_combat_3_name%

NOTE

排行榜占位符解析格式固定为 top_<type>_<rank>_<field>. 默认类型 ID 都不包含下划线; 如果你自定义了包含下划线的类型 ID, 玩家等级占位符可以正常解析, 但排行榜占位符建议改用不含下划线的类型 ID, 以免出现歧义

数值格式 ​

EmakiLevel 会把数值格式化为适合展示的字符串, 规则如下:

  • 整数值输出整数, 例如 120
  • 非整数值保留两位小数, 例如 12.50
  • progress 是 0 到 1 的小数
  • progress_percent 是 0 到 100 的百分比数值, 但不会自动附带 % 符号

示例计分板文本:

text
主等级: Lv.%emakilevel_level_main%
主经验: %emakilevel_exp_main%/%emakilevel_required_exp_main%
进度: %emakilevel_progress_percent_main%%
战斗等级: Lv.%emakilevel_level_combat%
排行榜第一: %emakilevel_top_main_1_name% Lv.%emakilevel_top_main_1_level%

%emakilevel_progress_percent_main%% 中第一个 %emakilevel_progress_percent_main% 是占位符, 最后一个 % 是显示给玩家看的百分号

常见用法 ​

菜单 Lore ​

yaml
lore:
  - "<gray>主等级: <yellow>Lv.%emakilevel_level_main%</yellow>"
  - "<gray>经验: <green>%emakilevel_exp_main%</green>/<green>%emakilevel_required_exp_main%</green>"
  - "<gray>进度: <aqua>%emakilevel_progress_percent_main%%</aqua>"

条件插件 ​

text
%emakilevel_level_combat% >= 20
%emakilevel_progress_percent_mining% >= 75

聊天/称号展示 ​

text
[Lv.%emakilevel_level_main%] %player_name%: %message%

与内部动作变量的区别 ​

PlaceholderAPI 占位符是给外部插件读取的 %emakilevel_*% 变量. EmakiLevel 自己在 types/<type>.yml > upgrade.actions.* 中提供的是动作上下文变量, 例如 %level%, %new_level%, %amount%, %failure_reason%. 两者写法都使用 %key% 风格, 但作用范围不同

升级动作变量详见 配置详解