JSON announcements
Each announcement has an id, a display name, one or more MiniMessage lines (colors, gradients, click, hover) and an optional sound.
CobaltiaAnnonces broadcasts announcements to your players’ chat. Everything is described in a single file, annonces.json: the announcement text (MiniMessage), its decorative frame, automatic rotations, zones, and welcome messages triggered when a player enters a zone. An in-game menu then lets you send, preview and control rotations without editing the file.
The plugin was built for the Cobaltia server and uses its visual identity (frames and glyphs from the resource pack), but it also works with plain, unframed text announcements.
JSON announcements
Each announcement has an id, a display name, one or more MiniMessage lines (colors, gradients, click, hover) and an optional sound.
Centered frames
Wrap an announcement in a decorative top and bottom: the title and every line are centered to the pixel within the frame width.
Automatic rotations
Send a list of announcements at a fixed interval, in order or at random (never the same one twice in a row), to the whole server, one or more worlds, or a zone.
Zone entry announcements
Show an announcement to a player entering a WorldGuard region or a coordinate cube, with a per-player anti-repeat delay.
In-game menu
/annonces opens a menu: preview, targeted sending in two clicks, toggling or firing rotations, reloading the file.
Safe reload
The whole file is validated on reload. On any error, the previous configuration stays active and each error is reported with its exact location.
A framed announcement is made of, from top to bottom, the frame top, the centered title, the centered lines and the frame bottom:
╭──────────────────────────────╮ ✦ ANNONCE ✦ Vote pour le serveur avec /vote !╰──────────────────────────────╯Without a frame, lines are sent as-is, one below the other.
| Item | Status | Purpose |
|---|---|---|
| Paper 1.21.x | Required | Target server software. |
| Java 21 | Required | Runtime required by Paper 1.21. |
| WorldGuard | Optional | Needed for zones defined by a WorldGuard region. Cube zones work without it. |
| PlaceholderAPI | Optional | Replaces placeholders (%player_name%…) in lines, for each recipient. |
| Nexo | Optional | Provides the <glyph:…> glyphs used by frames and the default title. |