NDuels
Fast, configurable duels plugin for Paper/Spigot.
Designed for clean queues, flexible menus, and smooth arena resets.
Core Features
- Matchmaking & queues with /duel menu support
- Custom kits per mode + in‑game editor
- Configurable /duel menu layout via menu.layout
- Lag‑safe arena reset (batch block restore)
- And Much more! :D
Important Notes
- TAB integration: duelists can see only opponent + spectators in tablist (if TAB is installed)
- PlaceHolderAPI support included
Player Commands
Player Commands
- /duel - show basic help
- /duel queue <mode> - join queue for a mode
- /duel leave - leave current queue
- /duel unqueue - same as leave
- /duel modes - list available modes
- /duel menu - open duel menu
- /duel preview <kitId> - preview a kit
- /duel spectate <player|off> - spectate a player or stop spectating
- /duel accept <player> - accept a duel request
- /duel ready - confirm ready check
- /duel stats [player] - view duel stats
- /duel <player> <mode> - send duel request
Admin Commands
Admin Commands
- /dueladmin menu - open the admin GUI
- /dueladmin placeholders - open placeholder list GUI
- /dueladmin save <arenaName> - save selected arena positions
- /dueladmin removearena <arenaName> - delete an arena
- /dueladmin reload - reload config, modes, arenas, queues
- /dueladmin victorymsg <all|players|none> - set who sees win message
- /dueladmin startmsg <all|players|none> - set who sees start message
- /dueladmin gdelay <mode> <time> - set glowing delay for a mode
- /dueladmin casing <unbreakable|breakable> - toggle arena casing protection
- /dueladmin modearena add <mode> <arena> - assign arena to a mode
- /dueladmin modearena remove <mode> <arena> - remove arena from a mode
- /dueladmin setspawn <arenaName> <1|2> - set arena spawn point
- /dueladmin kit create <mode> - create kit from your inventory
- /dueladmin kit preview <mode> - preview a kit
- /dueladmin kit editor <kitId> - edit a kit
- /dueladmin kit list - list all kits
- /dueladmin mode delete <mode> - delete a mode
- /dueladmin rdelay <seconds> - set respawn delay after duel
- /dueladmin list - list arenas and their status
Permissions
Permissions
- nduels.bypass
- nduels.admin
- nduels.admin.legacy (deprecated)
- nduels.admin.wand
- nduels.admin.menu
- nduels.admin.placeholders
- nduels.admin.save
- nduels.admin.arena.remove
- nduels.admin.reload
- nduels.admin.victorymsg
- nduels.admin.gdelay
- nduels.admin.kit.rename
- nduels.admin.nosat
- nduels.admin.modearena.add
- nduels.admin.modearena.remove
- nduels.admin.modearena.list
- nduels.admin.setspawn
- nduels.admin.kit.editor
- nduels.admin.kit.create
- nduels.admin.kit.preview
- nduels.admin.kit.list
- nduels.admin.rdelay
- nduels.admin.list
Placeholders (Using PlaceHolderAPI)
Placeholders
- %nduels_queue%
- %nduels_queuepos%
- %nduels_queue_eta%
- %nduels_queued_mode%
- %nduels_in_duel%
- %nduels_duel_mode%
- %nduels_duel_mode_display%
- %nduels_duel_opponent%
- %nduels_ready%
- %nduels_requests%
- %nduels_arenas_total%
- %nduels_arenas_free%
- %nduels_arenas_inuse%
- %nduels_arenas_resetting%
- %nduels_modes_total%
- %nduels_queued_total%
- %nduels_online%
- %nduels_wins%
- %nduels_losses%
- %nduels_kills%
- %nduels_deaths%
- %nduels_kd%
- %nduels_wl%
Per-mode (replace <mode> with mode id)
- %nduels_queue_<mode>%
- %nduels_queuepos_<mode>%
- %nduels_wins_<mode>%
- %nduels_losses_<mode>%
- %nduels_kills_<mode>%
- %nduels_deaths_<mode>%
- %nduels_wl_<mode>%
Menu Example:
Examples

Code:
menu:
layout:
row2: '[] [] [] m o a [] [] []'
row3: '[] [] [] t r h [] [] []'
row4: '[] [] [] [] [] [] [] [] []'
row5: 'p [] [] c [] u [] [] n'
row6: ''
items:
p: page_prev
n: page_next
c: close
u: unqueue
a: mode_axe
r: mode_crystal1
m: mode_mace1
h: mode_helden2
o: mode_only
t: mode_uhc
Default Config.yml
Config.yml
U can change many settings/options with the ingame Admin Commands
#
# NDuels configuration
# Tips:
# - Most values can be changed and reloaded with /dueladmin reload
# - Times are in seconds unless stated otherwise
#
# Arena definitions (auto-filled by /dueladmin save)
arenas: {}
modes:
# Example mode (copy this to add more)
example:
# Display name shown in menus & messages
displayName: "&bExample"
# Fallback icon material (if no icon-item is set)
icon: DIAMOND_SWORD
# Optional: glowing delay for this mode (seconds). 0 = off
# glowing-delay-seconds: 0
# Optional: disable hunger drain for this mode
# no-saturation: false
# Optional full item override (serialized ItemStack)
# icon-item: {}
settings:
# Block non-/duel commands while in a duel
command-blocking: true
# Make arena casing (border) unbreakable
arena-shell-unbreakable: true
# Broadcast duel start messages to the whole server
broadcast-duels: true
# Victory message scope: ALL / PLAYERS / NONE
victory-message: PLAYERS
# Start message scope: ALL / PLAYERS / NONE
start-message: PLAYERS
# Time after duel before returning to lobby (0 = instant)
respawn-delay: 0
# Seconds before killing players who leave the arena during a duel
arena-exit-seconds: 3
# How many blocks are reset per tick (higher = faster, more load)
arena-reset-blocks-per-tick: 2000
# Particle radius to show arena borders when near
boundary-particle-radius: 3
# Queue status actionbar update interval (ticks)
queue-status-interval-ticks: 40
# Average duel length used for ETA (seconds)
queue-avg-duel-seconds: 60
# Ready check timeout (seconds)
ready-check-seconds: 10
# Duel request timeout (seconds)
duel-request-timeout-seconds: 30
# Menu sound effects
menu-click-sound: UI_BUTTON_CLICK
menu-page-sound: ITEM_BOOK_PAGE_TURN
menu-open-sound: BLOCK_CHEST_OPEN
xp:
# XP needed per level
per-level: 100
# XP for wins / losses / kills
win: 10
loss: 5
kill: 2
menu:
# /duel menu layout (up to 6 rows).
# Use [] for empty (auto-filled with gray glass).
# Set row6: "" to make a 5-row menu, row5: "" for 4 rows, etc.
layout:
row1: "[] [] [] [] [] [] [] [] []"
row2: "[] [] [] [] [] [] [] [] []"
row3: "[] [] [] [] [] [] [] [] []"
row4: "[] [] [] [] [] [] [] [] []"
row5: "[] [] [] [] [] [] [] [] []"
row6: "p [] [] [] c [] [] n u"
# Map layout letters to actions
items:
p: "page_prev"
n: "page_next"
c: "close"
u: "unqueue"
# Generic mode slot (auto-fills modes, with paging)
s: "mode"
# You can also pin specific modes:
# x: "mode_sword"
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta