DonutDuels Overview
DonutDuels is a premium, high-performance dueling plugin for Spigot/Paper/Folia servers (1.16.5 – 1.21.11).
It features full and efficient arena regeneration optimized for performance to keep your server running smooth, matchmaking queue, spectator system, loot collection, draw system, statistics, leaderboards, anti-cheat, command restrictions, and beautiful customizable GUI's.

DonutDuels is a premium, high-performance dueling plugin for Spigot/Paper/Folia servers (1.16.5 – 1.21.11).
It features full and efficient arena regeneration optimized for performance to keep your server running smooth, matchmaking queue, spectator system, loot collection, draw system, statistics, leaderboards, anti-cheat, command restrictions, and beautiful customizable GUI's.
Features
- Highly Configurable
- Queue system with music discs
- Full Sound system
- Music disc support
- Leaderboards & Statistics
- Command restrictions when in duel
- Spectate others in a duel!
- Full arena regeneration + clearing entities like arrows, end crystals and TNT
- Optimized for high performance!
- Configurable GUI's
- Map / Region selector
- Create arena's with ease
- Multi server support
Setup
- Start by setting a arena - the arena is the 2 spawn points of both players
- Get the Arena Wand with /dd wand
- Right click to set player spawn point 2 and Left click to set player spawn point 1
- Now create the arena using /dd createarena <name>
- You have successfully created your arena! Now we need to create a region so that the arena regenerates!
- Get the Region want by /dd regionwand
- Right click to set position 1 and Left click to set position 2 of the region (these should be the 2 corners of the arena!)
- Now create the region using /dd createregion <name> The name of the region should be the same as the arena name
- Congrats you have successfully created your first Duel Arena! It should now work and regenerate!
- Try it out using /duel <player> and select your arena in the GUI!
These files might be outdated! These files are from update v1.3.9
Code:
# ============================================
# DONUT DUELS CONFIGURATION
# ============================================
# Plugin: DonutDuels
# Author: LeafStudios
# Version: 1.4.0
# Support: https://discord.gg/fRvpS3d4
# Compatibility: Spigot, Paper, Folia (1.16.5 - 1.21.10)
# ============================================
# ============================================
# GENERAL SETTINGS
# ============================================
general:
default-duel-time: 300 # 5 minutes in seconds
cleanup-time: 240 # 4 minutes after duel ends
loot-collection-time: 240 # 4 minutes to collect loot
debug-mode: false # Set to true to enable debug console messages
# Loot settings
keep-loot-on-death: true # If true, player loot drops when they die in duels
clear-drops-on-death: false # If true, clears all drops when player dies in duels
# Death settings
spectator-mode-on-death: true # If true, puts loser in spectator mode at death location
spectator-duration: 100 # Duration in ticks (100 ticks = 5 seconds) before they can leave
insta-respawn: true # If true, players respawn instantly at death location in spectator mode
# Draw settings
both-players-required-for-draw: true # If true, both players must agree to draw
draw-timeout: 30 # Time in seconds for draw request timeout
# Entity cleanup
auto-clear-entities: true # Clear entities (items, arrows, etc.) after duel ends
clear-entity-types:
- DROPPED_ITEM
- ARROW
- SPECTRAL_ARROW
- TRIDENT
- EXPERIENCE_ORB
- PRIMED_TNT
arena-regeneration:
enabled: true
duel-start-commands:
- "give %player% diamond_sword 1"
duel-end-commands:
- "give %winner% gold_ingot 5"
messages:
use-actionbar: true # If true, duel messages are shown in action bar instead of chat
language: "EN_US" # Language for messages (Options are EN_US and NL_BE)
# EXPERIMENTAL FEATURES - BUNGEECORD/REDIS SUPPORT - TAB INTEGRATION
bungeecord:
enabled: false
server-name: "duels1"
redis:
enabled: true
host: "localhost"
port: 6379
# CURRENTLY DOES NOT WORK
isolation:
tab:
enabled: false
plugin-name: "TAB"
# ============================================
# DATABASE SETTINGS
# ============================================
database:
type: "h2" # Options: h2 (.db), mysql (mysql), yaml (.yml) ALL STORAGE FILES TYPES
mysql:
jdbc-url: "" # Optional, e.g. "jdbc:mysql://localhost:3306/donutduels?useSSL=false"
host: "localhost"
port: 3306
database: "donutduels"
user: "root"
password: "password"
# ============================================
# DUEL SYSTEM SETTINGS
# ============================================
duels:
enabled: true
max-duel-time: 600 # 10 minutes in seconds
request-timeout: 60 # 1 minute
allow-same-world-only: false
# Countdown settings
countdown:
enabled: true
duration: 5 # Countdown duration in seconds (5, 4, 3, 2, 1, GO!)
freeze-players: true # Prevent players from moving during countdown
show-titles: true # Show countdown titles
play-sounds: true # Play countdown sounds
# Sound effects
sounds:
duel-start:
enabled: true
sound: "ENTITY_GENERIC_EXPLODE"
volume: 1.0
pitch: 1.0
countdown:
enabled: true
sound: "BLOCK_NOTE_BLOCK_PLING"
volume: 1.0
pitch: 1.0
final-sound: "BLOCK_NOTE_BLOCK_PLING" # Sound for "GO!"
final-pitch: 2.0
victory:
enabled: true
type: "SOUND" # SOUND or MUSIC_DISC
sound: "ENTITY_PLAYER_LEVELUP" # Used if type is SOUND
music-disc: "MUSIC_DISC_PIGSTEP" # Used if type is MUSIC_DISC
volume: 1.0
pitch: 1.0
duration: 100 # Duration in ticks for music disc playback
queue-joined:
enabled: true
sound: "BLOCK_NOTE_BLOCK_HARP"
volume: 0.8
pitch: 1.2
queue-match-found:
enabled: true
type: "SOUND" # SOUND or MUSIC_DISC
sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
music-disc: "MUSIC_DISC_STAL"
volume: 1.0
pitch: 1.5
duration: 60 # Duration in ticks for music disc playback
# ============================================
# SPECTATOR SETTINGS
# ============================================
spectator:
enabled: true
allow-spectating-duels: true # Allow players to spectate ongoing duels
spectator-gamemode: SPECTATOR # Gamemode for spectators
teleport-to-center: true # Teleport spectators to arena center
prevent-interaction: true # Prevent spectators from interacting with anything
show-spectator-count: true # Show spectator count to duel participants
# ============================================
# ARENA MANAGEMENT
# ============================================
arenas:
# Default arenas (created on first run)
default-arenas:
- "spawn_arena"
- "desert_arena"
- "forest_arena"
arena:
max-region-blocks: 750000 # Max allowed blocks (recommended: 500k–1M)
warn-large-region: 200000 # Warn player if region is bigger than this
enable-region-size-check: true # Set to false to disable all limits (not recommended)
do-mob-spawn: false # Prevent mobs from spawning in duel arenas
particles:
enabled: true
type: "END_ROD" # Best looking: END_ROD, FLAME, REDSTONE (with red color), SPELL_WITCH
count: 1 # 1 is enough for clean lines
duration: 200 # 10 seconds (20 ticks = 1 second)
# ============================================
# QUEUE SYSTEM
# ============================================
queue:
enabled: true
max-queue-time: 600 # Maximum time in queue before auto-removal
sounds:
queue-music:
enabled: true # Set to false to disable music when in queue
music-disc: "MUSIC_DISC_WAIT" # Valid music disc sound
# ============================================
# COMMAND RESTRICTIONS
# ============================================
command-restrictions:
enabled: true
allowed-commands:
- "leave"
- "draw"
- "msg"
- "tell"
blocked-commands:
- "tp"
- "teleport"
- "home"
- "spawn"
- "warp"
- "back"
- "fly"
- "gamemode"
# ============================================
# STATISTICS
# ============================================
statistics:
tracking:
wins: true
losses: true
total-duels: true
leaderboards:
enabled: true
update-interval: 300 # 5 minutes
display-count: 10 # Top 10 players
# ============================================
# SECURITY & ANTI-CHEAT
# ============================================
security:
anti-cheat:
enabled: true
kick-on-detection: true
log-violations: true
integrity-checks:
movement-validation: true
inventory-protection: true
world-border-enforcement: true
abuse-prevention:
request-cooldown: 30 # 30 seconds between duel requests
max-requests-per-hour: 20
queue-hop-penalty: 60 # 1 minute penalty for leaving queue frequently
# ============================================
# PERFORMANCE & OPTIMIZATION
# ============================================
performance:
auto-cleanup:
enabled: true
interval: 600 # 10 minutes
memory-optimization:
clear-unused-arenas: true
optimize-statistics: true
# ============================================
# PLUGIN INFORMATION {Do Not Edit or Your Plugin will Break}
# ============================================
plugin-info:
version: "1.4.0"
author: "LeafStudios"
license: "Commercial"
support: "https://discord.gg/K5PD2h62yA"
compatibility: "Spigot, Paper, Folia (1.16.5 - 1.21.8)"
The plugin contains 2 language files NL_BE and EN_US. This is the EN_US version.
Code:
# ============================================
# DONUTDUELS MESSAGES - ENGLISH (US)
# ============================================
messages:
# ============================================
# CORE DUEL MESSAGES
# ============================================
duel-request-sent: "&7You send a duel request to &x&0&0&9&8&F&F{player}!"
duel-request-received: "&x&0&0&9&8&F&F{player} &7invited you to a duel in {arena}"
duel-accepted: "&aYou accepted the duel request from &e{player}&a!"
duel-started: "&7The duel is started with &x&0&0&9&8&F&F{player}"
duel-cancelled: "&cDuel request cancelled."
duel-victory: "&7You won the duel and have &x&0&0&9&8&F&F4 minutes &7for take loot and leave."
duel-timeout: "&cDuel request expired."
duel-self: "&cYou cannot duel yourself!"
duel-accepted-by-opponent: "&aYour duel request was accepted by {player}"
duel-time-expired: "&e⏰ Duel timed out after 8 minutes - Draw!"
duel-ignored: "<red>✗ That player is not accepting duel requests from you right now."
# ============================================
# COUNTDOWN MESSAGES
# ============================================
countdown-title: "&e{seconds}"
countdown-subtitle: "&7Get ready..."
countdown-go-title: "&a&lGO!"
countdown-go-subtitle: "&7Fight!"
countdown-frozen: "&7You are frozen during countdown"
# ============================================
# PLAYER STATUS MESSAGES
# ============================================
you-in-duel: "&cYou are already in a duel!"
player-in-duel: "&cThat player is already in a duel!"
player-not-found: "&cPlayer not found!"
not-in-duel: "&cYou are not currently in a duel!"
not-in-queue: "&cYou are not in the queue."
only-players: "&cThis command can only be used by players!"
# ============================================
# QUEUE MESSAGES
# ============================================
queue-joined: "&7You joined the casual queue"
queue-left: "&cYou left the casual queue"
queue-status-title: "&a&lQueue Status:"
queue-position: "&7Position: &e{position}&7/&e{size}"
queue-time: "&7Time in queue: &e{time}&7 seconds"
queue-usage: "&cUsage: /queue [join|leave|status]"
queue-already-in: "&cYou are already in the queue!"
queue-not-in: "&cYou are not in the queue."
queue-match-found: "&a✦ ᴍᴀᴛᴄʜ ғᴏᴜɴᴅ! ✦"
queue-opponent: "&7ᴏᴘᴘᴏɴᴇɴᴛ: &e{player}"
queue-no-arenas: "&c⚠ No free arenas available! You remain in queue."
queue-arena-unavailable: "&7Your preferred arena was unavailable. Using: &e{arena}"
queue-timeout: "&c⏰ Queue timeout! You've been removed from the queue after 1 minute."
queue-timeout-retry: "&7Try joining the queue again when ready."
queue-searching: "&e⏳ Searching for opponent... &7({time}s)" # {time} is time spent waiting in queue
# ============================================
# DRAW MESSAGES
# ============================================
draw-loot-time: "&7You have &x&0&0&9&8&F&F4 minutes &7to collect the loot and leave"
draw-timeout: "&7Arena timeout reached, you have been teleported back."
draw-request-sent: "&7You send draw request to &x&0&0&9&8&F&F{player}"
draw-request-received: "&x&0&0&9&8&F&F{player} &7is requesting a duel draw"
draw-accepted: "&7The draw request was accepted"
draw-accepted-by-you: "&7You accepted the draw request"
draw-blocked-pvp: "&cYou cannot attack your opponent during a draw!"
draw-title: "&6ᴅʀᴀᴡ!"
draw-subtitle: "&7The match ended in a draw"
# ============================================
# COMMAND MESSAGES
# ============================================
command-blocked: "&7You Can't do &x&0&0&9&8&F&F{command} &7in duel"
duel-usage: "&cUsage: /duel <player>"
accept-usage: "&cUsage: /duelaccept <player>"
spectate-usage: "&cUsage: /duelspectate <player>"
no-pending-request: "&cYou don't have any pending duel requests to cancel."
# ============================================
# ADMIN MESSAGES
# ============================================
config-reloaded: "&a✓ DonutDuels configuration reloaded successfully!"
config-reload-error: "&cError reloading configuration files! Check console for details."
no-permission: "&cYou don't have permission to use this command."
unknown-command: "&cUnknown subcommand: &e/{label} {sub}"
help-suggestion: "&7Type &e/{label} help &7for help."
# ============================================
# ARENA MANAGEMENT MESSAGES
# ============================================
reload-starting: "&7Reloading DonutDuels configuration files..."
reload-config: "&7✓ config.yml reloaded"
reload-arenas: "&7✓ arenas.yml reloaded"
reload-regions: "&7✓ regions.yml reloaded"
reload-time: "&7Reload completed in {time}ms"
wand-received: "&a✦ ᴀʀᴇɴᴀ sᴇᴛᴜᴘ ᴡᴀɴᴅ ɢɪᴠᴇɴ! ✦"
wand-usage: "&7ᴜsᴇ ᴛʜᴇ ᴡᴀɴᴅ ᴛᴏ sᴇᴛ sᴘᴀᴡɴ ᴘᴏsɪᴛɪᴏɴs"
region-wand-received: "&a✦ Region Selection Wand given! ✦"
region-wand-usage: "&7Use left/right click to select arena boundaries"
region-wand-next: "&7Then use &e/donutduels createregion <name> &7to create the region"
createarena-usage: "&cUsage: /donutduels createarena <arenaname>"
missing-spawn-1: "&cYou haven't set Player 1 spawn point with the wand! (Left click)"
missing-spawn-2: "&cYou haven't set Player 2 spawn point with the wand! (Right click)"
arena-exists: "&cArena '&e{name}&c' already exists!"
arena-created: "&aArena &e{name} &acreated successfully!"
arena-spawns-set: "&7- Player 1 and 2 spawns set"
createregion-usage: "&cUsage: /donutduels createregion <regionname>"
missing-positions: "&cYou must set both positions first using the region wand!"
different-worlds: "&cBoth positions must be in the same world!"
region-exists: "&cRegion '{name}' already exists!"
region-created: "&a✦ Region '{name}' created successfully! ✦"
region-size: "&7Region size: &f{size} blocks"
region-world: "&7World: &f{world}"
region-create-failed: "&cFailed to create region. Check console for errors."
deletearena-usage: "&cUsage: /donutduels deletearena <arena_name>"
arena-not-found: "&cArena '&e{name}&c' does not exist!"
arena-occupied: "&cArena '&e{name}&c' is currently occupied! Please wait."
arena-deleted: "&a✓ Arena '&e{name}&a' was deleted successfully!"
arena-delete-failed: "&cFailed to delete arena '&e{name}&c'!"
mergearena-usage: "&cUsage: /donutduels mergearena <regionname>"
worldguard-not-implemented: "&cWorldGuard integration is not implemented yet"
use-createarena: "&7Use /donutduels createarena to create arenas without WorldGuard"
arena-unavailable: "&c✖ ʀᴇǫᴜᴇsᴛᴇᴅ ᴀʀᴇɴᴀ '{arena}' ɪs ᴜɴᴀᴠᴀɪʟᴀʙʟᴇ!"
arena-using-alternative: "&7🔄 ᴜsɪɴɢ ᴀʟᴛᴇʀɴᴀᴛɪᴠᴇ ᴀʀᴇɴᴀ: &f{arena}"
arena-no-alternative: "&c✖ ɴᴏ ᴀʟᴛᴇʀɴᴀᴛɪᴠᴇ ᴀʀᴇɴᴀs ᴀᴠᴀɪʟᴀʙʟᴇ!"
arena-all-occupied: "&c✖ ᴀʟʟ ᴀʀᴇɴᴀs ᴀʀᴇ ᴄᴜʀʀᴇɴᴛʟʏ ᴏᴄᴄᴜᴘɪᴇᴅ!"
arena-available-count: "&7📋 ᴀᴠᴀɪʟᴀʙʟᴇ: {available}/{total} ᴀʀᴇɴᴀs"
arena-fatal-error: "&c✗ ғᴀᴛᴀʟ ᴇʀʀᴏʀ: ɴᴏ ᴀʀᴇɴᴀ ᴀssɪɢɴᴇᴅ!"
arena-reserve-failed: "&c✖ ғᴀɪʟᴇᴅ ᴛᴏ ʀᴇsᴇʀᴠᴇ ᴀʀᴇɴᴀ '{arena}'!"
arena-teleport-failed: "&cғᴀɪʟᴇᴅ ᴛᴏ ᴛᴇʟᴇᴘᴏʀᴛ ᴛᴏ ᴀʀᴇɴᴀ!"
arena-closed: "&cArena has been closed and you have been teleported back."
arena-cleanup: "&e⚠ Arena will close in {time} minute(s)!"
arena-entities-cleared: "&aCleared {count} entities from arena"
arena-regenerating: "&c⚠ This arena is currently regenerating! Try another arena."
# ============================================
# LOOT COLLECTION MESSAGES
# ============================================
loot-timeout: "&c⏰ LOOT COLLECTION TIME EXPIRED - AUTO TELEPORTED"
loot-warning: "&e⚠ 1 MINUTE REMAINING TO COLLECT LOOT!"
# ============================================
# DEATH & RESPAWN MESSAGES
# ============================================
death-title: "&cYou Died!"
death-subtitle: "&7Spectating for {duration} seconds..."
death-respawn-message: "&7You will respawn at your death location in spectator mode"
duel-loss-title: "&cYou Lost"
duel-loss-subtitle: "&fYou can now leave by using /leave"
duel-start-title: "&x&F&F&0&0&0&0&lᴅᴜᴇʟ"
duel-start-subtitle: "&7Fight with players and take their loot."
# ============================================
# LEAVE COMMAND MESSAGES
# ============================================
leave-victory: "&a✨ ʀᴇᴛᴜʀɴɪɴɢ ᴛᴏ sᴘᴀᴡɴ - ᴄᴏɴɢʀᴀᴛᴜʟᴀᴛɪᴏɴs ᴏɴ ʏᴏᴜʀ ᴠɪᴄᴛᴏʀʏ!"
duel-state-cleaned: "&cDuel state cleaned up. You are no longer in a duel."
leave-punishment: "&c⚠ ʟᴇᴀᴠɪɴɢ ᴅᴜᴇʟ - ᴅʀᴏᴘᴘɪɴɢ ɪɴᴠᴇɴᴛᴏʀʏ!"
leave-punished: "&c💀 ʏᴏᴜ ʜᴀᴠᴇ ʙᴇᴇɴ ᴘᴜɴɪsʜᴇᴅ ғᴏʀ ʟᴇᴀᴠɪɴɢ ᴛʜᴇ ᴅᴜᴇʟ!"
opponent-left: "&a✦ ᴠɪᴄᴛᴏʀʏ! ᴏᴘᴘᴏɴᴇɴᴛ ʟᴇғᴛ ᴛʜᴇ ᴅᴜᴇʟ ✦"
opponent-disconnected: "&a✦ ᴠɪᴄᴛᴏʀʏ! ᴏᴘᴘᴏɴᴇɴᴛ ᴅɪsᴄᴏɴɴᴇᴄᴛᴇᴅ ✦"
# ============================================
# SPECTATOR MESSAGES
# ============================================
spectate-not-in-duel: "&c{player} is not in a duel!"
spectate-joined: "&aNow spectating duel between &e{player1} &aand &e{player2}"
spectate-left: "&7You stopped spectating the duel"
spectate-ended: "&7The duel you were spectating has ended"
spectate-already: "&cYou are already spectating a duel!"
spectate-in-duel: "&cYou cannot spectate while in a duel!"
spectate-disabled: "&cSpectating duels is currently disabled"
spectator-joined: "&7&e{player} &7is now spectating"
spectator-left: "&7&e{player} &7stopped spectating"
spectator-count: "&7Spectators: &e{count}"
# ============================================
# HELP MESSAGES
# ============================================
help-header: "§8§l≫ §d§lDonutDuels §8§l≪"
help-player-commands: "§7Player Commands:"
help-queue: "§d queue (q) §8- §7Open queue GUI or toggle queue"
help-leave: "§d leave (l) §8- §7Leave current duel"
help-duel: "§d duel §8- §7Challenge a player to duel"
help-accept: "§d accept §8- §7Accept a duel request"
help-cancel: "§d cancel §8- §7Cancel pending duel request"
help-draw: "§d draw §8- §7Request draw in current duel"
help-spectate: "§d spectate §8- §7Spectate a player's duel"
help-admin-commands: "§7Admin Commands:"
help-reload: "§d reload (rl) §8- §7Reload all configs"
help-wand: "§d wand (w) §8- §7Get arena setup wand"
help-regionwand: "§d regionwand (rw) §8- §7Get region selection wand"
help-createarena: "§d createarena (ca) §8- §7Create new arena"
help-createregion: "§d createregion (cr) §8- §7Create new region"
help-deletearena: "§d deletearena (da) §8- §7Delete arena"
help-mergearena: "§d mergearena (ma) §8- §7Merge with WorldGuard region"
help-ignore: "§d ignore §8- §7Ignore duel requests from players"
help-deny: "§d deny §8- §7Deny a duel request"
# ============================================
# DUEL ACCEPT BUTTON MESSAGE
# ============================================
duel-accept-click: "§x§0§0§9§8§F§F(CLICK TO ACCEPT)"
duel-accept-or-type: " §7or type §x§0§0§9§8§F§F/duelaccept {player}"
duel-accept-hover: "§aClick to accept the duel request from {player}"
# ============================================
# DUEL IGNORE MESSAGES
# ============================================
duelignore-help-header: "<gradient:light_purple:blue><bold>≫ Duel Ignore Help ≪"
duelignore-help-add: "<light_purple> /duelignore add <player> <dark_gray>- <gray>Ignore duel requests from a player"
duelignore-help-remove: "<light_purple> /duelignore remove <player> <dark_gray>- <gray>Unignore a player"
duelignore-help-list: "<light_purple> /duelignore list <dark_gray>- <gray>List all ignored players"
duelignore-help-clear: "<light_purple> /duelignore clear <dark_gray>- <gray>Clear your entire ignore list"
duelignore-add-usage: "<red>Usage: /duelignore add <player>"
duelignore-remove-usage: "<red>Usage: /duelignore remove <player>"
duelignore-added: "<green>✓ You are now ignoring duel requests from <yellow>{player}"
duelignore-already: "<yellow>⚠ You are already ignoring <yellow>{player}"
duelignore-removed: "<green>✓ You are no longer ignoring <yellow>{player}"
duelignore-not-ignoring: "<red>✗ You are not ignoring <yellow>{player}"
duelignore-self: "<red>You cannot ignore yourself!"
duelignore-list-header: "<gradient:light_purple:blue><bold>≫ Ignored Players ({count}) ≪"
duelignore-list-empty: "<gray>You are not ignoring any players."
duelignore-list-online: "<gray>Online: <yellow>{players}"
duelignore-list-none-online: "<gray>None of your ignored players are currently online."
duelignore-cleared: "<green>✓ Cleared <yellow>{count} <green>player(s) from your ignore list"
# ============================================
# DUEL DENY MESSAGES
# ============================================
dueldeny-usage: "<red>Usage: /dueldeny or /dueldeny <player>"
dueldeny-no-requests: "<gray>You have no pending duel requests to deny."
dueldeny-no-request-from: "<red>You don't have a pending duel request from <yellow>{player}"
dueldeny-denied: "<red>✗ You denied the duel request from <yellow>{player}"
dueldeny-denied-by: "<red>✗ <yellow>{player} <red>denied your duel request"
dueldeny-multiple-requests: "<yellow>⚠ You have multiple pending duel requests:"
dueldeny-request-list-item: "<gray>{number}. <yellow>{player} <dark_gray>- <gray>Arena: <white>{arena}"
Code:
# =============================================
# DONUT DUELS - GUI CONFIGURATION
# Fully customizable GUIs - supports colors, lore, materials, slots
# =============================================
guis:
queue:
title: "ǫᴜᴇᴜᴇ ᴄᴏɴғɪʀᴍᴀᴛɪᴏɴ"
size: 27
items:
cancel:
material: RED_STAINED_GLASS_PANE
slot: 10
name: "§x§F§F§0§0§0§0ᴄᴀɴᴄᴇʟ"
lore:
- "§fClick to cancel"
action: CLOSE
wait_time:
material: COMPASS
slot: 12
name: "§x§0§0§F§F§8§Dᴡᴀɪᴛ ᴛɪᴍᴇ"
lore:
- "§7Estimated Time: <1 minute"
- "§7Currently Queued: {queue_size}"
action: NONE
stats:
material: GRAY_DYE
slot: 13
name: "§x§0§0§F§F§8§Dsᴛᴀᴛɪsᴛɪᴄ"
lore:
- "§7Wins: §a{wins}"
- "§7Losses: §c{losses}"
- "§7Win Streak: §e{streak}"
- "§7Win Rate: §b{winrate}%"
action: NONE
arena_select:
material: FEATHER
slot: 14
name: "§x§0§0§F§F§7§9ᴀʀᴇɴᴀ"
lore:
- "§fClick to select arena"
- "§7Selected: §e{selected_arena}"
action: OPEN_ARENA_GUI
disabled: false
search:
material: LIME_STAINED_GLASS_PANE
slot: 16
name: "§x§3§7§F§F§0§0sᴇᴀʀᴄʜ"
lore:
- "§fClick to start searching for a match"
action: JOIN_QUEUE
duel_config:
title: "ᴄʀᴇᴀᴛᴇ ᴅᴜᴇʟ - {opponent}"
size: 27
items:
cancel:
material: RED_STAINED_GLASS_PANE
slot: 10
name: "§x§F§F§0§0§0§0ᴄᴀɴᴄᴇʟ"
lore: ["§fClick to cancel."]
action: CLOSE
arena:
material: GRASS_BLOCK
slot: 12
name: "§x§0§0§F§F§7§9ᴀʀᴇɴᴀ"
lore:
- "§fClick to change arena"
- "§7({selected_arena})"
action: OPEN_ARENA_GUI
time:
material: CLOCK
slot: 13
name: "§x§0§0§F§F§7§9ᴛɪᴍᴇ"
lore:
- "§7({duration}m)"
- "§7(Time before match is considered a draw)"
action: CYCLE_TIME
region:
material: COMPASS
slot: 14
name: "§x§0§0§F§F§7§9ʀᴇɢɪᴏɴ"
lore:
- "§fGlobal (§x§0§0§9§8§F§F{ping}ms§f)"
action: NONE
send:
material: LIME_STAINED_GLASS_PANE
slot: 16
name: "§x§0§0§F§F§0§7sᴇɴᴅ"
lore:
- "§fClick to send duel request."
action: SEND_DUEL
arena_selector:
title: "sᴇʟᴇᴄᴛ ᴀʀᴇɴᴀ"
size: 27
fill-background: true
background-item: GRAY_STAINED_GLASS_PANE
items:
auto:
material: NETHER_STAR
slot: 13
name: "§x§0§0§F§F§7§9ᴀᴜᴛᴏ sᴇʟᴇᴄᴛ"
lore:
- "§7Automatically selects the best"
- "§7available arena for your match"
- ""
- "§aᴄʟɪᴄᴋ ᴛᴏ ᴇɴᴀʙʟᴇ ᴀᴜᴛᴏ-sᴇʟᴇᴄᴛ"
action: SELECT_AUTO_ARENA
back:
material: BARRIER
slot: 26
name: "§cʙᴀᴄᴋ"
lore: ["§7Return to previous menu"]
action: BACK
region_selector:
title: "§dREGION SELECTION"
size: 27
fill-background: true
background-item: GRAY_STAINED_GLASS_PANE
items:
asia:
material: COMPASS
slot: 13
name: "§aGLOBAL REGION (Selected)"
lore:
- "§7Your ping: §a{ping}ms"
- "§7Global servers - optimal for ALL players"
- ""
- "§7Region locked for best performance"
action: NONE
info:
material: BOOK
slot: 11
name: "§6REGION INFO"
lore:
- "§7Other regions are not available"
- "§7in this version of DonutDuels"
- ""
- "§7ASIA region provides the best"
- "§7connectivity for all users"
action: NONE
back:
material: BARRIER
slot: 22
name: "§cBACK"
lore: ["§7Return to previous menu"]
action: BACK_TO_QUEUE
