When editing formats.yml, you will rely on placeholders to inject dynamic data into the chat.

Internal Placeholders

These placeholders are processed directly by Scribe and are available everywhere in formats.yml:

Placeholder Description
{player} The raw Minecraft username of the player.
{display_name} The player’s active nickname. Falls back to username.
{message} The actual text the player typed.
{time} The time the message was sent (formatted via config.yml).
{tag} The player’s equipped chat tag (from /tags).
{prefix} The player’s LuckPerms/Vault prefix.
{suffix} The player’s LuckPerms/Vault suffix.

Roleplay Placeholders

These are specific to the roleplay section in formats.yml.

Placeholder Description
{action} The action described in /me, /do, or /try.
{result} The number rolled in /roll.
{max} The maximum bounds of the /roll command.

PlaceholderAPI (PAPI)

Scribe supports full PlaceholderAPI integration. If you have PlaceholderAPI installed, you can use any %placeholder% directly inside formats.yml or config.yml.

For example, to display a player’s faction or town in their chat format:

default: "<gray>[%towny_town%]</gray> <primary>{display_name}</primary>: <white>{message}</white>"

MiniPlaceholders

If you want to use PAPI placeholders but prefer parsing them through MiniMessage tags instead of %, Scribe fully supports MiniPlaceholders.

Ensure integrations.miniplaceholders is set to true in your config.yml, and you can write:

<white><player_name></white> <gray>has <player_ping>ms</gray>