minigameAdvancednewmc 1.20.x – 1.21.x65 lines
mob arena (wave-based)
wave-based mob arena: /arena join queues, /arena start spawns waves of zombies/skeletons. reward per kill. survives all waves = win.
required addons — install before reloading
- download skBee ↗Adds scoreboards, hologram text, and other things Skript can't do on its own.
Drop each
.jar into your plugins/ folder, then restart your server.mob-arena-starter.sk65 lines
# Player commands command /arena <text>: trigger: if arg-1 is "join": if {arena.active} is true: send "&cAn arena is already running." to player stop add player to {arena.queue::*} send "&aYou joined the arena queue! (%size of {arena.queue::*}%/4)" to player # Admin commands — gate ALL state-changing subcommands behind a permission so # regular players can't force-start the arena or skip waves. command /arenaadmin <text>: permission: arena.admin trigger: if arg-1 is "start": if size of {arena.queue::*} < 1: send "&cNeed at least 1 player in queue." to player stop if {arena.spawn} is not set: send "&cSet the arena spawn first with /setarenaspawn." to player stop set {arena.wave} to 0 set {arena.active} to true loop {arena.queue::*}: teleport loop-value to {arena.spawn} clear loop-value's inventory give 1 iron sword to loop-value give 1 bow to loop-value give 64 arrow to loop-value add loop-value to {arena.players::*} delete {arena.queue::*} broadcast "&6Arena starting!" execute console command "/arenaadmin nextwave" else if arg-1 is "nextwave": add 1 to {arena.wave} set {_count} to {arena.wave} * 3 broadcast "&6Wave &e%{arena.wave}% &6starting! &7(%{_count}% mobs)" loop {_count} times: spawn zombie at {arena.spawn} if {arena.wave} >= 10: broadcast "&6&l===== ARENA CLEARED =====" loop {arena.players::*}: give 1 diamond to loop-value teleport loop-value to spawn of world "world" delete {arena.players::*} delete {arena.active} else if arg-1 is "stop": broadcast "&cArena ended." delete {arena.players::*} delete {arena.active} command /setarenaspawn: permission: arena.admin trigger: set {arena.spawn} to location of player send "&aArena spawn set." to player on death of zombie: # attacker = killer entity. Coerce to player for membership check. if attacker is a player: if attacker is in {arena.players::*}: add 10 to {money.%uuid of attacker%} send "&7+ &a$10" to attacker
get it running
mob-arena-starter.sk · 65 lines · needs skBee- 1
copy or download
grab the .sk file with the buttons up top.
mob-arena-starter.sk· ready to drop in - 2
drop it in your scripts folder
save it exactly here on your server — no typos, just copy the path:
…/plugins/Skript/scripts/mob-arena-starter.sk - 3
reload in-game
run this in chat or console — your script goes live instantly:
/sk reload mob-arena-starter
that's it — your script is live. hop in-game to try it.
/ related templates
more minigame templates
minigame
spleef arena
players stand on a snow platform; whoever breaks blocks under others wins. auto-restores arena after each round.
minigamehide and seek
hider/seeker minigame: hiders join via /has join, an admin starts the round with /has seek, seeker has 30 seconds before hunt begins. last hider standing wins. (no block-disguise — that requires a separate disguise plugin.)
minigamecapture the flag (basics)
two teams (red/blue), flag at each base, steal opponent's flag and return to base to score. first to 3 wins.