Skip to content

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.

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.

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.

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.

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 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.

  • Report type and reason names: config/reports.yml.
  • /sanction menu motives: config/sanctions.yml.
  • Staff chat channel prefixes and formats, join messages: config/chat.yml.
  • Custom staff mode items: staffmode/custom-modules.yml (or staffmode.custom.<id> keys in the language files).

These configuration texts are bundled in French.

  1. Open the relevant language file, for example lang/sanctions.en.yml.

  2. Edit the value, keeping the useful variables (<joueur>, <duree>…).

  3. 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.