Skip to content

Placeholders

Placeholders are dynamic values you can use in supported text fields. They are filled in when the flow runs.

Use placeholders in fields that show the {} icon.

Syntax

Wrap placeholder names in percent signs:

text
%placeholder.name%

Examples:

  • %player.name%
  • %world.name%
  • %command.arg[1]%
  • %global.double_xp_event%

Universal Placeholders

These placeholders are available globally across all flows, regardless of the trigger type.

Player

PlaceholderTypeDescriptionExample
%player.name%stringReturns the player usernameTheVoidNexus
%player.displayname%stringFormatted display name (with prefix)&4Developer TheVoidNexus
%player.tabname%stringFormatted player tab list name (with prefix and suffix)&4Developer TheVoidNexus &7[AFK]
%player.uuid%stringReturns the player UUID933b35ec-3571-4e85-938d-0f8094a98551
%player.ip%stringReturns the player IP address127.0.0.1
%player.locale%stringReturns the player locale/languageen
%player.first_join%booleanReturns whether this is the first jointrue / false
%player.playtime%numberReturns total playtime in seconds3600
%player.playtime.formatted%stringReturns total playtime in a human-readable format2h 31m
%player.ping%numberPlayer ping in milliseconds45
%player.version%stringPlayer client version1.16.5
%player.client%stringPlayer clientfabric
%player.joinhost%stringThe host the player joined fromplay.oasisworld.net

WARNING

Use %player.name% when you need a stable player identifier across online/offline account mode changes. UUIDs can change if a player switches authorization mode.

Rank & Permissions

PlaceholderTypeDescriptionExample
%player.rank.name%stringHighest rank display nameDeveloper
%player.rank.id%stringHighest rank internal IDdev
%player.rank.prefix%stringReturns the player prefix&cDeveloper
%player.rank.suffix%stringReturns the player suffix-
%player.track.name%stringHighest active permission track name-
%player.track.id%stringHighest active permission track ID-

Location

PlaceholderTypeDescriptionExample
%player.location.world%stringCurrent world nameworld
%player.location.x%numberX coordinate150.5
%player.location.y%numberY coordinate64
%player.location.z%numberZ coordinate-200.3
%player.location.yaw%numberPlayer yaw rotation (left/right angle)90.0
%player.location.pitch%numberPlayer pitch rotation (up/down angle)15.5
%player.location.biome%stringCurrent biomePLAINS

Stats

PlaceholderTypeDescriptionExample
%player.health%numberCurrent health15.5
%player.max_health%numberMaximum health20
%player.food%numberFood/hunger level20
%player.level%numberXP level30
%player.exp%numberCurrent XP progress0.75
%player.gamemode%stringCurrent gamemodeSURVIVAL

Inventory

PlaceholderTypeDescriptionExample
%player.inventory.mainhand.type%stringMain hand item materialDIAMOND_SWORD
%player.inventory.mainhand.name%stringMain hand item display nameExcalibur
%player.inventory.mainhand.amount%numberMain hand item stack amount1
%player.inventory.offhand.type%stringOffhand item materialSHIELD
%player.inventory.empty_slots%numberCount of empty inventory slots12
%player.inventory.helmet%stringCurrently equipped helmet materialIRON_HELMET

Economy

PlaceholderTypeDescriptionExample
%economy.balance%numberRaw player balance1500.50
%economy.balance_formatted%stringClean, formatted balance1.5k
%economy.currency.name%stringCurrency nameCoins
%economy.currency.symbol%stringCurrency symbol$

World

PlaceholderTypeDescriptionExample
%world.name%stringCurrent world nameworld_nether
%world.time%numberCurrent world time (ticks)6000
%world.weather%stringCurrent weather stateCLEAR
%world.difficulty%stringWorld difficulty levelHARD

Server

PlaceholderTypeDescriptionExample
%server.name%stringServer nameMyServer
%server.online%numberOnline player count150
%server.max_players%numberMaximum player slots500
%server.tps%numberServer Ticks Per Second19.9
%server.uptime%numberServer uptime in seconds86400

System

PlaceholderTypeDescriptionExample
%system.date%stringCurrent date2026-05-07
%system.time%stringCurrent server time14:32:15
%system.timezone%stringServer timezoneEurope/Stockholm
%system.ram.used%numberUsed RAM in MB6144
%system.ram.free%numberFree RAM in MB2048
%system.cpu.usage%numberCPU usage percentage37.5

Entity

PlaceholderTypeDescriptionExample
%entity.name%stringEntity display nameZombie Warrior
%entity.type%stringEntity typeZOMBIE
%entity.uuid%stringEntity UUID550e8400...
%entity.health%numberEntity health20

Context-Specific Placeholders

These placeholders are only available when the flow starts from the matching trigger or event.

Command Events

Available when using a Command Trigger.

PlaceholderTypeDescriptionExample
%command.name%stringThe base command namespawn
%command.label%stringThe exact alias/label used by the playertp
%command.args%arrayAll command arguments["home", "lobby"]
%command.arg[]%stringAll command arguments as texthome lobby
%command.arg[x]%stringSpecific argument by 1-based index%command.arg[1]% -> home
%command.arg[1,2,3]%stringSelected arguments by 1-based indexeshome lobby spawn
%command.arg[>x]%stringArguments after the 1-based index%command.arg[>1]% -> args 2+
%command.arg[>=x]%stringArguments from the 1-based index%command.arg[>=1]% -> args 1+
%command.arg[<x]%stringArguments before the 1-based index%command.arg[<3]% -> args 1-2
%command.arg[<=x]%stringArguments through the 1-based index%command.arg[<=3]% -> args 1-3
%command.args.x%stringLegacy specific argument by 1-based index%command.args.1% -> home
%command.args_count%numberNumber of arguments provided2

How Arguments Work

Because %command.args% returns an array, you can use the Array node to get arguments by index. For example, in /teleport to player TheVoidNexus:

  • Index 0 returns "to"
  • Index 1 returns "player"
  • Index 2 returns "TheVoidNexus"

Or use %command.arg[...]% placeholder syntax, where indexes are 1-based:

  • %command.arg[]% -> to player TheVoidNexus
  • %command.arg[1]% -> to
  • %command.arg[>1]% -> player TheVoidNexus
  • %command.arg[>=2]% -> player TheVoidNexus
  • %command.arg[<3]% -> to player
  • %command.arg[<=2]% -> to player
  • %command.arg[1,3]% -> to TheVoidNexus

General Events

Available when using an Event Trigger.

PlaceholderTypeDescriptionExample
%event.name%stringThe name of the fired eventplayer_join
%event.cancelled%booleanWhether the event has been cancelledfalse

Chat Events

Available specifically during the player_chat event.

PlaceholderTypeDescriptionExample
%chat.message%stringThe full chat messageHello world!
%chat.message_stripped%stringChat message stripped of color codesHello world!

Combat Events

Available during damage/death events.

PlaceholderTypeDescriptionExample
%combat.damage%numberAmount of damage dealt5
%combat.damage_cause%stringThe cause of the damageENTITY_ATTACK
%combat.attacker%stringName of the attacking entity/playerZombie
%combat.weapon%stringMaterial of the weapon usedDIAMOND_SWORD
%combat.critical%booleanWhether the hit was criticaltrue

Custom Placeholders

Variables created with Set Variable or Set Boolean can be used as placeholders:

%custom.variable%

This is useful for storing calculations, array values, flags, or text and then reusing them later in messages, titles, conditions, or commands.

Scopes:

  • Local: Only exists while the current flow branch is running.
  • Player: Stored separately per player.
  • Global: Shared across the server network.

Target Player Placeholders

You can read a placeholder for a specific player instead of the triggering player. This is useful for admin commands, moderation tools, comparisons, and multi-player flows.

Syntax

Append the target player's username or UUID in parentheses:

%placeholder.name(targetPlayer)%

Examples:

  • %player.health(TheVoidNexus)% returns the health of player TheVoidNexus.
  • %player.rank.prefix(Notch)% returns Notch's rank prefix.
  • %custom.my_variable(933b35ec-3571-4e85-938d-0f8094a98551)% returns the value of player variable my_variable for the player with that exact UUID.

Online and Offline Players

Online player values such as health, location, and inventory are live. Offline players can still return persistent profile values such as name, rank, and saved variables. Live-only values for offline players may return safe fallback values such as 0 or none.

Nested & Dynamic Examples

You can use another placeholder inside the parentheses:

  • Command Arguments:%player.rank.name(%command.args.0%)% If a player runs /check Notch, the command argument becomes the target player.

  • Interacted Entities:%player.displayname(%entity.name%)% Reads the display name of the player whose name matches the interacted entity.

  • Variables:%my_custom_var(Notch)% Reads the player-scope custom variable my_custom_var for Notch.


Text Helpers

Text helpers let you trim, extract, replace, format, and conditionally show text inside supported fields.

Text Buttons

Use %text.button(<text>)(<tooltip text>)[<button id>]% inside a Send Message text field to create a clickable text button. Add a Button Trigger node with the same button ID to choose what happens when the player clicks it.

Example: %text.button([Accept])(&aClick to accept)[accept]%

Set the Button Trigger click action to Trigger Flow to run the matching output. You can also use direct click actions like Run Command, Suggest Command, Open URL, or Copy to Clipboard. Inside a triggered Button Trigger flow, %button.id% returns the clicked button ID.

Text Functions

PlaceholderReturn TypeDescriptionExample
%text.button(<text>)(<tooltip text>)[<button id>]%stringCreates a clickable text button handled by a Button Trigger node.%text.button([Accept])(&aClick to accept)[accept]%
%text.trim(text)%stringRemoves leading and trailing whitespace from the text.%text.trim( hello )%hello
%text.length(text)%numberReturns the total character length of the text.%text.length(apple)%5
%text.delete[idx1][idx2](text)%stringRemoves characters at a single index or between two indices (inclusive start, exclusive end).%text.delete[1][3](hello)%hlo
%text.delete[1](hello)%hllo
%text.extract[idx1][idx2](text)%stringExtracts characters at a single index or between two indices (inclusive start, exclusive end).%text.extract[1][3](hello)%el
%text.extract[1](hello)%e
%text.extract.word[idx1][idx2](text)%stringExtracts word(s) by index or range (0-based, space-separated). Range is inclusive of both ends.%text.extract.word[0][1](hello world extra)%hello world
%text.extract.word[1](hello world)%world
%text.extract.before[idx](text)%stringExtracts all characters before the specified index.%text.extract.before[3](hello)%hel
%text.extract.after[idx](text)%stringExtracts all characters after the specified index (inclusive of index).%text.extract.after[3](hello)%lo
%text.replace(old)(new)(text)%stringReplaces occurrences of old with new in the target text.%text.replace(a)(o)(apple)%opple
%text.titlecase(text)%stringConverts the first letter of every word to uppercase.%text.titlecase(hello world)%Hello World
%text.uppercase(text)%stringConverts the entire text to uppercase.%text.uppercase(hello)%HELLO
%text.lowercase(text)%stringConverts the entire text to lowercase.%text.lowercase(HELLO)%hello
%text.convert.number(text)%numberStrips non-numeric characters and converts the string to a numeric value.%text.convert.number(12.34)%12.34
%text.convert.text(text)%stringFormats a numeric value into a plain string.%text.convert.text(100)%100

Conditional Show Function

PlaceholderReturn TypeDescriptionExample
%text.show[boolean][text_if_true][text_if_false]%stringRenders the first text option if boolean, placeholder, or variable evaluates to true (or 1, yes), otherwise renders the second (optional) text option.%text.show[%player.first_join%][New User][Returning User]%

Oasis Admin Editor Documentation