Blue Arcade
The definitive minigame solution
CORE CHANGES
- Added experimental universal modules, a new minigame format that runs sandboxed scripts. More information: https://blueva.net/docs/blue-arcade/universal-modules
- Added experimental support for Minecraft 1.8 through 26.2. Only universal modules are part of the 1.8-26.2 support for now.
- Added chat isolation. Chat sent inside an arena now stays in that arena.
- Added console commands that run when a round or a game ends, configurable in actions.yml.
- Renamed rewards.yml to actions.yml, which now holds both the rewards and the new end of round and end of game commands.
- Replaced FoliaLib with the BlueFoundation scheduler. One less bundled dependency.
- The twerk apocalypse victory effect no longer needs Citizens installed.
- Team prefixes in the tab list no longer stop working when tab list isolation is disabled.
- Fixed the party disband timer and the file upgrade command on Folia.
- Fixed the "levels system is disabled" message spamming chat when the leveling system was turned off.
- Fixed the server crashing on shutdown when an end of game countdown was restoring player flight or ghost state.
- Fixed party matches showing up in the replay browser once per minigame played. They are now grouped under a single Party category. Existing recordings are grouped too, no need to record them again.
- Fixed the replay viewer dropping you at the map spawn instead of where the round was actually played, both when opening a replay and when it moves to the next round.
- Fixed /ba replay leave confirming that you left a replay even when you were not watching one. It now tells you there is nothing to leave.
- Fixed the console filling with health errors, and players getting stuck mid-cleanup, when a minigame that changes how many hearts you have.
- Fixed a heavy performance loss with busy arenas: team information was rebuilt from the configuration files on every single lookup, which minigames do for every player several times per second.
- Fixed minigame messages that go through the translation system, like action bars, re-reading and re-scanning the whole language file for every message and every player.
- Fixed the replay of the match you just played never opening on proxy game servers. Players who ask for it now stay on the game server until the recording is ready, watch the replay there, and are only sent back to the lobby once they leave it.
- Fixed stat synchronization and proxy messaging ignoring the database connection they were pointed at and trying to connect as root with no password.
- Fixed lobby servers in proxy mode asking admins to install modules. Game servers still do.
- Added protection to try to stop players from passing items to each other, or carrying them into the next mini-game, through the crafting grid or the mouse cursor.
- New arenas are now always dynamic. The type argument was removed from /baa create, and /baa arena id settype was removed. Existing static ones keep working, and the console now warns that they will stop working in 3.6 or 3.7. Migrate them with /baa migrate id.
API CHANGES
- Added an optional game-version field to module.yml so modules can declare the oldest server version they support. It is a minimum only, with no upper bound, so a module that declares 1.16 runs on 1.16 and anything newer.
- Added ModuleInfo.getGameVersion() to read that value, returning null when the module does not declare one.
All API additions are source-compatible with existing 3.4 modules. Modules that omit game-version keep loading on every version the Core supports, so declaring it is only needed by modules that break on older servers.