47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
# core-minigames Wiki
|
|
|
|
core-minigames is a Hytale-native minigame extension. It adds minigame definitions, runtime state, and minigame-specific trigger conditions/effects while reusing Hytale's asset store, trigger-volume system, and event bus.
|
|
|
|
## What It Provides
|
|
|
|
1. `MinigameDefinition` assets in `Server/Minigames/`.
|
|
2. A runtime service for active minigames, players, teams, scores, lives, counters, and phases.
|
|
3. Hytale `TriggerCondition` entries for checking minigame state.
|
|
4. Hytale `TriggerEffect` entries for mutating minigame state.
|
|
5. `MinigameEvent` dispatch through Hytale's event bus.
|
|
|
|
## Important Refactor Note
|
|
|
|
The old custom minigame volume layer is gone. There is no `MinigameAreaVolume`, `JoinQueueVolume`, or `ScoreVolume` class to place. Use normal Hytale trigger volumes and attach core-minigames trigger conditions/effects to them.
|
|
|
|
## Pages
|
|
|
|
| Page | Description |
|
|
|------|-------------|
|
|
| [Getting Started](Getting-Started.md) | Create a definition and wire a trigger volume |
|
|
| [How It Works](How-It-Works.md) | How assets, runtime, event bus, and trigger logic fit together |
|
|
| [FAQ](FAQ.md) | Common questions and troubleshooting |
|
|
|
|
## Quick Reference
|
|
|
|
```text
|
|
/minigame create My_Game "My Game"
|
|
/minigame enable My_Game
|
|
/minigame start My_Game
|
|
```
|
|
|
|
Minimal asset:
|
|
|
|
```json
|
|
{
|
|
"Id": "My_Game",
|
|
"Name": "My Game",
|
|
"Enabled": true,
|
|
"MinPlayers": 1,
|
|
"MaxPlayers": 8,
|
|
"TeamMode": "SOLO",
|
|
"WinCondition": "HIGHEST_SCORE",
|
|
"RoundLengthSeconds": 180
|
|
}
|
|
```
|