PinkyDuels
Advanced Instanced Duels - Build Once, Generate Forever
Advanced Instanced Duels - Build Once, Generate Forever
PinkyDuels is a complete 1v1 dueling solution with reusable schematic arenas, global kits, ranked matchmaking, wagers, statistics, seasons, achievements, and extensive GUI administration.
Why PinkyDuels?
Build each arena once. PinkyDuels creates and manages its own empty runtime world, pastes isolated arena instances far away from one another, and reuses their slots after matches.
- No Multiverse, Worlds, or Chunky dependency
- No world creation when a duel or editor starts
- Multiple simultaneous matches from one arena template
- Arena blocks and entities are cleaned after both players leave
- The runtime world remains loaded between matches
- Async schematic loading, pasting, and cleanup with FastAsyncWorldEdit
- Cached schematics for fast repeated generation
Mandatory Duel Configurator
/duel <player> always opens the configurator. Players choose:- The exact arena
- Own inventory or any global kit
- A 5, 10, 15, 20, 25, or 30-minute time limit
- Best of 1, 3, or 5
- Ranked or unranked
- An economy wager
The challenged player sees every setting before accepting. If time expires, the duel ends in a draw, wagers are refunded, and ELO is unchanged.
Instanced Arena System
- Dedicated
pinkyduels_runtimeworld generated by PinkyDuels - Exact arena selector
- Arena lore displays Normal or Destructible
- Reusable FAWE schematic templates
- Widely separated, recycled instance slots
- Private arena editor instances
- Automatic coordinate translation
- Independent spawn points
- Configurable destructible area
- Per-arena effects and combat rules
- Configurable exit margin
- Leaving, changing worlds, teleporting out, or disconnecting counts as forfeiting
Private Arena Editor
- Golden Axe: select destructible position 1 and position 2
- Stick: left click sets spawn 1; right click sets spawn 2
- Barrier: save and leave
Changes save automatically. A template becomes available after its schematic and both spawns are valid.
Global Kits
Kits work in every arena. Left click selects a kit; right click previews its inventory. Players may also select their own inventory.
- Inventory, armor, and offhand support
- Visual editor with automatic save on close
- Protection against deleting kits used by pending challenges
Kit Commands
/pduels kit create <name>- save your current equipment/pduels kit edit <name>- open the visual editor/pduels kit delete <name>- delete a kit/pduels kit preview <name>- preview contents/pduels kit list- open the kit list
Loot Phase
For personal-inventory duels with KeepInventory disabled:
- The winner receives a configurable loot period
- Allowed commands such as
/pvand/ecare configurable - The loser is removed immediately
- The winner leaves when the timer expires
- The instance is cleaned after both players are outside
Competitive Features
- Ranked, unranked, and ranked-only modes
- Expandable ELO matchmaking
- Best-of series and rematches
- Vault wagers
- Anti-farm protection
- Match replays and spectating
- Queues by mode or exact arena
- Pearl, golden apple, totem, critical-hit, blocked-item, and cooldown rules
Statistics and Storage
- Wins, losses, draws, kills, deaths, K/D, points, and streaks
- ELO and point ranks
- Match and kill history
- Statistics by arena, kit, and mode
- Seasons, archives, and achievements
- YAML, SQLite, and MySQL/MariaDB
- PlaceholderAPI, including
%pinkyduels_draws%
GUI Experience
- Mandatory duel setup
- Exact arena selector
- Global kit selector and preview
- Challenge confirmation
- Queues, profiles, history, leaderboards, ranks, seasons, and achievements
- Complete admin panel
- Customizable GUI layouts through
gui.yml
Requirements
- Minecraft 1.20+
- Java 17+
- Paper or Spigot
- FastAsyncWorldEdit
Optional: Vault and an economy plugin, PlaceholderAPI, PvPManager.
Installation
- Install FastAsyncWorldEdit.
- Place PinkyDuels in the
pluginsfolder. - Install any optional integrations.
- Fully restart the server.
- Create arena templates with the admin GUI or commands.
Do not use
/reload for installation or runtime-world updates.Commands
Players
/duel <player>- open the mandatory configurator/duelaccept <player>- review and accept/dueldeny <player>- deny
Administration
/pduels gui- open the admin panel/pduels create <name> type <mode>- create a template/pduels edit <arena>- open the private arena editor/pduels setkeepinventory <arena> <true|false>/pduels addeffect <arena> <effect> <duration> [amplifier]/pduels resetarena <arena>/pduels resetstats <player>/pduels season [next|set <number>]/pduels reload
All administration commands require
pinkyduels.admin.Configuration Example
YAML:
duel:
default_time_minutes: 5
setup_times_minutes: [5, 10, 15, 20, 25, 30]
default_loadout: own
loot_time_seconds: 15
arena_exit_margin_blocks: 8
loot_allowed_commands:
- /pv
- /ec
instances:
slot_spacing: 2048
Support
Include your server software, Minecraft version, PinkyDuels version, FastAsyncWorldEdit version, full startup log, and reproduction steps.

I really appreciate the feedback. I’ll be adding full language file support so everything can be translated easily, with English as the default in the next update.
Edit: V1.9 now out with these changes :)