A simple template for creating new minigames using the StomArcade minigame framework. This project provides a minimal implementation that can be duplicated and modified to quickly build new minigames.
The template includes:
- A base minigame implementation (
MyMinigame) - Default game state pipeline (Lobby → In-Game → Ending)
- Minimal configuration for automatic minigame loading
- Gradle project setup ready for development
Duplicate this template repository and rename the project to match your minigame.
Update:
rootProject.nameinsettings.gradle- Package names (recommended)
- Minigame ID inside the constructor
public MyMinigame() {
super("myminigame", GameState.DEFAULTS);
}
Ensure your loader JSON points to your main class:
{
"main": "net.bitbylogic.stomarcade.minigame.template.MyMinigame"
}
Override lifecycle methods inside your minigame:
@Override
public void onLoad() {
// Called when the minigame is loaded
}
@Override
public void onStart() {
// Called when the match begins
}
@Override
public void onEnd() {
// Called when the match ends
}
The template uses the built-in default state sequence:
- LobbyState – 30 seconds
- InGameState – 20 minutes
- EndingState – 5 seconds
Defined via:
GameState.DEFAULTS
You may provide your own state list if your minigame requires a custom flow.
StomMinigameTemplate
├─ src/main/java
│ └─ net/bitbylogic/stomarcade/minigame/template
│ └─ MyMinigame.java
├─ src/main/resources
│ └─ minigame.json
└─ settings.gradle
- Copy the template
- Rename
MyMinigameto your game name - Change the minigame ID
- Implement gameplay logic in lifecycle methods
- Add event nodes, tasks, and utilities as needed
- The minigame ID must be unique within the arcade environment.
- Avoid heavy initialization inside constructors — use
onLoad()instead. - State transitions and ticking are handled automatically by the framework.