Files
core-minigames/docs/examples.md
T
2026-06-07 14:34:30 -07:00

2.1 KiB

Examples

These examples describe the current Hytale-native setup: minigame definitions are assets, and world interaction is done with normal Hytale trigger volumes using the minigame trigger condition/effect types.

Simple Start Pad

Definition file: Server/Minigames/Quick_Brawl.json

{
  "Id": "Quick_Brawl",
  "Name": "Quick Brawl",
  "Description": "A short solo score test.",
  "Enabled": true,
  "MinPlayers": 1,
  "MaxPlayers": 8,
  "TeamMode": "SOLO",
  "WinCondition": "HIGHEST_SCORE",
  "RoundLengthSeconds": 120,
  "CountdownSeconds": 5,
  "AllowPvp": true
}

Editor setup:

  1. Create a normal Hytale trigger volume at the start pad.
  2. Add the StartMinigame effect.
  3. Set MinigameId to Quick_Brawl using the asset picker.

Score Zone

Definition file: Server/Minigames/Hill_Points.json

{
  "Id": "Hill_Points",
  "Name": "Hill Points",
  "Enabled": true,
  "MinPlayers": 1,
  "MaxPlayers": 12,
  "TeamMode": "SOLO",
  "WinCondition": "FIRST_TO_SCORE",
  "RoundLengthSeconds": 300
}

Editor setup:

  1. Create a normal Hytale trigger volume around the scoring area.
  2. Add PlayerInMinigame as a condition.
  3. Add ModifyPlayerScore as an effect.
  4. Set MinigameId = Hill_Points, Operation = ADD, and Amount = 1.

If the trigger context already contains the player who entered the volume, leave PlayerId blank.

End When Score Reaches a Target

Condition:

  • Type: PlayerScore
  • MinigameId = Hill_Points
  • Compare = GREATER_THAN_OR_EQUAL
  • Value = 100

Effect:

  • Type: EndMinigame
  • MinigameId = Hill_Points
  • Reason = score_reached

Team Score Zone

Use ModifyTeamScore when the score belongs to a team instead of a player.

Required fields:

  • MinigameId
  • TeamId
  • Operation
  • Amount

The current implementation expects an explicit TeamId.

Counter Gate

Increment:

  • Effect: ModifyCounter
  • CounterId = captured_points
  • Operation = ADD
  • Amount = 1

Gate:

  • Condition: Counter
  • CounterId = captured_points
  • Compare = GREATER_THAN_OR_EQUAL
  • Value = 3

Then attach a follow-up effect, such as SetMinigamePhase or EndMinigame.