CoreEngineWIKI
ESC
NavigateEnter OpenESC Close

Chat Format

Formats every public chat message with LuckPerms prefix/suffix, team tag and optionally Nexo glyphs (MiniMessage tags). The same file defines the formats for team chat, ally chat and chat spy. The module has no commands of its own.

Placeholders #

PlaceholderValue
<display_name>Fully formatted name (LP prefix + team tag + name + LP suffix)
<lp_prefix> / <lp_suffix>LuckPerms prefix/suffix (empty when unset or LP missing)
<player>Player name or nickname if set
<player_name>Always the real player name
<team_tag>Team prefix like [RED] (only when the team has a valid tag)
<team> / <team_name>Internal team name / display name
<team_color>Color tag of the team (e.g. <red>)
<message>The written message
ℹ️

Note: Formatting codes in team/ally chat message text are always stripped. The separate /socialspy for private messages uses its own format in messages.yml (see Moderation). The optional job title before the name is configured in modules/jobs.yml (see Jobs).

Configuration (modules/chat.yml) #

YAML
# Enables or disables chat, team chat and chat spy formatting.
enabled: true

# Layout of the public chat line.
format: "<display_name><font:minecraft:default><gray>: <message>"
# Layout of the <display_name> placeholder.
display-name-format: "<lp_prefix><font:minecraft:default><team_tag><player><lp_suffix><font:minecraft:default>"

luckperms:
  # Prefix and suffix can be toggled independently.
  prefix-enabled: true
  suffix-enabled: true

nexo-glyphs:
  # Resolves %nexo_<glyphid>% and %nexo_shift_<pixels>% in LP prefixes,
  # even without PlaceholderAPI.
  resolve-placeholders-without-papi: true
  # Rank glyphs are visually wider than their texture: inserts a shift
  # tag after each glyph so the name moves closer to the badge.
  compact-spacing-enabled: true
  compact-shift: -2
  # Additional pixel correction before/after the LP prefix.
  prefix-leading-shift: 0
  prefix-trailing-shift: 0

team-tag:
  # Team tag before the name in public chat.
  enabled: true
  format: "<team_color>[<tag>] "

# Format for /team chat.
team-chat:
  format: "<gray>[Team] <<team_color>><player><gray>: <white><message>"

# Format for /team allychat (team + allies).
ally-chat:
  format: "<gray>[Ally] <<team_color>><player><gray>: <white><message>"

# Admin format for spied team/ally chat (/teama chatspy).
chatspy:
  format: "<dark_gray>[<red>Spy<dark_gray>] [<team_color><team><dark_gray>] <gray><player><dark_gray>: <gray><message>"

Complete example config #

YAML
enabled: true

format: "<display_name><gray> » <white><message>"
display-name-format: "<lp_prefix><team_tag><player>"

luckperms:
  prefix-enabled: true
  suffix-enabled: false

nexo-glyphs:
  resolve-placeholders-without-papi: true
  compact-spacing-enabled: true
  compact-shift: -3
  prefix-leading-shift: 0
  prefix-trailing-shift: 1

team-tag:
  enabled: true
  format: "<team_color><bold>[<tag>]</bold> "

team-chat:
  format: "<dark_green>[Team] <green><player><gray>: <white><message>"

ally-chat:
  format: "<dark_aqua>[Ally] <aqua><player><gray>: <white><message>"

chatspy:
  format: "<dark_gray>[<red>Spy<dark_gray>] <gray><team>/<player>: <message>"