Skip to main content

Blue Arcade

The definitive minigame solution

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.

CORE CHANGES

  • /ba join now opens a minigame categories menu before the arena list, grouping available arenas by minigame.
  • Added use_categories option in play_menu.yml (default: true). Set to false to restore the previous flat arena list behaviour.
10 Apr 2026, 11:16
Purchase required