Skip to main content
The Minigame Extension is a complete minigame ecosystem built on a state-machine phase engine. Every game runs through a single GameContext — one store for ready players, teams and per-game state — with shared lobby, team, scoreboard, inventory and records services. All of it is configured through Typewriter entries.

Features

26+ Game Modes

PvP (Sumo, Gladiator, Duels, KOTH, Paintball, OneInTheChamber), Parkour (Parkour, BlockParty, TNTRun, FloorIsLava), PvE (FallingBlocks, WaveSurvival, ZombieApocalypse, DefendTheCore, DodgeTheArrows), Strategy (CaptureTheFlag, Infection, Spleef, SheepHunt), Party (TPP, FreezeTag, HotPotato, DeACoudre, MusicalChairs), Reflex (Archery, Quake).

Phase Engine

Idle → Lobby → Countdown → Playing → Ending → Cleanup, as a state machine. Games plug custom phases (jump, rounds, waves) into the same engine.

Unified Game Context

One store per game instance: ready players, team assignments (with solo/duo/squad team modes), scores and live state. No parallel managers.

OmniGUI Menus

Game browser, arena selection, lobby, team selection, stats and post-game menus rendered through OmniGUI, opened by dedicated action entries.

Records & Quests

Persistent wins, scores, best-time and top-times artifacts, plus quest objectives (minigame_completion_objective) and facts to gate content on minigame progress.

Arena Regions

Arena definitions bind to Protection extension regions for boundaries and reset zones.

Entries

Quick Start

1. Define an arena

Create a minigame_arena (or a game-specific arena like parkour_arena) and pick its game type, spawn points and Protection region.

2. Wire persistence

Add minigame_wins / minigame_scores / minigame_state artifacts so records survive restarts.

3. Open the flow to players

Trigger minigame_open_browser (all games) or minigame_join (direct) from an NPC, command or menu. The phase engine handles the rest.

Dependencies