Skip to content

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.