DonutDuels
ᴀ ᴄᴏᴍᴘʀᴇʜᴇɴsɪᴠᴇ ᴅᴜᴇʟɪɴɢ ᴘʟᴜɢɪɴ ꜰᴏʀ ᴍɪɴᴇᴄʀᴀꜰᴛ
Version: 1.0.0 | Author: GamingHuzai
✨ Features
⚔️ Dueling System - Challenge players to intense 1v1 battles with customizable arenas and time limits
Statistics & Leaderboards - Track wins, losses, K/D ratios, and win streaks with persistent player data
Arena Management - Create unlimited arenas with automatic regeneration and spawn point configuration
Queue System - Join casual matchmaking queues for automatic opponent pairing
Spectator Mode - Watch ongoing duels from any player's perspective
⚙️ Dual Storage - Choose between lightweight YAML or robust SQLite database storage
License System - Automatic IP-based license key generation for server security
Interactive Menus - Beautiful GUI menus for queue management and duel requests
Commands
Player Commands
| Command | Description | Permission |
| /duel player; | Challenge a player to a duel | donutduels.duel |
| /duel accept <player> | Accept a duel request | donutduels.duel |
| /duel decline <player> | Decline a duel request | donutduels.duel |
| /duel toggle | Toggle duel requests on/off | donutduels.duel |
| /duel stats [player] | View duel statistics | donutduels.duel |
| /duel top | Show top 10 leaderboard | donutduels.duel |
| /duel queue | Join/leave casual queue | donutduels.duel |
| /duel draw | Request or accept a draw | donutduels.duel |
| /spec <player> | Spectate a player's duel | donutduels.spectate |
| /spec leave | Stop spectating | donutduels.spectate |
| /queue [join|leave] | Manage queue status | donutduels.duel |
| /leave | Exit match during loot phase | donutduels.duel |
Admin Commands
| Command | Description | Permission |
| /dd help | Show all admin commands | donutduels.admin |
| /dd reload | Reload plugin configuration | donutduels.admin |
| /dd wand | Get arena selection wand | donutduels.admin |
| /dd setspawn | Set global spawn location | donutduels.admin |
| /dd createarena <name> | Create new arena | donutduels.admin |
| /dd setspawn <arena> 1|2 | Set arena spawn points | donutduels.admin |
| /dd delete arena <name> | Delete an arena | donutduels.admin |
| /dd arenaregen on|off | Toggle arena regeneration | donutduels.admin |
| /dd forcestop <player> | Force-stop a player's duel | donutduels.admin |
Permissions
| Permission | Description | Default |
| donutduels.admin | Access to all admin commands | op |
| donutduels.duel | Use duel commands | true |
| donutduels.spectate | Spectate duels | true |
Requirements
- Minecraft Version: 1.16.5 or higher (Spigot/Paper)
- Java Version: Java 8 or higher
- Dependencies: None required (SQLite JDBC optional for database mode)
- Build System: Maven
Configuration
config.yml Example
SETTINGS:
LOOT-TIME: 60 # In seconds
MATCH-TIME: 15 # In minutes
REGION: "NA East" # Server region name
MAX-MATCH-TIME: 15 # Maximum selectable match time
PROTECTED-BLOCKS:
- "SHORT_GRASS"
- "STONE_BRICKS"
- "IRON_BLOCK"
MESSAGES:
JOINED-QUEUE: "&7You joined the casual queue."
MATCH_WINNER_MESSAGE: "&eYou have won the duel!"
DUEL_REQUEST_SENT: "&aDuel request sent to %target%!"
database.yml Example
TYPE: "YAML" # Options: YAML or SQLITE
YAML Mode: Lightweight, human-readable, no dependencies
SQLite Mode: For larger servers (requires sqlite-jdbc driver)
Installation
- Download DonutDuels-1.0.0.jar from the target/ directory
- Place in your server's plugins/ folder
- Restart your server
- License key will be automatically generated
- Configure files in plugins/DonutDuels/
- Use /dd wand to create arenas
- Set spawn points with /dd setspawn <arena> 1|2
Building from Source
mvn clean package
The compiled JAR will be in target/DonutDuels-1.0.0.jar
Configuration Files
| File | Purpose |
| config.yml | Match settings, messages, sounds, protected blocks |
| menus.yml | GUI menu configurations and items |
| database.yml | Storage type selection (YAML/SQLite) |
| arenas.yml | Auto-generated arena data and spawn points |
| license.yml | Auto-generated license key storage |
Statistics Tracked
- Wins & Losses
- Draw matches
- Win Rate percentage
- Current win streak
- Best win streak
- Total kills & deaths
- K/D ratio
- Top 10 leaderboard rankings
Customization
Messages: All plugin messages support Minecraft color codes using & symbol
Example: &aGreen text &cRed text &eYellow text
Sounds: Fully customizable sound effects for queue, duel start, and victory
Menus: Complete GUI customization through menus.yml
Support
Made with ❤️ by GamingHuzai
Enjoy DonutDuels!
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
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
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta