The formats.yml file is where you define exactly what your chat looks like. These advanced display formats use MiniMessage, so channel layouts can include hover text, click events, and semantic color tags.
Global vs Local
You can assign different visual layouts to different channels.
channels:
global: "<hover:show_text:'<muted><time></muted>'><prefix>{tag}<click:suggest_command:'/msg <player> '><white><display_name></white></click><suffix> <muted>»</muted> <white><message></white></hover>"
local: "<hover:show_text:'<muted><time></muted>'><prefix>{tag}<click:suggest_command:'/msg <player> '><white><display_name></white></click><suffix> <muted>»</muted> <secondary><message></secondary></hover>"
In this default setup:
- Global messages are pure
<white>. - Local messages are colored using the
<secondary>branding color to visually separate them from global shouts.
Hover & Click Events
MiniMessage allows you to nest interactive tags. Let’s break down a name tag:
<click:suggest_command:'/msg <player> '><white><display_name></white></click>
When a user clicks the display name, it will automatically type /msg Steve into their chat bar!
Branding Colors
Scribe’s default config.yml uses the ecosystem color tokens from the standards:
<primary><text><highlight><success><warning><error>
The default values are legacy color codes such as &d, &7, and &f. Older format aliases such as <secondary>, <accent>, and <muted> are still accepted for compatibility and map to the standard text/highlight colors.