Skip to content

Duels

1v1 arenas with schematic paste clones, direct challenges, ranked queue, Elo, spectating, and post-match loot.

Module key: duels
Config: plugins/DonutSMPCore/duels/

Requirements

Requirement Why
FastAsyncWorldEdit (or WorldEdit) Arena schematic paste / cleanup
Loaded world named in config Default paste world: duels
settings module (recommended) Duel request + after-duel song toggles
# plugins/DonutSMPCore/config.yml
Modules:
  duels:
    enabled: true

Folder layout

duels/
├── config.yml          # Match rules, arena grid, protection
├── messages.yml
├── sounds.yml
├── spawn.yml           # Return spawn (/duelsadmin spawn)
├── arenas/             # Per-theme YAML (corners, spawns)
└── schematics/         # <theme>.schem files from wand save

First-time setup

  1. Create/load a dedicated world (example name: duels).
  2. Set return spawn:
    /duelsadmin spawn
    
  3. Build an arena somewhere, then:
    /duelsadmin wand <theme>
    
    Select two corners with the wand, set player spawns, then save:
    /duelsadmin corners
    /duelsadmin playerspawn 1
    /duelsadmin playerspawn 2
    /duelsadmin save
    
  4. Confirm theme appears in /duelsadmin list / schematics.

Each match pastes a clone of the schematic into the duel world grid (arena.clone-grid in config.yml) and clears it when the match ends.

Player commands

Permission: donutsmpcore.duels.use (default: true)

Command Description
/duel <player> Open challenge GUI / send request
/duel accept [player] Accept a request
/duel deny [player] Deny a request
/duel queue Join ranked / queue GUI
/duel leave Leave queue or active flow
/duel draw Request a draw
/duel spectate <player> Spectate a match
/queue Alias for queue
/leave Alias for leave
/draw Alias for draw
/spectate <player> Alias for spectate

Settings GUI toggles (when settings is enabled):

  • Duel requests on/off
  • After-duel songs on/off

Admin commands

Permission: donutsmpcore.duels.admin

Command Description
/duelsadmin help Help
/duelsadmin reload Reload duels configs
/duelsadmin list List arena themes
/duelsadmin schematics List schematic files
/duelsadmin cleanup Force-clean stuck arenas
/duelsadmin spawn Set post-duel return spawn
/duelsadmin wand <theme> Give arena setup wand
/duelsadmin corners Save selection as arena corners
/duelsadmin playerspawn <1\|2> Set fighter spawn
/duelsadmin save Write theme + schematic
/duelsadmin cancel Cancel setup session

Match behaviour (defaults)

Configured in duels/config.yml:

  • Duration, loot window, heal/feed on start
  • Block break protection outside arena
  • Banned items list
  • Optional shrinking world border
  • Ender chest blocked until winner (optional)
  • Active leave counts as forfeit

Tips

  • Keep arena.duel-world empty of survival builds — clones paste on a grid.
  • Raise clone-grid.max-active-clones if many concurrent fights.
  • Use /duelsadmin cleanup if a paste was left after a crash.