Placeholders
Two systems live side-by-side: PlaceholderAPI for runtime values, and StarChat's own custom placeholders for fast text replacement.
PlaceholderAPI
StarChat resolves any PAPI placeholder anywhere a placeholder is accepted (formats, hover messages, announcements, MOTDs, death messages). Common ones used in the bundled configs:
%player_name%,%player_uuid%,%player_displayname%%player_first_played%,%player_world%,%player_ping%%luckperms_prefix%,%luckperms_suffix%,%luckperms_primary_group_name%%vault_eco_balance_formatted%%statistic_player_kills%,%statistic_time_played%
Custom placeholders (no PAPI required)
placeholders.yml defines server-wide phrase replacements that fire on chat input.
placeholders.yml
Enabled: true
Placeholders:
'<3': '<red>❤</red>'
':)': '<green>☺</green>'
':(': '<red>☹</red>'
'*fire*': '<red>🔥</red>'
'*crown*': '<gold>👑</gold>'
'[discord]': "<#25c8fa><click:open_url:'https://discord.gg/example'>https://discord.gg/example</click></#25c8fa>"Permission-gated placeholders
yaml
Placeholders-with-permission:
balance:
prefix: '[bal]'
parser: "<yellow>%player_name%'s Balance %vault_eco_balance_formatted%</yellow>"
permission: starchat.placeholder.balancePlayers type [bal], the message is rewritten to show their balance — but only if they hold starchat.placeholder.balance.