Skip to content

4.References

ClassicBiz edited this page Oct 20, 2026 · 2 revisions

Placeholders

Placeholders are bits of text in {curly braces} that get replaced with live values. Each player sees their own values: {player.name} shows each viewer their own name.

Format: {namespace.key}, {namespace.key:argument}, and filters after a |: {player.health|round}.

In game: /aholo placeholders lists every namespace on your server (other mods can add more), and /aholo placeholders <namespace> lists its keys. In the editor, text fields have a picker for them.


player - the viewer

Placeholder Shows
{player.name} Player name
{player.displayname} Display name (team prefix, nickname mods)
{player.uuid} Player UUID
{player.x} / y / z Exact position
{player.blockx} / blocky / blockz Block position
{player.yaw} / pitch Look direction
{player.dimension} Dimension id, e.g. minecraft:overworld
{player.biome} Biome at the player's feet
{player.health} Health, 1 decimal (health.max for max)
{player.hunger} Food level 0-20 (alias food)
{player.saturation} Saturation
{player.thirst} Tough As Nails thirst, else a thirst scoreboard objective
{player.armor} Armor points
{player.air} Air in ticks (300 = full)
{player.level} XP level
{player.xp} Total XP points
{player.xp.progress} Progress to the next level, 0-100
{player.gamemode} survival / creative / adventure / spectator
{player.flying} / sneaking true / false
{player.op} Op level 0-4
{player.perm:<node>} true if the player has the permission (LuckPerms, else op 2)
{player.team} Scoreboard team
{player.held} Name of the item in the main hand
{player.inventory:<slot>} Item id in inventory slot 0-35
{player.equipment:<slot>} Item id in mainhand / offhand / head / chest / legs / feet
{player.item.count:<item>} How many of an item the player carries
{player.effect:<effect>} Effect level (empty if none); effect.time:<effect> for seconds left
{player.objective:<name>} Score in a scoreboard objective
{player.kills} Player kills (also mobkills, deaths)
{player.stat:<id>} Any vanilla stat, e.g. stat:jump
{player.ping} Ping in ms (ping.color for green/yellow/red)
{player.playtime} Play time like 5h 12m (playtime.seconds for raw)

server

Placeholder Shows
{server.name} Server MOTD (alias title)
{server.players} Players online (players.max for the limit)
{server.uptime} Time since the server started
{server.time:<pattern>} Real time (default HH:mm:ss)
{server.tps} Ticks per second (tps.color for colour)
{server.mspt} Milliseconds per tick (mspt.color)
{server.ram.used:<gb or mb>} Memory used (ram.max for the limit)
{server.version} Minecraft version (brand for the server software)
{server.mod.count} Number of mods
{server.mod:<modid>} A mod's version (mod.name:<modid> for its name)

world - the hologram's world

Placeholder Shows
{world.name} Dimension id (alias id)
{world.players} Players in this dimension
{world.time} In-game clock HH:mm (time.alt adds the day)
{world.time.day} In-game day number
{world.weather} clear / rain / thunder
{world.mobs:<category>} Mob count (mobs.max:<category> for the cap)

time - real-world time

Placeholder Shows
{time.now:<pattern>} Current time (default HH:mm); add a zone: now:HH:mm@America/New_York
{time.date:<pattern>} Current date (default yyyy-MM-dd)
{time.unix} Unix time in seconds
{time.zone} The server's time zone
{time.until:<date>} Countdown to yyyy-MM-dd[ HH:mm], like 2d 4h 3m 10s
{time.until.seconds:<date>} Seconds left
{time.since:<date>} Time since a date (since.seconds for raw)

top - leaderboards

Placeholder Shows
{top.name:<objective>:<rank>} Name at a rank (1 = highest)
{top.value:<objective>:<rank>} Score at a rank
{top.rank:<objective>} The viewer's rank
{top.count:<objective>} Entries on the board
{top.name:state.<key>:<rank>} Rank by a player variable instead of a scoreboard

holo - this hologram

Placeholder Shows
{holo.alias} Hologram name (id for its UUID)
{holo.x} / y / z Position
{holo.dim} Dimension
{holo.page} / {holo.pages} Viewer's page number / pages they can open: Page {holo.page}/{holo.pages}
{holo.page.title} Title of the current page
{holo.menu} Name of the open menu (empty if none)

Values players and holograms store

Placeholder Shows
{state.<key>} This player's own variable ({state.key:default} when unset)
{var.<key>} Variable: the player's own, else the global one ({var.coins:0})
{var.global.<key>} / {var.player.<key>} Only the global / only the player's own
{input.<name>} What the player entered in input field <name> on this hologram
{meta.<key>} A value stored on the hologram (/aholo <id> meta add <key> <value>)
{data.<key>} A template variable (or {key} for short)
{lang.<translation.key>} Text from a language file, in the viewer's language
{pos.x} / y / z Viewer position (also blockx...)

link - blocks the hologram is linked to

Use {link.<source>.<key>:<link name>}. See [Linking blocks](LINK: Linking guide).

Source Keys
block name, id, powered (redstone 0-15), x, y, z
container count (add ,ITEM to count one item), has, slots, used, free, fill (%), types, top
furnace burning, progress (%), burn_seconds, input, fuel, output, input_count, fuel_count, output_count
sign line (add ,1 to ,4), text

Also: {link.available:<name>} (true when the block is loaded) and {link.name:<name>}. Example: {link.container.count:chest,minecraft:diamond}.

trade - shops

Placeholder Shows
{trade.max:SIDE,ITEM,PRICE[,SHOP[,LINK[,CURRENCY]]]} Most the viewer can buy/sell right now
{trade.economy} yes when an economy mod is connected

econ - money (needs an economy mod)

Placeholder Shows
{econ.player.balance} The viewer's balance in the connected economy mod
{econ.format:<amount>} An amount written the economy mod's way

An economy mod may replace these with its own {econ.*} keys.

When other mods are installed

Mod Placeholders
Lightman's Currency {lightman.balance}, {lightman.coins}, {lightman.bank}, {lightman.format:<value>}
FTB Quests {ftbquests.progress:<id>}, completed:<id>, started:<id>, title:<id>, quests.completed, quests.total, chapters, team
FTB Teams {ftbteams.name}, id, members, members.list, online, online.list, owner, color

Filters

Add after a |, and chain as many as you like: {player.health|round|default:?}

Filter Does
upper / lower / title Change case (title also turns _ into spaces)
trim Strip surrounding spaces
strip Remove colour codes
max:<n> Cut to n characters, adding …
pad:<n>[:char] / padleft:<n>[:char] Pad to n characters (padleft:3:0 makes 007)
replace:<from>:<to> Replace text
prefix:<text> / suffix:<text> Add text, only when not empty
default:<text> Use text when empty
if:<then>[:<else>] then when the value is truthy (not empty / false / 0 / no)
yesno true → Yes, false → No
map:a=x,b=y[,*=z] Translate values (* = anything else)
round[:decimals] / int Round / drop decimals
number[:decimals] Thousands separators (1,234,567)
compact[:decimals] 1.2K, 3.4M, 5B
percent:<max>[:decimals] Value as % of max (`health
add:<n> / sub:<n> / mul:<n> / div:<n> Maths
bar:<max>[:width[:full[:empty]]] Progress bar
color:<good>:<warn>[:low] Green / yellow / red by threshold
duration[:unit] 3725 → 1h 2m 5s (unit: s, ticks, ms, m, h)
clock[:unit] 3725 → 01:02:05

Test one: /aholo placeholders parse <text> shows what a piece of text turns into for you.

Actions

An action is what happens when a button is clicked (or when a player walks near a hologram, see [Proximity triggers](LINK: Proximity guide)).

Easiest way: in the editor, select a button and click On click. Pick what it should do from the list and fill in the fields. The action text is written for you.

You can also type actions directly. Placeholders work inside them: advholo:message?text=Hi {player.name}.


Pages and menus

Editor name Action
Next page advholo:page_next
Previous page advholo:page_prev
Go to page advholo:page_set?page=2
Open a menu advholo:menu_open?name=shop
Toggle a menu advholo:menu_toggle?name=shop
Close the menu advholo:menu_close

Show and hide elements (for this player)

Editor name Action
Show an element advholo:show?id=details
Hide an element advholo:hide?id=details
Show/hide an element advholo:toggle_show?id=details

Several ids: id=a,b,c. Add &seconds=5 to switch back after 5 seconds.

Player variables ({state.*})

Stored per player, for example a setting they toggle.

Editor name Action
Set a player variable advholo:state_set?key=music&value=on
Toggle a player variable advholo:state_toggle?key=music
Add to a player variable advholo:state_add?key=clicks&amount=1
Clear a player variable advholo:state_clear?key=music

Variables ({var.*})

Per player by default, or shared by everyone with &scope=global. Saved unless you add &temp=true.

Editor name Action
Set a variable advholo:var_set?key=coins&value=5
Add to a variable advholo:var_add?key=coins&amount=1
Toggle a variable advholo:var_toggle?key=lights
(clear) advholo:var_clear?key=coins

Feedback

Editor name Action
Chat message (to the player) advholo:message?text=&aWelcome!
Action bar text advholo:actionbar?text=&eHello
Play a sound (to the player) advholo:sound?id=minecraft:entity.experience_orb.pickup&volume=1&pitch=1

Shops

Editor name Action
Buy / sell (shop) advholo:trade?side=buy&qty=1&item=minecraft:bread&price=2

See [Shops](LINK: Shops guide) for barter (emerald) shops, chest stock and money shops.

Commands

Editor name Action
Run a command as the player cmd:/spawn
Run a command as console console:/give {player.name} minecraft:diamond 1

Console commands run with full permissions. Only staff can add them.

Other

Editor name Action
Fire an event (for mods/scripts) advholo:event?name=opened_shop
Server event flag advholo:flag?name=sale&on=true (or false, toggle); use with the flag(sale) condition
Mod action an action another mod added, e.g. mymod:open_bank
Custom type any action yourself

Click settings

Each button also has click settings in the editor (under Click behaviour):

  • cost: an item cost (e.g. 2 diamonds) or a money cost (needs an economy mod)
  • cooldown between clicks
  • confirm: ask "Are you sure?" first
  • disabled if: grey the button out when a [condition](LINK: Conditions reference) is true
  • tooltip shown when hovering
  • Then (action chain): more actions after the first, on success or failure, with an optional delay

Conditions

A condition decides whether something is shown (an element's Who sees it), or whether a button is greyed out (disabled if). It's checked per player, so different players can see different things.

The checks

Condition True when
has(x) placeholder x has a value, e.g. has(link.container.count:chest)
empty(x) placeholder x is empty
eq(x,value) / ne(x,value) x equals / doesn't equal value (not case-sensitive)
gt(x,n) gte(x,n) lt(x,n) lte(x,n) number comparisons; n can be a placeholder: gte(econ.player.balance,{data.price})
contains(x,text) / starts(x,text) text checks (not case-sensitive)
perm(node) the player has a LuckPerms permission
op(level) the player has that op level
true / false always / never

Write placeholders inside conditions without braces: eq(player.gamemode,creative).

Time and events

Condition True when
between(18:00,23:30) real (server) time is in that range; can wrap past midnight
weekday(sat,sun) it's one of those days
night() / day() it's night / day in game
gametime(13000,23000) the in-game time of day (ticks) is in that range
rotate(SECONDS,INDEX,COUNT) one slot of a rotation: show COUNT elements in turn, INDEX from 0
flag(NAME) a server event flag is on (advholo:flag?name=NAME&on=true)

Links

Condition True when
available(LINK) the linked block is loaded and present
linked(LINK) the hologram has a link with that name

Combining

  • ! in front negates: !has(trade.economy)
  • && means and, || means or (|| is weakest): perm(vip) || op(2)

Example: show a VIP-only button between 6 and 11 pm: perm(group.vip) && between(18:00,23:00)

A condition that's mistyped counts as false, so it hides the element rather than showing it to everyone.

Commands

The main command is /aholo. /holo and /ah also work when no other mod uses those names. Most commands need operator (op level 2). Players use /myholo for their own holograms.

Tip: you rarely need most of these. The editor (look at a hologram, press H) does the same things with buttons. Tab-completion shows every option in game.

Managing holograms

Command Does
/aholo create <name> <title> Create a hologram in front of you
/aholo editor Open the hologram browser
/aholo <name> edit Open the editor for a hologram
/aholo list / /aholo list near <range> List holograms (all, or nearby)
/aholo movehere <name> Move a hologram to where you stand
/aholo move <name> <x> <y> <z> Nudge a hologram by x/y/z blocks
/aholo rename <name> <newName> Rename
/aholo duplicate <name> <newName> Copy a hologram
/aholo delete <name> Delete
/aholo anchor <name> ... Facing and rotation (reset to undo)
/aholo spawndemo Spawn the showcase hologram

A hologram's look and size

Command Does
/aholo <name> size <cols> <rows> Panel size
/aholo <name> scale <scale> Overall scale
/aholo <name> bg ... / frame ... Background colour, border and corners
/aholo <name> render <distance> How far away it's visible
/aholo <name> bounds <width> <height> Click area
/aholo <name> clickrange <blocks> How far away it can be clicked
/aholo <name> text add ... / button add ... / shape add ... / image add ... / input add ... / chart add ... Add elements (easier in the editor)
/aholo <name> leaderboard <objective> <rows> <title> Add a ready-made leaderboard
/aholo <name> widget cond <id> <expr> Set an element's condition (clear to remove)

Pages, menus, views, templates

Command Does
/aholo <name> page list / add <page> <title> / delete <page> / edit <page> Pages
/aholo <name> page lock <page> perm <node> / op <level> / clear Who may open a page
/aholo <name> menu list / add <name> / delete <name> / edit <name> / open <name> / close Menus
/aholo <name> view list / add <view> Extra views (staff, VIP...)
/aholo <name> template apply <template> / save <name> / clear / info Templates
/aholo templates list / reload / info <t> / delete <t> Manage saved templates

Behaviour

Command Does
/aholo <name> click action <action> / click clear Action when the panel itself is clicked
/aholo <name> proximity radius <blocks> / cooldown <seconds> / enter <action> / leave <action> / show / clear [Proximity triggers](LINK: Proximity guide)
/aholo <name> attach self / player <player> / public <player> / position <front or above> / offset <right> <up> <forward> / info [Follow a player](LINK: Follow guide)
/aholo <name> detach Stop following
/aholo <name> link add <name> / remove <name> / list [Link blocks](LINK: Linking guide)
/aholo <name> meta add <key> <value> Store a value ({meta.key})
/aholo <name> data bind <binding> / clear Data binding for templates
/aholo <name> staff hide / show / lock / unlock / revoke Staff controls on player holograms

Tools

Command Does
/aholo placeholders / placeholders <namespace> / placeholders filters List placeholders and filters
/aholo placeholders parse <text> Show what text turns into for you
/aholo flag on <name> / off <name> / list Server event flags (for conditions)
/aholo images list / reload Images in config/advancedinteractions/images/
/aholo log player <who> <hours> / holo <name> <hours> Action log: who clicked what
/aholo perf / perf reset Placeholder performance counters

Players: /myholo

Players can make and edit their own holograms (if the server allows it, see [Player-owned holograms](LINK: Player holograms guide)).

Command Does
/myholo create <name> [template] Create one, optionally from an allowed template
/myholo list Your holograms
/myholo edit <name> Open the editor
/myholo move <name> Move it to where you stand
/myholo link <name> <link> / unlink <name> <link> Link it to a block (e.g. your shop chest)
/myholo delete <name> Delete it

Config

Server settings. They're the same on every loader; only the file differs:

  • Forge / NeoForge: serverconfig/advancedinteractions-server.toml inside the world folder
  • Fabric: config/advancedinteractions-server.json

interaction

Setting Default What it does
clickReach 6.0 Default distance (blocks) players can click hologram elements from
clickReachMax 16.0 Largest click distance a hologram may set
clickDebounceTicks 4 Minimum ticks between two clicks on the same element by one player (stops double purchases from lag)

performance

Setting Default What it does
maxViewDistance 128.0 Server-wide limit on how far holograms are visible (blocks)
placeholderRates top=10, ftbquests=5, container=1, furnace=1 Minimum seconds between refreshes per placeholder namespace
pauseWithoutViewers true Skip chart sampling and proximity checks for holograms with nobody nearby

log

Setting Default What it does
enabled true Record clicks, purchases/sales and staff editor actions (/aholo log)
retentionDays 30 Days to keep log entries

playerEditor

What players can do with their own holograms (/myholo).

Setting Default What it does
enabled true Let players edit holograms they own
maxHologramsPerOwner 3 Most holograms one player may make
maxElements 40 Most elements in a player-owned hologram
maxColumns / maxRows 20 / 16 Largest panel size
maxScale 1.5 Largest hologram scale
maxElementScale 3.0 Largest scale of one element
maxDistanceFromLink 6.0 Furthest a player hologram may be from the block it's linked to
maxTextLength 120 Longest text in one element
editCooldownSeconds 3 Seconds between saves
templates (none) Templates players may start from and apply
placeholders link, input, trade, holo, meta, data, state, time, lang Placeholder namespaces players may use. Others are removed from templates they apply; anything staff already put on a hologram stays.

filter

Setting Default What it does
blockedWords (none) Words blocked in player-edited text and text input fields (not case-sensitive)

Text formatting

Everything here works in any hologram text: text elements, button labels, tooltips and messages.

Colours and styles

Type & and a code in front of the text it should apply to.

Code Colour Code Colour
&0 Black &8 Dark gray
&1 Dark blue &9 Blue
&2 Dark green &a Green
&3 Dark aqua &b Aqua
&4 Dark red &c Red
&5 Dark purple &d Light purple
&6 Gold &e Yellow
&7 Gray &f White
Code Style
&l Bold
&o Italic
&n Underline
&m Strikethrough
&k Scrambled
&r Reset to normal

Any colour: &#RRGGBB, e.g. &#FF8800Orange.

Gradients

:grad[#FF0000-#0000FF]Your text: fades the text from the first colour to the second. In the editor, text fields have a gradient helper.

Icons in text

Put items, blocks or mobs right inside a line of text:

Token Shows
:#ITEM:minecraft:diamond: An item icon
:#BLOCK:minecraft:stone: A 3D block
:#ENTITY:minecraft:zombie: A mob

Options go in brackets before the closing :: :#ITEM:minecraft:emerald[size@1.5,rotate@true]:

  • size@N: bigger or smaller (1 = normal)
  • rotate@true: spin it
  • facing@east: which way it faces

Placeholders

{player.name}, {server.tps} and so on. See Placeholders.

Line breaks

Use \n for a new line inside one text element or tooltip.

Clone this wiki locally