The formats.yml file is where you define exactly what your chat looks like. Scribe uses MiniMessage, meaning you can add click events, hover text, and custom colors seamlessly.
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
Instead of hardcoding hex codes like <#A9B8E8> everywhere, Scribe lets you use semantic branding colors defined in config.yml:
<primary><secondary><accent><success><warning><error><muted>
If you ever want to redesign your server’s theme, you just change these 7 hex codes in config.yml, and your entire formats.yml will automatically adapt!