API Guide
MiniModes API features are designed around one rule: extension code should describe game behavior, while the engine handles ownership, platform differences, and cleanup.
Lifecycle and Runtime GameTemplate, runtime scoping, countdowns, clocks, prompts, players, and outcomes.
Settings Dialog settings, presets, typed config, voting, teams, and runtime edits.
Events, Commands, and Input Normalized events, game-local commands, typed arguments, and chat prompts.
Worlds and Resources Pooled worlds, flat worlds, map resources, datapacks, areas, and routes.
Items, Entities, and Abilities ItemDSL, interactive items, projectiles, entities, vehicles, and double jump.
Sidebars, UI, Results, and Mashup Scoreboards, inventory menus, sendables, match results, and Mashup metadata.
Feature checklist
Section titled “Feature checklist”| Feature | Use it when | What MiniModes does automatically |
|---|---|---|
@Game | A class should be loadable as a game. | Discovery, selector metadata, player bounds, display item metadata. |
GameTemplate | You need a direct lifecycle. | Runtime injection, participants, alive helpers, event/command binding, cleanup paths. |
SettingsGameTemplate | You need configurable matches. | Dialog binding, settings initialization, voting application, leader runtime edits. |
| Events DSL | You need to react to game actions. | Platform event normalization and per-game unsubscription. |
| Commands DSL | You need /minimodes game ... commands. | Argument parsing, validation, usage text, failure reporting. |
| Prompts | You need typed player text input. | Parsing, retry messages, cancel words, optional movement lock. |
| Worlds scope | You need isolated arenas. | World acquisition, player teleport helpers, slot ownership, cleanup integration. |
| Resource annotations | You ship maps or datapacks. | Classpath discovery, resource registration, extraction/cache flow. |
ItemDSL | You need custom or interactive items. | Stable definition ids, metadata, interaction dispatch, cooldown/uses hooks. |
| Entity/projectile/vehicle DSLs | You spawn runtime objects. | Game id scoping and platform registry cleanup. |
| Sidebars | You need live scoreboards. | Discovery, refresh scheduling, dynamic row support, per-player rows. |
| Outcomes | You need winners, draws, rankings, or scores. | Structured completion data for managers, rematches, and Mashup. |
@MashupRunnable | Your game can appear in rotation. | Pace, family, weight, and cooldown metadata for the selector. |