Build a PvP arena
One command to start a fair fight: everyone gets the same gear, full health, a fresh spawn in the ring, and a "Fight!" title. A second command resets the round. No manual setup between matches.
1. Start the match
Put everyone in Survival, wipe their inventory so nobody sneaks in gear, top off their health, teleport them into the arena, hand out the kit, and shout go.
# functions/pvp/start.mcfunction
gamemode survival @a
clear @a
effect @a instant_health 1 100 true
tp @a 0 65 0
function pvp/kit
title @a title Fight! 2. The kit
A separate function makes the loadout easy to tweak and reuse. Everyone gets identical gear — that's what keeps it about skill, not who grinded more.
# functions/pvp/kit.mcfunction
give @a iron_sword
give @a iron_helmet
give @a iron_chestplate
give @a golden_apple 3
effect @a regeneration 3 1 true
3. Reset between rounds
Clear items and effects, drop players back to Adventure at a safe lobby spot, and announce the round's over. Run /function pvp/reset, then /function pvp/start to go again.
# functions/pvp/reset.mcfunction
clear @a
effect @a clear
gamemode adventure @a
tp @a 0 70 20
title @a title Round over Make it yours
- · Offer loadouts: a pvp/kit_archer with a bow, a pvp/kit_tank with diamond armor.
- · Spread players out — give each spawn its own coordinates instead of one tp for everyone.
- · Add a countdown with /title ("3… 2… 1… Fight!") using a short chain of functions.
- · Track wins on a scoreboard and show a leaderboard on the sidebar.
See it in Minecraft
One command starts the match: everyone's topped off, dropped into the ring, and a big "Fight!" says go.
The arena in the shot is just a few fills — run this once to build it around you:
# functions/pvp/build.mcfunction
fill ~-12 ~-1 ~-12 ~12 ~-1 ~12 sandstone
fill ~-12 ~ ~-12 ~12 ~5 ~12 sandstone hollow
fill ~-11 ~5 ~-11 ~11 ~5 ~11 sea_lantern Keep score.
Add a live scoreboard and a win condition to crown a champion.
Scoreboards in action