Skip to main content

Blue Arcade (Hytale Edition)

The definitive minigame solution.

Update 3.3.0 Hytale
Locked

API CHANGES

  • GameModule.getDisplayName() default method. Modules can now override this to declare their own display name. The core checks this method before falling back to the language.yml lookup or the descriptor name.
  • ModuleConfigAPI.registerCopyOnly(String fileName) registers a config file using a copy if missing strategy: the bundled resource is only copied to disk when the file does not exist; afterwards the file is loaded without merging defaults, so entries the admin deliberately removed are never restored.
  • MenuAPI.registerModuleMenuAPI(String moduleId, MenuAPI handler) and MenuAPI.unregisterModuleMenuAPI(String moduleId) modules can now register a custom MenuAPI handler for their own menus without touching the core implementation class.
  • ItemClickHandler<P> functional interface for GUI item click callbacks in the inventory API.
  • ItemAPI.registerClickHandler(String itemId, ItemClickHandler handler) and ItemAPI.unregisterClickHandler(String itemId) modules can now register click handlers for their lobby items.
  • HytaleEventRegistry interface allows Hytale modules to register ECS systems in registerEvents() without reflection.
  • MCSoundsAPI interface (extends SoundsAPI) with playNBS(P, String) and stopNBS(P) for Minecraft specific NoteBlock song playback.
  • HTSoundsAPI interface (extends SoundsAPI) with playMIDI(P player, String midiId) and stopMIDI(P player) for Hytale specific MIDI song playback.
  • Deprecated SoundsAPI.playNBS: use MCSoundsAPI.playNBS (Minecraft) or HTSoundsAPI.playMIDI (Hytale) instead.

All changes are additive and require no modifications to existing 3.2 modules.

Update 3.2.3 Hytale
Locked
  • Updated for Hytale 2026.03.26-89796e57b
  • Module version comparison now supports both semantic versioning (x.x.x) and commit-based versioning (YYYYMMDD-hash).
Update 3.2.2 Hytale
Locked
  • Added MIDI support in sounds.yml. Sound entries can use custom MIDI files from the sounds/ folder via [MIDI] (Piano by default) or [MIDI/INSTRUMENT] for specific instruments.
  • Added experimental items.yml for hotbar customisation. Currently supports a Leave item in the waiting lobby, with configurable name, description, slot, and quality.
Update 3.2.1 Hytale
Locked
  • Added a new teams.manager section in settings.yml. Server owners can now customize team IDs, team names, team icons (materials), and set the maximum number of teams available in team-based modes.
  • Added debug mode to settings.yml to more easily detect problems during plugin development or configuration.
  • Improved startup spawn behavior. If a game module disables shared spawns, the Core will no longer force players into the default arena spawn. Modules that don’t require spawns can now fully manage their own spawn system.
  • Improved how time_played is displayed, it now shows a readable duration format (for example, 1h 12m 9s) instead of raw seconds.
  • Improved version comparison logic to avoid occasional false "new update" notices caused by formatting differences.
  • Improved update-check stability so temporary empty responses from the update service are handled more safely.
  • Improved end of match flow in standalone games to make sure the correct winner celebration is used.
  • Updated /baa arena setrounds to work in standalone mode. The command now shows a warning explaining that rounds are primarily designed for party mode, and standalone will repeat the same minigame for the configured number of rounds.
  • Updated /baa setmainlobby with /baa mainlobby, which also adds options to clear the lobby, teleport to it, and enable a dedicated lobby world for features like lobby items and scoreboard support.
  • Fixed message delivery issues and added console warnings for blank or missing messages.
  • Fixed module display names to prioritize each module language.yml over descriptor defaults.
  • Fixed a small capitalization detail in the default global stat label for better visual consistency.
  • Fixed permissions, incorrect permissions were being used compared to those indicated in the documentation.
  • Introduced experimental database changes to prevent server thread blocking during data sync.
  • Leaving a message blank in language.yml now disables it instead of showing the default fallback text.
  • Moved some hardcoded messages to language.yml for better localization.
Update 3.2.0 Hytale
Locked
API CHANGES:
- Added SchedulerAPI access to SetupContext, allowing setup handlers to run world-thread tasks directly without relying on world.execute().
- Added PlatformType enum ("MINECRAFT", "HYTALE") to declare the target platform in module.yml via the new platform field. If omitted, the module is treated as cross-platform.
- Added ModuleInfo.getPlatform() so modules can query their declared platform at runtime.
- Added SetupRequirement enum ("BOUNDS", "SPAWNS", "TIME") and GameModule.getDisabledRequirements() so modules can opt out of default setup requirements. The core skips prompts and validation for disabled requirements.
- Deprecated GameConfig.requiresBounds() and GameConfig.requiresSpawns() in favor of GameModule.getDisabledRequirements().
- Added GameModule.allowJoinInProgress() to let modules declare whether players may join after a match has started in standalone mode. Default: disabled. Party mode always disallows join-in-progress.
- Separated platform-specific menu types into:
- ui.menu.minecraft (Java/Bedrock menus)
- ui.menu.hytale (Hytale custom UI pages)
- Legacy ui.menu classes are now deprecated.
- Added experimental HytaleMenuAPI and HytaleMenuActionHandler to register/open HytaleMenuDefinition menus and dispatch module actions from Hytale UI event bindings.

All changes are additive and require no modifications to existing 3.1 modules.
Update 3.1.4 Hytale
Locked
- Added bStats metrics support for Hytale, including a metrics option in the core settings.yml so server owners can enable or disable metrics via configuration.
- Improved playtime tracking to better handle joins, leaves, disconnects, and forced stops, resulting in more accurate time played across matches.
- Enhanced summary readability by converting raw stat keys into cleaner, user-friendly names (for example, “block_party” → “Block Party”).
Update 3.1.3 Hytale
Locked
- Updated to Hytale Server 2026.02.19-1a311a592
- Added PlaceholderAPI support integration (https://blueva.net/docs/?project=blue-arcade-hytale&page=placeholders.md)
- Fixed module auto-update checks to resolve the latest release from the hytale channel before comparing versions, preventing cross-platform release mismatches and repeated download loops.
Update 3.1.2 Hytale
Locked
- Added options in settings.yml to disable all visibility of the game UI.
- Added a confirmation flow when disabling sessions via /baa disable or /baa game.
- Improved anonymous error reporting to only send reports on the latest BlueArcade version.
- Fixed /baa game <id> add micro/mini to enforce module type validation and reject unknown minigames.
- Fixed async transform warnings during admin setup commands like setlobby and pos1/pos2.
- Fixed configuration editing by locking /baa arena and /baa game setup until the module is disabled.
- Improved /baa disable to trigger a confirmation if arenas are running or still have players.
Update 3.1.1 Hytale
Locked
- Improved HUD transition safety during player teleports to avoid display errors.
- Fixed screen flickering within the user interface.
- Fixed "async" warnings and position errors when joining an arena.
- Fixed crashes caused by invalid or unknown block types.
- Fixed HUD-related crashes during world transitions and arena joins.
Update 3.1.0 Hytale
Locked
- Updated to Hytale Server 2026.02.06-aa1b071c2
- Added Magic Stick (/baa stick) to make selections more easily. (Parity with the Minecraft version)
- Added anonymous error reporting to Blueva.net (toggleable in settings.yml).
- Added api-version compatibility validation between modules and the Core.
- Added progress logs when a module update is detected and starts downloading.
- Improved /baa forcestart to reduce remaining time to 10 seconds during lobby countdowns.
- Improved /baa module store to verify versions before processing updates or downloads.
- Improved arena logic to instantly end and show summary when only one player remains.
- Updated allowed_commands default list in settings.yml.
- Fixed IllegalStateException crash during cross-world teleportation.
- Fixed yaw and pitch rotation being swapped when teleporting to arenas or lobbies.
- Fixed player rotation saving incorrectly when joining a game.
- Fixed crash in /baa forcestart when using a non-existent arena ID.
- Fixed module store updater to replace old JAR files with the correct filenames.
- Fixed /baa reload not correctly refreshing all configuration files.
- Fixed Party Mode games ending prematurely before all minigames finished.
Update 3.0.2 Hytale
Locked
- Fixed a stability issue that caused random disconnections during minigame startup or when updating the scoreboard
- Fixed the action bar getting stuck at 6 at the start of an arena

Update 3.0.1 Hytale
Locked
- Added previous location fallback for player restoration when no main lobby is configured.
- Fixed arena availability not updating live when using /baa enable and /baa disable.
- Fixed active arenas not stopping immediately when disabled.
- Fixed loss of player state (inventories, effects, and movement) on leave or after a crash.