A Fabric mod for Minecraft 26.2. When mobs start targeting you, a popup asks: "Mob wants to PvP. Would you like to do it in an Arena?" Accept, and you and every mob attacking you at that moment are teleported into a procedurally generated sky arena for a fair duel.
- Detection — once per second the server looks for mobs within 16 blocks that are actively targeting a player. When found, those mobs are frozen (no AI, invulnerable) and the player gets the popup.
- The popup — pauses the game in singleplayer (like the ESC menu). On multiplayer servers the world can't be paused, but the frozen attackers can't hurt you while you decide. ESC or the timeout (30s) counts as decline.
- Decline — mobs unfreeze and attack normally; the popup won't re-appear for 30 seconds.
- Accept — a round arena (radius 12–16) is generated near build height a couple hundred blocks away: floor and noisy walls built from a random palette of common blocks only (stone, cobble, planks, bricks... never diamonds or anything valuable), plus a few pillar obstacles and torches. You spawn in the center; the mobs spawn spread around you and re-acquire you as their target.
- Fight end — announced as a big fading title in the center of the screen
(gold with a trophy for victory, red for defeat; visible for ~3 seconds).
Everything else uses the action bar — no chat spam.
- Victory (all mobs dead): short grace period to grab drops, then you are teleported back to where you were and the arena is dismantled.
- Defeat: by default the killing blow is cancelled — you keep your inventory and are returned to where you accepted the fight at 1 heart; arena and remaining mobs are cleaned up.
- Real stakes: turn Keep Inventory after Arena Death off in the Mob
Arena settings screen (default keybind:
K, rebindable under Controls) and losing is a normal death — drops and all. The setting is saved toconfig/mobarena.jsonand synced to the server on join. - Fleeing (leaving the arena bounds): you're sent home, the mobs are dismissed, arena removed.
- Disconnect / server stop: best-effort teleport home plus full cleanup.
The arena only ever replaces air blocks and remembers exactly what it placed, so removal restores the world byte-for-byte.
./gradlew build
The jar lands in build/libs/. Requires Java 25. Depends on Fabric Loader
= 0.19.3 and Fabric API.