<aside> <img src="/icons/notification_orange.svg" alt="/icons/notification_orange.svg" width="40px" /> Edit your minigames in game with /mgm menu

</aside>

Example Event

Execute commands when different events happen in the game. You can choose to add as many or as few commands as you want. Prefer a YAML list under Commands: (numbered maps still work). Minigame Maker’s subcommands do not need an mgm prefix. Use {player} for the player the event is running for.

Events:
  Minigame_Join:
    Commands:
      - 'set-private-data {player} score 0'
      - 'set-private-data {player} deaths 0'
      - 'save-stats {player} ign {player} pvpBattle'

<aside> 🔥

YAML keys must match the event names below exactly (underscores included).

</aside>

Event Types

Below is a list of all the events that are available in Minigame Maker.

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

Join / Leave

Minigame_Join Fires when a player joins this minigame. Common place to reset private data, apply kits, and teleport (Kit PVP / TNT Run style).


Minigame_Leave Fires when a player leaves this minigame. Use for cleanup, restoring inventory, or ending game logic for that player.


Server_Join Fires when a player joins the Minecraft server. Runs for players already tied to a minigame, or for the default join flow when they are not.


Server_Leave Fires when a player disconnects from the server while in a minigame context.


Server_Kick Fires when a player is kicked from the server.


World_Change Fires when a player changes worlds. Also updates the tracked interacted world for that player.


Plugin_Disable Fires for every current minigame participant when Minigame Maker is disabling (server stop or plugin unload).

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

Schedulers

Constant_Scheduler Runs once per server tick for each current minigame participant (normally 20 times per second). It does not run as an independent loop for a game with no participants. TNT Run uses this with Movement for floor removal style logic.


Per_Second_Scheduler Runs once every 20 server ticks for each current minigame participant (normally once per second). Shared game actions should include a state check so they are not repeated for every participant.

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

Movement

Movement Fires when a player’s X/Y/Z position changes. Also updates the tracked interacted block under or at their feet (TNT Run style).


Jumping Fires when the player starts a jump from the ground (detected from upward movement).


Falling Fires while the player is moving downward in a fall.


Climbing Fires while the player is climbing (ladder/vine style upward climb movement).


Head_Move Fires when the player’s look direction changes (yaw or pitch) without requiring position change.


Teleport Fires when the player teleports (any Bukkit teleport cause).


Respawn Fires when the player respawns after death.


Vehicle_Exit_Event Fires when a player who was riding a vehicle is no longer in one (checked each tick for minigame participants).


Elytra_Glide Minecraft 1.9+ Fires while the player is gliding with an elytra.


Player_Swimming Minecraft 1.13+ Fires while the player is swimming.


Player_Sneaking Fires when the player is sneaking.


Player_Velocity Fires when the player’s velocity is changed (knockback, explosions, velocity commands, and similar).

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

Combat (player hits)

Player_Hand_Damage_Player Fires when a player melee-hits another player. Kit PVP uses this for hit logic.


Player_Hand_Damage_Entity Fires when a player melee-hits a non-player entity.


Player_Arrow_Damage_Player Fires when a player’s arrow damages another player.


Player_Arrow_Damage_Entity Fires when a player’s arrow damages a non-player entity.


Player_Rod_Damage_Player Fires when a player’s fishing rod damages another player.


Player_Rod_Damage_Entity Fires when a player’s fishing rod damages a non-player entity.


Player_Potion_Damage_Player Fires when a player’s potion damages another player.


Player_Potion_Damage_Entity Fires when a player’s potion damages a non-player entity.


Player_Snowball_Damage_Player Fires when a player’s snowball damages another player.


Player_Snowball_Damage_Entity Fires when a player’s snowball damages a non-player entity.


Player_Egg_Damage_Player Fires when a player’s thrown egg damages another player.


Player_Egg_Damage_Entity Fires when a player’s thrown egg damages a non-player entity.

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

Entities & Incoming Hits

Entity_Hand_Damage_Player Fires when a non-player entity melee-hits a player.


Entity_Arrow_Damage_Player Fires when an entity’s arrow damages a player.


Entity_Fireball_Damage_Player Fires when a fireball damages a player.


Entity_Potion_Damage_Player Fires when an entity’s potion damages a player.


Player_Interact_With_Entity Fires when a player right-clicks an entity. Sets the interacted entity for follow-up commands.


Rod_Caught_Entity Fires when a player’s fishing rod hooks an entity.


Arrow_Ground_Landing Fires when a player-shot arrow hits a block. Sets that block as the interacted block.


Snowball_Ground_Landing Fires when a player-thrown snowball hits a block. Sets that block as the interacted block.

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

</aside>

<aside> <img src="/icons/info-alternate_red.svg" alt="/icons/info-alternate_red.svg" width="40px" />

</aside>