Description
Mob Royale is an open-source add-on that implements a Clash Royale-style battle system in Minecraft, allowing team-based battles using mob cards.
For a quick test without setting up commands manually, you can download the official pre-configured map:
Mob Royale Map
Features
- Mob Behavior: Modifies entity AI to assign them to teams and attack only opposing targets.
- New Entities: Adds the King Tower and Princess Towers.
- Card System: Uses the player's experience bar as a resource (elixir) to summon mobs and cast spells in the arena.
Commands
The add-on is controlled through script events that can be executed from the console or command blocks.
Team Management
Adds or removes a player from a specific team:
scriptevent mob_royale:add_blue_team <PlayerName>
scriptevent mob_royale:add_red_team <PlayerName>
scriptevent mob_royale:remove_teams <PlayerName>
Match Control
Stop the Active Match:
scriptevent mob_royale:stop_match
Start or Join a Player to a Match:
scriptevent mob_royale:start_match <PlayerName> <JSONConfiguration>
The mob_royale:start_match command requires two main parameters separated by a space:
<PlayerName>: The exact name of the target player or a selector (e.g.,@por"Steve"). If the name contains spaces, it must be enclosed in quotes.<JSONConfiguration>: A JSON object defining the map structure, spawn points, and tower data for each team.
Command Behavior:
- If there is no active match, the command creates a new match using the JSON data and sends the player to the waiting room (
waiting_room). - If the match is in the countdown phase (pre-match), running the command for another player adds them to the participant list and resets the start timer to 5 seconds.
JSONConfiguration Parameters
- lobby_spawn: Coordinates (
x,y,z) where players return when the match ends. - waiting_room: Coordinates (
x,y,z) where players are sent during the pre-match countdown. - king_zone_size: Dimensions (
x,z) of the territory around the King Tower where the opposing team cannot place cards. - princess_zone_size: Dimensions (
x,z) of the territory around the Princess Towers where the opposing team cannot place cards. - team_data: List of objects containing the technical configuration for each team:
- team_key: Team identifier (
blue_teamorred_team). - spawn: Player spawn point (
x,y,z) in the arena upon match start. - direction: Player facing direction upon spawning (rotation in degrees).
- king_spawn: Coordinates (
x,y,z) where the King Tower is spawned. - princess_spawns: List of coordinates (
x,y,z) to spawn the Princess Towers.
- team_key: Team identifier (
Start Command Usage Example
scriptevent mob_royale:start_match @p {"lobby_spawn": {"x": 0.5, "y": 0, "z": 0.5}, "waiting_room": {"x": 37, "y": 20, "z": 23}, "king_zone_size": {"x": 30, "z": 100}, "princess_zone_size": {"x": 42, "z": 22}, "team_data": [{"team_key": "blue_team", "spawn": {"x": 16, "y": 0, "z": 23}, "direction": 270, "king_spawn": {"x": 11, "y": 0, "z": 23}, "princess_spawns": [{"x": 18, "y": 0, "z": 12}, {"x": 18, "y": 0, "z": 34}]}, {"team_key": "red_team", "spawn": {"x": 57, "y": 0, "z": 23}, "direction": 90, "king_spawn": {"x": 63, "y": 0, "z": 23}, "princess_spawns": [{"x": 56, "y": 0, "z": 34}, {"x": 56, "y": 0, "z": 12}]}]}
Match Flow
- Pre-Match: Players are sent to the waiting room, inventory is locked, and a 5-second countdown begins.
- Start and Spawns: Teams are assigned, King and Princess towers spawn with their exclusion zones, and card decks are distributed.
- Elixir: Player experience acts as elixir. If teams have an uneven number of players, the system automatically adjusts the elixir multiplier to balance the match.
- Overtime and Sudden Death:
- Base duration of 180 seconds (elixir generation rate increases with 60s remaining).
- If tied when time expires, Sudden Death begins (120s), where the first tower destroyed determines the loser.
- Tiebreaker: If the game remains tied after Sudden Death, all towers continuously take damage automatically until the first one falls.

