Skip to content

Chat Formatting

RexChat replaces the default Minecraft chat with a fully customizable format. It supports legacy color codes (&c), hex colors (&#FF0000), MiniMessage tags, and PlaceholderAPI placeholders.

The base format is defined in config.yml:

chat-format:
enabled: true
format: "{prefix}&7{player}: &f{message}"
PlaceholderDescription
{player}Player name
{display_name}Display name
{message}The chat message
{prefix}LuckPerms/Vault prefix
{world}Current world name
{health}Current health
{max_health}Max health
{x}, {y}, {z}Player coordinates
{ping}Player ping in ms
%rc_prefix%RexChat message prefix

Any PlaceholderAPI placeholder is also supported (e.g., %vault_prefix%, %player_level%).

When hovering over a player’s name, a tooltip is shown:

chat-format:
player:
hover:
enabled: true
lines:
- "&7Health: &c{health}&7/&c{max_health}"
- "&7World: &f{world}"
- "&7Location: &f{x}&7, &f{y}&7, &f{z}"
- "&7Ping: &f{ping}ms"

Clicking a player’s name suggests /msg <player>.

Define different formats per group. Groups are matched by LuckPerms/Vault primary group or by explicit permission:

chat-format:
groups:
admin:
# Optional: match by permission instead of group name
# permission: "group.admin"
format: "{prefix}&c{player}: &f{message}"
hover:
enabled: true
lines:
- "&cAdmin &7• &fPing: {ping}ms"
moderator:
format: "{prefix}&b{player}: &f{message}"
hover:
enabled: true
lines:
- "&bModerator &7• &fPing: {ping}ms"

The first matching group wins. If no group matches, the default format is used.

PermissionDescriptionDefault
rexchat.chatcolorUse color codes in chat messagesop
rexchat.chat.minimessageUse MiniMessage tags (<click>, <hover>, <gradient>, etc.)op
rexchat.chat.placeholdersUse PlaceholderAPI placeholders in chat messagesop

Players without rexchat.chatcolor will have all color codes stripped from their messages.

Players without rexchat.chat.minimessage will have MiniMessage tags escaped (displayed literally).

RexChat can disable Mojang’s signed chat reporting by converting player messages to system messages:

chat-reporting:
disable: true

This is enabled by default.