Messages and languages
No text is hard-coded: messages, menu titles, item descriptions, announcements and ban screens can all be edited. The plugin ships in French and English.
Language files
Section titled “Language files”| File | Content |
|---|---|
lang/fr.yml, lang/en.yml |
Core texts (permissions, errors, help, audit…) |
lang/sanctions.fr.yml, lang/sanctions.en.yml |
Sanctions module |
lang/reports.fr.yml, lang/reports.en.yml |
Reports module |
lang/staffmode.fr.yml, lang/staffmode.en.yml |
Staffmode module (including item names and descriptions) |
lang/investigation.fr.yml, lang/investigation.en.yml |
Investigation module |
lang/chat.fr.yml, lang/chat.en.yml |
Chat module |
lang/integration.fr.yml, lang/integration.en.yml |
Integration module |
The active language is chosen in config.yml (language: fr or en). Both languages have exactly the same keys.
MiniMessage format
Section titled “MiniMessage format”Texts use MiniMessage: colours, gradients, styles, hovers and clicks.
core: permission: "<gradient:#FF5A5A:#C81E1E><b>ᴘᴇʀᴍɪꜱꜱɪᴏɴ ᴅᴇɴɪᴇᴅ</b></gradient> <gray>You lack the permission <white><permission><gray>."- Variables are written as tags:
<joueur>(player),<duree>(duration),<raison>(reason),<permission>… - An empty value (
"") disables the message. - A YAML list gives a multi-line message (help, item descriptions).
- PlaceholderAPI placeholders are applied to messages sent to a player.
Message style
Section titled “Message style”The bundled messages follow a shared style, which you can keep or replace:
| Type | Title gradient | Use |
|---|---|---|
| Refusal | #FF5A5A → #C81E1E |
Missing permission, unknown player, impossible action |
| Warning | #FFD84A → #F29A00 |
Usage, cooldown, confirmation |
| Success | #6CF08A → #1FA34A |
Action done |
| Info | #6FE2E8 → #6180C9 |
Information, announcement |
Each message is made of an icon, a small caps title with a bold gradient, then the details in grey with keywords in white. Kick and ban screens have no icon.
Small caps
Section titled “Small caps”To write your own titles, replace each letter (without accents) with its equivalent:
a ᴀ b ʙ c ᴄ d ᴅ e ᴇ f ꜰ g ɢ h ʜ i ɪ j ᴊ k ᴋ l ʟ m ᴍn ɴ o ᴏ p ᴘ q ǫ r ʀ s ꜱ t ᴛ u ᴜ v ᴠ w ᴡ x x y ʏ z ᴢBan screens
Section titled “Ban screens”Ban and IP ban screens are MiniMessage text files in bans/, with the variables %reason%, %duration%, %remaining%, %expiration%, %issuer%, %target%, %date%, %id%, %ip%. The bundled templates are written in French: translate them for an English server. See Screen templates.
Other configurable texts
Section titled “Other configurable texts”- Report type and reason names:
config/reports.yml. /sanctionmenu motives:config/sanctions.yml.- Staff chat channel prefixes and formats, join messages:
config/chat.yml. - Custom staff mode items:
staffmode/custom-modules.yml(orstaffmode.custom.<id>keys in the language files).
These configuration texts are bundled in French.
Editing a text
Section titled “Editing a text”-
Open the relevant language file, for example
lang/sanctions.en.yml. -
Edit the value, keeping the useful variables (
<joueur>,<duree>…). -
Apply with
/cobaltstaff reload(or/cobaltstaff reload sanctions).
If a key is missing from your file, the default value shipped with the plugin is used: your files remain valid after an update.