Blue Arcade
The definitive minigame solution
API CHANGES
- Added module setup metadata APIs so modules can describe their install requirements, setup steps, setup commands, and setup status checks for admin tools.
- Added PersistentPlayerDataAPI for module-scoped player data that can be saved between sessions.
- Added LanguageAPI for locale-aware module translations, including translated string and list lookup, placeholders, locale checks, and available locale listing.
- Added ModuleAPI.getPersistentPlayerDataAPI() and ModuleAPI.getLanguageAPI().
- Added GameContext.getPersistentPlayerDataAPI() and GameContext.getLanguageAPI().
- Added GameContext.setPlayerSpectating(P, boolean) and GameContext.isPlayerSpectating(P) so modules can use Core-managed spectator behavior instead of relying on native platform spectator mode.
- Added ModuleConfigAPI translation helpers such as getTranslation(...) and getTranslationList(...), so modules can read their translated messages through the standard config API.
- Added GameModule.requiresSpawnCapacityValidation() so modules that do not use one spawn per maximum player can opt out of the default enable check.
- Deprecated ModuleConfigAPI.register(String, int). Use ModuleConfigAPI.register(String) instead. The old method remains available so 3.3 modules keep working.
- All API additions are source-compatible with existing 3.3 modules.
- Modules that directly used native Minecraft spectator mode should migrate to GameContext.setPlayerSpectating(P, true) so the - Core can apply spectator behavior consistently. For compatibility, 3.3 and older modules that set players to Minecraft spectator mode are adapted to the new fake spectator system at runtime.
CORE CHANGES
- Added a new multilingual system for Minecraft with per-player language detection, /ba lang, split language folders, automatic migration from old language.yml files, translated Core menus/items/store/achievements/signs, and module locale files.
- Added /baa arena
status and /baa game <game_id> status to help admins review arena and module setup progress. - Added an experimental static to dynamic arena migrator with /baa migrate <arena_id>, plus a startup notice and migration rationale at https://blueva.net/docs/blue-arcade/dynamic-arenas.
- Added /baa module help <module_id> for module-provided setup guidance.
- Dynamic setup scoreboards can now show module-provided setup step labels, expected inputs, and setup status checks.
- Game enable validation now checks spawn capacity against arena maximum players by default, while modules can opt out when their game does not require one spawn per player.
- Improved dynamic arena block handling so saved setup world block patterns resolve correctly in the active runtime world.
- Improved spectator mode with a fake spectator state, allowing spectators to use configured inventory items such as player teleport, stats, play again, leave, and store shortcuts.
- Empty raw module messages are now skipped consistently.