Nightbreak Changelog Notifications
MagmaCore ships a shared changelog inbox. Every plugin that uses MagmaCore's Nightbreak updater gets it, and uses it to tell server administrators, in game, when the plugin or one of its installed content packages has release notes they have not read yet.
Because the inbox lives in MagmaCore, it behaves the same way everywhere. Only the command name and the plugin being reported on change.
The Command
Each plugin registers its own changelog command, built from the plugin's root command plus changelog — not from its display name, so the label follows whatever root command that plugin uses:
| Plugin | Command |
|---|---|
| EliteMobs | /emchangelog |
| BetterStructures | /bschangelog |
| EternalTD | /etdchangelog |
| WorldCannon | /wcchangelog |
| FreeMinecraftModels | /freeminecraftmodelschangelog |
| ResurrectionChest | /resurrectionchestchangelog |
| BetterFood | /betterfoodchangelog |
| ResourcePackManager | /resourcepackmanagerchangelog |
If that label is already taken on the server, the plugin registers a namespaced fallback instead, and logs a warning if no collision-free label was available at all.
| Usage | What it does |
|---|---|
/<root>changelog | Opens the unread release notes. |
/<root>changelog dismiss | Marks the notes you were just shown as read. |
/<root>changelog disable | Permanently stops the automatic reminder for you. The command itself keeps working. |
The command is in-game and administrator-only. You count as an administrator if you are an operator, or hold the plugin's wildcard permission, its admin permission, its setup permission, or its initialize permission.
The Join Notice
When an administrator joins, the plugin waits a couple of seconds and then sends a short chat notice with a clickable VIEW CHANGELOG button if there are unread notes. Administrators who are already online are also notified once when a background fetch finishes and turns up something new.
The same notice is not repeated while the set of unread releases has not changed, so a normal session gets one reminder rather than a stream of them. Administrators who have run disable are never notified.
How Notes Are Displayed
On Minecraft 1.21.6 and newer the notes open in a dialog window with Dismiss These Updates and Never Show Changelogs buttons. On older servers the same content is printed to chat with the equivalent command instructions.
A single view shows at most 20 releases, newest first, interleaved between the plugin itself and each tracked content package. Anything beyond that is reported as a count of omitted releases. Dismissing a full page leaves the older notes queued, and the follow-up message offers a VIEW NEXT button.
What Gets Tracked
- The plugin's own releases, taken from its public Nightbreak changelog.
- Every installed content package that has a Nightbreak slug, taken from that package's public changelog.
The first time a plugin runs with the inbox, it records the version it is on as the tracking floor and shows only that current release. From then on it shows the releases between the recorded floor and the version you are now running, so upgrading several versions at once produces one digest covering the whole jump rather than nothing at all.
Release bodies come from Nightbreak and are always rendered as plain text. If the changelog service cannot be reached, the plugin retries in the background — starting about 15 minutes later and backing off up to roughly four hours — and shows whatever it already has cached in the meantime.
Where The Read State Lives
Each plugin stores its own state in:
plugins/<PluginName>/nightbreak-changelogs.yml
<PluginName> is the plugin's internal name, which is not always its wiki name:
WorldCannon's folder is plugins/CannonRTP.
That file holds the version tracking floor, a cache of the fetched release notes, and per-administrator read and opt-out state keyed by UUID. It contains no account token and no personal data beyond player UUIDs.
Deleting the file resets tracking: the plugin treats the current version as a fresh floor, and every administrator starts from a clean read state.
Turning It Off
There is no server-wide switch. Reminders are opted out per administrator, with:
/<root>changelog disable
That marks everything currently available as read and records the opt-out flag for that player in the plugin's state file. The command still works afterwards if they want to look manually — only the automatic notice stops.