
PluginApache-2.0
NDuels
A simple but a all in one Duels Plugin
10
Downloads
1
Followers
2 months ago
Updated
📦
4
Versions
📖About NDuels
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.ymlU 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"