Skip to Content
PluginsAquaCorePlaceholders

Placeholders

AquaCore registers a PlaceholderAPI expansion under the identifier aquacore. It is enabled automatically when PlaceholderAPI is present and the placeholders module is on.

Identifieraquacore
RequiresPlaceholderAPI 2.11+
Moduleplaceholders
RegistrationAutomatic on enable

Server placeholders

PlaceholderReturnsExample
%aquacore_version%Plugin version2.0.0
%aquacore_templates%Number of loaded templates7
%aquacore_modules%Enabled module count4
%aquacore_last_broadcast%Name of the last template firedwelcome
%aquacore_last_broadcast_ago%Seconds since the last broadcast184

Player placeholders

PlaceholderReturnsExample
%aquacore_cooldown%Seconds left on the sender’s cooldown12
%aquacore_cooldown_formatted%Same, humanised12s
%aquacore_can_broadcast%true / falsetrue
%aquacore_head_line_<n>%Line n of the player’s rendered head (1–8)██████

Head placeholders require the heads module. Each line is 8 characters wide, so a full head is %aquacore_head_line_1% through %aquacore_head_line_8%.

Using them in templates

Inside AquaCore’s own YAML you can mix custom arguments, placeholders and colours freely:

templates/welcome.yml
chat: - "&#38ecff{player} &7joined as &#0a84ff{rank}" - "&8Server uptime: &7%server_uptime% &8| &7%server_online%&8/&7%server_max_players%"

{argument} braces are resolved by AquaCore before PlaceholderAPI runs. If a placeholder returns text containing braces, it will not be re-parsed — that is intentional and prevents injection through player names.

Using them elsewhere

Any plugin that supports PlaceholderAPI can read AquaCore values — scoreboards, tab lists, holograms, chat formatters:

scoreboard.yml
lines: - "&8» &7Templates: &#38ecff%aquacore_templates%" - "&8» &7Cooldown: &#38ecff%aquacore_cooldown_formatted%"

Troubleshooting

SymptomCause
Placeholder prints rawPlaceholderAPI missing, or placeholders module disabled
Always returns emptyPlaceholder is player-scoped and was requested with no player context
%aquacore_head_line_1% emptyheads module disabled, or the skin is still being fetched (async)
Last updated on