Duels Arena - Fast Regeneration v.1.5.3

Arena duels with queues and fast map regeneration.
  • Removed license system - will be coming back under legion network's systems.
  • Updated how the duel arena event ends. It is no longer possible for items to be duped. (This fix may require users to have to manually leave arenas if they are left alive or spectating, I will be changing this soon I just wanted a hot fix out there)
  • New resource ownership! There is a new discord for support. https://discord.gg/legionnetwork
[+] Added schematic regeneration
[~] Reworked regeneration
[+] Added FAWE and WorldEdit support
[~] Reworked disconnecting in duel
[~] Fixed issue with count down phase & ender pearls
[~] Fixed folia bugs
[~] Fixed issue with regeneration
[~] Fixed issue with sand physics - sand blocks not being restored when they moved due to physics
[~] Fixed issue with reddis - full rework
[+] Added kit based duels to clear players on duel end etc.

Please make sure to update your config.yml:
YAML:
# ============================================
# DONUT DUELS CONFIGURATION
# ============================================
# Plugin: DonutDuels
# Author: LeafStudios
# Version: ${project.version}
# Support: https://discord.gg/fRvpS3d4
# Compatibility: Spigot, Paper, Folia (1.16.5 - 1.21.11)
# ============================================

# ============================================
# 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

  # ============================================
  # KIT DUEL SETTINGS
  # ============================================
  kit-duel:
    enabled: false
    # If true, clears winner's inventory (contents + armor + off-hand) when they win,
    # BEFORE clearing arena drops — so winners cannot pick up opponent items.
    clear-winner-inventory-on-win: true
    # If true, suppresses the "duel-victory" loot message (useful when there is no loot to collect).
    disable-victory-loot-message: true

  # 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)

# Spawn settings
spawn:
  # World name where spawn is located
  world: "world"

  # Spawn coordinates
  x: 0.5
  y: 100.0
  z: 0.5

  # Optional: Rotation (yaw and pitch)
  yaw: 0.0
  pitch: 0.0

  # Use player's last location before duel (recommended: true)
  # If false, always use the spawn location above
  use-last-location: true

# ============================================
# BUNGEECORD / CROSS-SERVER DUEL SETTINGS
# ============================================
# How it works:
#   1. Player1 (on server1) does /duel Player2 (on server2).
#   2. Redis sends both players to the configured duel-server.
#   3. The duel runs on the duel-server.
#   4. When the duel ends, both players are sent to post-duel-server (lobby/spawn).
#
# Requirements:
#   - Redis must be enabled and reachable from all servers.
#   - All servers must run DonutDuels with the same config.
#   - Set a unique server-name on EACH server (must match BungeeCord names).
bungeecord:
  enabled: false

  # The unique name of THIS server (must match the name in BungeeCord config.yml).
  server-name: "duels1"

  # Cross-server duel routing
  # Server that will host the actual duel arena(s).
  duel-server: "duels1"

  # Server players are sent to after a duel ends (e.g. hub/lobby).
  post-duel-server: "lobby"

  redis:
    enabled: true
    host: "localhost"
    port: 6379
    password: ""   # Leave empty if no password

# 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: "${project.version}"
  author: "LeafStudios"
  license: "Commercial"
  support: "https://discord.gg/K5PD2h62yA"
  compatibility: "Spigot, Paper, Folia (1.16.5 - 1.21.11)"
[~] Changed /leave so you cant use it in count down
[~] Changed /draw so you cant place or destroy blocks as these dont get saved by the arena regeneration.
[~] Big folia fixes
[~] small bug fixes
[~] Fixed where player teleports after duel
[+] Added /duelsetspawn - if player does not have a location before duel started he spawns here or if you turn off use-last-location: true
[~] Fixed /leave command functions properly now
[~] Version fixes for folia
[+] License system update - you can keep using your current license dont worry
Buy a license now
$6.95
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
6,735 Views
56 Purchases
58 Downloads
Jul 30, 2025 Published
May 5, 2026 Updated
5.00 star(s)
Average rating (15)
4.7 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. Yes
AI use in marketing
No
AI use in product
No
Type
  1. Gameplay
  1. GUI
Game mode
  1. Survival & SMP
  1. Factions
  1. Lifesteal
Game mode
  1. Survival
  1. Factions
  1. Lifesteal
Game mode (legacy)
  1. Survival
  1. Factions
  1. Lifesteal
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Bungee
  1. Folia
  1. Velocity
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
Supported languages
  1. English
Includes DRM
Yes
Source access (legacy)
Closed source & obfuscated
Creator
Recommended for you
3D ATM Machines, Unlimited GUI Inventories, In-game GUI Management, Fully Customize! [Vault]
4.00 star(s) 5 ratings
82 purchases
Toggle non-PvP mode with perks and timers.
5.00 star(s) 3 ratings
36 purchases
Team management for survival and lifesteal servers.
5.00 star(s) 2 ratings
7 purchases
Progression tycoon setup with custom gameplay.
5.00 star(s) 4 ratings
21 purchases
1.21.11 - Spear Update | 22+ Custom Menus | NO Premium Plugins | Player Shops & more
Not yet rated
19 purchases
Share and earn
Refer this resource and earn a 10% commission.
6,735 Views
56 Purchases
58 Downloads
Jul 30, 2025 Published
May 5, 2026 Updated
5.00 star(s)
Average rating (15)
4.7 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. Yes
AI use in marketing
No
AI use in product
No
Type
  1. Gameplay
  1. GUI
Game mode
  1. Survival & SMP
  1. Factions
  1. Lifesteal
Game mode
  1. Survival
  1. Factions
  1. Lifesteal
Game mode (legacy)
  1. Survival
  1. Factions
  1. Lifesteal
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Bungee
  1. Folia
  1. Velocity
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
Supported languages
  1. English
Includes DRM
Yes
Source access (legacy)
Closed source & obfuscated
Creator
Recommended for you
3D ATM Machines, Unlimited GUI Inventories, In-game GUI Management, Fully Customize! [Vault]
4.00 star(s) 5 ratings
82 purchases
Toggle non-PvP mode with perks and timers.
5.00 star(s) 3 ratings
36 purchases
Team management for survival and lifesteal servers.
5.00 star(s) 2 ratings
7 purchases
Progression tycoon setup with custom gameplay.
5.00 star(s) 4 ratings
21 purchases
1.21.11 - Spear Update | 22+ Custom Menus | NO Premium Plugins | Player Shops & more
Not yet rated
19 purchases
Top