Duel Arena v0.1.1
1v1 duels in a marked arena, with optional wagering through Vault in your server's own currency (the label is configurable — "coins" by default). Challenge a player, and on accept both fighters are teleported to the arena's spawn points, counted down, and turned loose — then put back exactly as they were.
- /duel <player> [wager] with clickable [Accept] / [Deny] in chat, and plain-command fallbacks for Bedrock players
- The plugin enforces PvP inside the arena zone itself — duelist hits land even where world or region PvP flags are off, and spectators and outsiders can't interfere
- Nobody dies — a lethal blow ends the duel instead, and both fighters are restored and returned exactly as they were: position, health, food, game mode, effects, gear and XP
- Wagering through Vault escrow — both stakes are taken before anyone teleports (if either player can't cover, no money moves); winner takes the pot, draws refund both, forfeits pay the other player, and a graceful server stop refunds both. Every stake, payout and refund is console-logged. Optional house cut, default 0
- Watch invites — on accept, every other online player gets a clickable invite to the stands
- The arena is block-snapshotted when set (cap 250,000 blocks) and rolled back block-for-block after every fight, with dropped items inside swept
Admin commands: /duel setcorner1, /duel setcorner2, /duel y= <bottom> to y= <top> (sets the arena box's height directly; /duel y alone shows the box), /duel setspawn a|b, /duel setspectator, /duel snapshot, /duel reload (permission duelarena.admin; player commands under duelarena.use, alias /duels). A README.txt lands in plugins/DuelArena/ on first run, and the config is tunable.
Requirements: Paper 26.3, Java 25. Vault + an economy plugin only if you want wagering — friendly duels work fine without one.
Honest note: escrow is held in plugin memory, so a hard crash mid-duel can't refund it (a graceful stop can, and does). The arena itself is restored at the next startup after a crash. Both limits are documented in the README.
Proven, not promised: the full loop — arena zone, reset/rollback, invites, countdown, starting teleports and wagers — was proven in game by the author, on Java and Bedrock cross-play.