Astral Realms Documentation Help

Menu Placeholders

Menu templates use %key% syntax. The placeholder pipeline resolves keys through a hierarchical PlaceholderContainer in this order:

  1. Layout item context (if inside a layout)

  2. Variables (var.*)

  3. Parameters (param.*)

  4. Player (player.*)

  5. Server (server.*)

  6. Global variables (global.*)

  7. Number formatter (format.*)

  8. PlaceholderAPI fallback (any unresolved key)

player.*

Properties of the player who has the menu open.

Placeholder

Description

%player.name%

In-game name

%player.uuid%

UUID string

%player.health%

Current health (double)

%player.max-health%

Maximum health

%player.food%

Food level (0–20)

%player.level%

XP level

%player.exp%

XP progress within the current level (0.0–1.0)

%player.ping%

Network latency in milliseconds

%player.world%

Current world name

%player.x%

X coordinate

%player.y%

Y coordinate

%player.z%

Z coordinate

%player.equipment.HEAD%

Helmet display name (or empty)

%player.equipment.CHEST%

Chestplate display name

%player.equipment.LEGS%

Leggings display name

%player.equipment.FEET%

Boots display name

%player.equipment.HAND%

Main-hand item display name

%player.equipment.OFF_HAND%

Off-hand item display name

server.*

Properties of the current server.

Placeholder

Description

%server.id%

Server ID from config.yml

%server.group%

Server group

%server.environment%

Environment label (e.g. development, production)

%server.host%

Server hostname

%server.port%

Server port

param.*

Parameters passed when the menu was opened.

menus.computeAndOpen(player, "shop", Map.of("tab", "weapons", "page", 2));

Inside the menu:

title: "<bold>Shop — %param.tab%"

%param.tab%weapons

var.*

Local menu variables. Updated at runtime via set-variable.

variables: page: "0" mode: "buy"
name: "<yellow>Mode: %var.mode%"

layout.<id>.*

Pagination and size information for a layout. Replace <id> with the layout key.

Placeholder

Description

%layout.<id>.page%

Current page index (0-based)

%layout.<id>.pages%

Total page count

%layout.<id>.size%

Total number of items

%layout.<id>.index%

Item index within the full provider (inside a layout item)

global.*

Global variables registered from outside the menu (e.g. by other plugins).

lore: - "<gray>Server name: %global.server_display_name%"

format.*

Number formatting. Syntax: %format.number:<value>.<decimals>%

lore: - "<gray>Balance: %format.number:%param.balance%.2%"

Produces e.g. Balance: 1,234.56.

PlaceholderAPI Fallback

Any placeholder not resolved by the internal pipeline is passed to PlaceholderAPI. This means all standard PAPI expansions (%vault_balance%, %luckperms_prefix%, etc.) work inside menus without any configuration.

23 April 2026