Placeholders
Ember Essentials registers a PlaceholderAPI expansion under
emberessentials. It is registered only when PlaceholderAPI is installed, and
the class that touches its API is kept separate so it is never loaded
otherwise.
persist() is true, so /papi reload does not silently drop it - which is
the usual reason an expansion stops working an hour after somebody set it up.
Money
| Placeholder |
Is |
%emberessentials_balance% |
Main balance, formatted |
%emberessentials_balance_raw% |
Main balance, as a plain number |
%emberessentials_balance_<currency>% |
Another currency, e.g. balance_coins |
The player
| Placeholder |
Is |
%emberessentials_name% |
Their name, with any nickname applied |
%emberessentials_rank% |
Their rank |
%emberessentials_rank_coloured% |
The same, in its rank colour |
%emberessentials_rank_next% |
The rank above, or blank at the top |
%emberessentials_tag% |
The chat tag they are wearing |
%emberessentials_playtime% |
Total time played |
%emberessentials_playtime_formatted% |
The same, written out |
%emberessentials_playtime_next% |
Time until their next playtime reward |
%emberessentials_playtime_next_minutes% |
The same, in minutes |
%emberessentials_platform% |
Java or Bedrock |
%emberessentials_bedrock% |
yes when they are on Bedrock |
State
| Placeholder |
Is |
%emberessentials_afk% |
yes when they are away |
%emberessentials_afk_time% |
How long they have been idle |
%emberessentials_afk_zone% |
The AFK zone they are standing in |
%emberessentials_vanished% |
yes when they are hidden |
%emberessentials_god% |
yes when they are invulnerable |
%emberessentials_flying% |
yes when they are flying |
%emberessentials_channel% |
The chat channel they are talking in |
%emberessentials_world_pvp% |
yes when PvP is on where they are |
%emberessentials_world_build% |
yes when building is allowed there |
Homes, warps and kits
| Placeholder |
Is |
%emberessentials_homes% |
How many homes they have set |
%emberessentials_homes_max% |
How many they may have |
%emberessentials_warps% |
Warps they can use |
%emberessentials_warps_total% |
Warps that exist |
%emberessentials_warp_access_<name>% |
yes when they may use that warp |
%emberessentials_kits% |
Kits they can claim right now |
%emberessentials_kit_ready_<kit>% |
yes when that kit is off cooldown |
%emberessentials_kit_cooldown_<kit>% |
Time left on that kit |
%emberessentials_teleport_cooldown_<type>% |
Time left on a teleport cooldown |
Land
| Placeholder |
Is |
%emberessentials_claims% |
Chunks they have claimed |
%emberessentials_claims_max% |
How many they may claim |
%emberessentials_in_claim% |
yes when they are standing in one |
%emberessentials_claim_owner% |
Who owns the chunk they are in |
%emberessentials_claim_name% |
That claim's name |
%emberessentials_zone% |
The restricted zone they are in |
%emberessentials_zone_allowed% |
yes when they are allowed in it |
Jail and moderation
| Placeholder |
Is |
%emberessentials_jailed% |
yes when they are locked up |
%emberessentials_jail_name% |
Which jail |
%emberessentials_jail_time% |
Time left on the sentence |
%emberessentials_jail_reason% |
Why |
%emberessentials_jail_bail% |
What bail would cost |
%emberessentials_watchdog_alerts% |
Anti-cheat alerts held right now |
Server events
| Placeholder |
Is |
%emberessentials_event_active% |
Every running event, or none |
%emberessentials_event_count% |
How many are running |
%emberessentials_event_time% |
Time left on the first one |
%emberessentials_event_<id>% |
yes when that event is running |
Giveaways
| Placeholder |
Is |
%emberessentials_giveaway_active% |
yes when one is running |
%emberessentials_giveaway_prize% |
What is being given away |
%emberessentials_giveaway_entries% |
How many have entered |
%emberessentials_giveaway_time% |
Time left to enter |
%emberessentials_giveaway_winners% |
Who won the last one |
Leaderboards
%emberessentials_leaderboard_<board>_<place>_name%
%emberessentials_leaderboard_<board>_<place>_value%
%emberessentials_leaderboard_<board>_<place>_raw%
So the richest player is
%emberessentials_leaderboard_balance_1_name%, and what they have is
%emberessentials_leaderboard_balance_1_value%. raw gives the number
unformatted, for when you want to do your own sums with it.
The board id may itself contain underscores; the key is read from the right,
so most_blocks_2_name still finds the board most_blocks.
These work without a player. Events, giveaways and leaderboards are all
resolved before the "needs somebody online" check, because the obvious place
to put a leaderboard is a hologram, and a hologram has no player to render it
for.
An empty board returns blank rather than an error - a new server has empty
boards, and this is going straight onto a sidebar.
A note on cost
Leaderboards are computed on a timer, off the main thread, and every
placeholder reads the cached result. Putting ten of them on a sidebar that
refreshes every second costs ten map lookups, not ten passes over every player
who has ever joined.