PlaceholderAPI
When PlaceholderAPI is installed, EmakiLevel registers the emakilevel expansion. These placeholders can be used in scoreboards, menus, chat formats, BossBars, ActionBars, and other plugins that support PlaceholderAPI.
If PlaceholderAPI is not installed, EmakiLevel still runs normally; only external %emakilevel_*% placeholders are not registered.
Player level placeholders
Player placeholders require a player context.
| Placeholder | Returns |
|---|---|
%emakilevel_level_<type>% | Current level. |
%emakilevel_exp_<type>% | Current-level exp. |
%emakilevel_total_exp_<type>% | Total exp. |
%emakilevel_totalexp_<type>% | Total exp, no-underscore alias. |
%emakilevel_total_<type>% | Total exp, short alias. |
%emakilevel_required_exp_<type>% | Required exp for the next level. |
%emakilevel_requiredexp_<type>% | Required exp, no-underscore alias. |
%emakilevel_required_<type>% | Required exp, short alias. |
%emakilevel_progress_<type>% | Progress from 0 to 1. |
%emakilevel_progress_percent_<type>% | Progress from 0 to 100. |
Examples:
%emakilevel_level_main%
%emakilevel_exp_main%
%emakilevel_required_exp_main%
%emakilevel_progress_percent_main%
%emakilevel_level_combat%
%emakilevel_total_exp_mining%If <type> does not exist or player data cannot be loaded, the placeholder returns an empty string.
Leaderboard placeholders
Leaderboards use the plugin's currently cached player level data. Online players and already-loaded data can appear in the cache; this is not a full offline database scan.
| Placeholder | Returns |
|---|---|
%emakilevel_top_<type>_<rank>_name% | Player name at rank. |
%emakilevel_top_<type>_<rank>_level% | Level at rank. |
%emakilevel_top_<type>_<rank>_total_exp% | Total exp at rank. |
%emakilevel_top_<type>_<rank>_totalexp% | Total exp, no-underscore alias. |
%emakilevel_top_<type>_<rank>_total% | Total exp, short alias. |
Examples:
%emakilevel_top_main_1_name%
%emakilevel_top_main_1_level%
%emakilevel_top_main_1_total_exp%
%emakilevel_top_combat_3_name%Leaderboard placeholders are parsed as
top_<type>_<rank>_<field>. Default type IDs do not contain underscores. If you create custom type IDs with underscores, player placeholders can still parse them, but leaderboard placeholders should use type IDs without underscores to avoid ambiguity.
Number formatting
- Integer values are displayed as integers, for example
120. - Decimal values keep two decimal places, for example
12.50. progressis a value from 0 to 1.progress_percentis a value from 0 to 100 and does not include the%symbol.
Scoreboard example:
Main Level: Lv.%emakilevel_level_main%
Main Exp: %emakilevel_exp_main%/%emakilevel_required_exp_main%
Progress: %emakilevel_progress_percent_main%%
Combat Level: Lv.%emakilevel_level_combat%
Top #1: %emakilevel_top_main_1_name% Lv.%emakilevel_top_main_1_level%In %emakilevel_progress_percent_main%%, %emakilevel_progress_percent_main% is the placeholder and the last % is literal text.
Common usage
Menu lore:
lore:
- "<gray>Main Level: <yellow>Lv.%emakilevel_level_main%</yellow>"
- "<gray>Exp: <green>%emakilevel_exp_main%</green>/<green>%emakilevel_required_exp_main%</green>"
- "<gray>Progress: <aqua>%emakilevel_progress_percent_main%%</aqua>"Condition plugins:
%emakilevel_level_combat% >= 20
%emakilevel_progress_percent_mining% >= 75Chat display:
[Lv.%emakilevel_level_main%] %player_name%: %message%Difference from internal action variables
PlaceholderAPI placeholders are external %emakilevel_*% variables. EmakiLevel's types/<type>.yml > upgrade.actions.* provides internal action variables such as %level%, %new_level%, %amount%, and %failure_reason%. Both use %key% syntax, but their scopes are different.
See Configuration for action variables.