Setting Up PlaceholderAPI: Installing Expansions and Using Placeholders
Placeholders show up in half the plugins on a server — TAB, scoreboards, chat formats — but PlaceholderAPI itself does nothing until expansions are installed.
Setting Up PlaceholderAPI: Installing Expansions and Using Placeholders
PlaceholderAPI is the plugin behind almost every dynamic value shown in TAB, scoreboards, and chat formats — but it ships with nothing usable until expansions are added.
A placeholder is a short code like %player_name% that gets replaced with a real value at display time. PlaceholderAPI itself is just the engine — the actual placeholders (player balance, ping, world, rank) come from separate expansion files.
Install the Base Plugin
Drop PlaceholderAPI.jar into plugins/ and restart. On its own, it has no placeholders registered yet — that's expected.
Install Expansions
Expansions are installed from in-game or console, not by downloading jars manually:
/papi ecloud download player
/papi ecloud download vault
/papi ecloud download luckperms
/papi reloadEach expansion adds a specific set of placeholders — player covers basics like %player_name% and %player_ping%, vault adds economy placeholders like %vault_eco_balance%, and luckperms adds %luckperms_prefix% and similar.
Finding Available Placeholders
/papi ecloud listlists every expansion available in the online repository. For placeholders already installed:
/papi listshows every active placeholder registered on the server right now.
Testing a Placeholder
/papi parse me %player_name% has %vault_eco_balance% coinsruns the placeholder replacement against your own player and prints the result — the fastest way to confirm an expansion actually works before wiring it into a config file.
Using Placeholders in Other Plugins
Once installed, placeholders just get typed directly into whatever config supports them — TAB's config.yml, a scoreboard plugin's lines, or a chat format:
format: '%luckperms_prefix% %player_name%&7: &f%message%'Not every plugin supports PlaceholderAPI placeholders — it needs to specifically declare a "PlaceholderAPI hook," which most modern config-heavy plugins (TAB, DeluxeMenus, FeatherBoard) do.
Common Issues
- A placeholder returns the raw code instead of a value — almost always means the expansion for it isn't installed, or hasn't been reloaded with
/papi reloadafter installing. - Expansion install fails — occasionally caused by the eCloud repository being temporarily unreachable; retrying after a few minutes usually resolves it.
- Conflicting placeholder names — rare, but two expansions registering the same placeholder key will have one silently override the other depending on load order.