
Non-Kit based PvP duels for Survival/Faction Servers
I designed this plugin for Non-PvP based servers wishing to add a PvP style element to the server. For this reason, I avoided the kit route.
Please Note: This plugin is very buggy! use at your own peril
Features:
- Matchmaking & Requests
- Full GUI
- In-Game map creator
- Stats & Win Count
- High Customisation with Permissions & Config
- Fully Customisation Language File
- Multi-Lingual
- Tab Complete
Images

Known Bugs:
- Commands dont work
- Some Mistakes in language file
- Slow Targeted Match Start
- Maps enabled/disabled inverted
- Will Fix soon - sam
------------------------------------------------------------------------------------
Installation:
- Download the Resource (.jar file)
- Place it in your /plugins folder of your server
- Reload/Restart the Sever
Commands:
User Commands:
/pvp - Help/GUI
/pvp gui - GUI
/pvp matchmake - Join the Matchmake Queue
/pvp request <name> - Request a Duel with another player
/pvp accept <name> - Accept a Duel from another player
/pvp stats - View Player Stats
Admin Commands:
/pvpadmin - Admin Help
/pvpadmin list - List all Maps
/pvpadmin create <id> - Create a new map
/pvpadmin delete <id> - Delete a map
/pvpadmin info <id> - Show map info
/pvpadmin edit <id> <spawn1 | spawn2> - Set a map spawn
/pvpadmin edit <id> name <value> - Set map formal name
/pvpadmin enable <id> - Enable a map into circulation
/pvpadmin disable <id> - Disable a map out of circulation
------------------------------------------------------------------------------------
Usage:
Create a new map
For this we can assume our new map id as map1 .
Replace map1 with your new map id.
Step 1: Build or Download your map.
Setup the map in the location you desire
Step 2: Create the map
/pvpadmin create map1
/pvpadmin edit map1 name Example Map
Step 3: Set Spawns
Go to the locations that you want the player to spawn.
Make sure to look in the direction you want the player to spawn.
/pvpadmin edit map1 spawn1
or
/pvpadmin edit map1 spawn2
Step 4: Enable the map
Maps are disabled by default
/pvpadmin enable map1
By enabling the map, it allows the map to be put into match creation
------------------------------------------------------------------------------------
Configs:
There are a 4 config files created upon startup:
configuration.yml
Chat Formating
Game Settings
Rewards and Commands
language.yml
Stores all text for responses and GUI
Holds multiple languages
maps.yml
Stores all map settings
store.yml
Stores Player data
Other stuff
Not recommended to be edited
Example Configs:
configuration.yml
format :
lang : en
format : " §p$prefix§r §m$msg"
colour :
highlight : "§8"
msg : "§7"
warn : "§e"
success : "§a"
error : "§c"
info : "§3"
prefix :
error : "§l✖"
warn : "⚠"
success : "§l✔§r"
info : "⚔"
game :
match :
gametime : 60
timewarnings : [ 1,2,3,4,5,10,20,30,60,90,120,150 ]
countdown : 3
waitformap : 30
targetcountdown : 5
commands :
start : [ ]
finish : [ ]
winner : [ ]
loser : [ ]
tie : [ ]language.yml
en :
error :
senderTypeError : "You must be a player to Execute this command"
notImplemented : "This feature is not implemented"
noResponse : "Command returned no response"
usage : "Usage: §h/$command §m$usage"
permission : "You do not have permission to run this command"
permission-admin : "$message §h($permission)"
noplayer : "A player with that name does not exist"
admin :
maps :
exist : "Map with id '$id' already exists"
noexist : "Map with id '$id' does not exist"
list : "$count maps: §h$list"
create : "Created new map '$id'"
delete : "Deleted map '$id'"
info :
header : " §m------ §hMAP INFO §m------"
footer : " §m------ -------- ------"
body : " §m$key: §h$value"
edit : "Set map $key for '$id' to $value"
disable : "Disabled map '$id'"
enable : "Enabled map '$id'"
play :
wait :
map : "Waiting for map"
peer : "Waiting for peer"
setup : "Setting up Match. (Approx $time seconds)"
matchmake :
join : "You have joined the Matchmaking Queue"
leave : "You have left the Matchmaking Queue"
queue : "Queue Position: $pos"
found : "Found Matchmake: $player1v$player2"
target :
send : "Sent PvP request to $player"
recv : "$player wants to PvP you! To accept run $command"
expire : "Your PvP request to $player has expired"
exist : "You have already requested to PvP '$player'"
accept : "Accepted $player PvP request."
accepted : "$player has accepted your request."
none : "You have no PvP Requests"
multiple : "You have multiple PvP Requests. Do /pvp accept <name>"
noplayer : "You dont have a PvP Request from that player"
start : "Starting Match in $time seconds"
stats :
header : " §m------ §h Player Stats §m------"
footer : " §m------ §h ------------ §m------"
body : " §m$key: §h$value"
time :
seconds : "seconds"
second : "second"
minutes : "minutes"
minute : "minute"
game :
msg :
remain : "$time remaining"
lost : "You lost against $other"
win : "You won against $other"
title :
time : "§7$time §7remaining"
timewarn : "§c$time §7remaining"
start : "§aFIGHT!"
win : "§aYou Won!"
lose : "§cYou Lost"
tie : "§6You Tied"
gui :
general :
close :
title : "Close"
subtitle : "Close the menu"
back :
title : "Back"
subtitle : "Go to the Previous Menu"
home :
title : "PvPDuels Menu"
matchmake :
title : "Play: Matchmake"
subtitle : "Starting A PvP duel with a random person"
request :
title : "Play: Request"
subtitle : "Invite a specific person to a PvP duel!"
accept :
title : "Play: Incoming Request"
subtitle : "Accept an Incoming request"
stats :
title : "Player Stats"
subtitle : "See your wins and loses"
credit : "Credit"
stats :
title : "PvPDuels Player Stats ($player)"
wins :
title : "Wins"
subtitle : "§f$v §7wins"
loses :
title : "Loses"
subtitle : "§f$v §7loses"
ties :
title : "Ties"
subtitle : "§f$v §7ties"
count :
title : "Total"
subtitle : "§f$v §7total games"
request :
title : "PvPDuels Request Duel"
clickable :
title : "$player"
subtitle : "Invite to PvP Duel"
accept :
title : "PvPDuels Accept Duel"
clickable :
title : "$player"
subtitle : "Accept Pvp Duel from $player"maps.yml
maps :
test :
name : Epic Test map
spawn1 :
world : world
x : -27
y : 84
z : -33
rx : -0.0
ry : -180.0
'null' : false
spawn2 :
world : world
x : -27
y : 84
z : -42
rx : -0.0
ry : 17.860754013061523
'null' : false
enabled : false
demo :
name : Demo
spawn1 :
world : world
x : -17
y : 55
z : -140
rx : -0.15020181238651276
ry : -180.37744140625
'null' : false
spawn2 :
world : world
x : -17
y : 55
z : -176
rx : 1.3495675325393677
ry : -359.3263854980469
'null' : false
enabled : truestore.yml
players :
f39e8647-c99f-3d71-a09b-2ebf5daa121f :
name : Landon1986
stats :
c : 10
t : 1
w : 1
l : 8
games : [ ]
a6a08663-91c9-3062-b2dc-cfc6c045fadf :
name : SamHDev
stats :
c : 10
t : 1
w : 8
l : 1
games : [ ] Permissions:
You can use PEX or other permission mangers to assign permissions
In General:
For users - pvpduels.use.*
For Admins - pvpduels.use.* + pvpduels.admin.* or pvpduels.*
All Permissions
permissions :
pvpduels.admin :
description : "Allows PvP Duels admin commands"
pvpduels.admin.list :
description : "Allows PvP Duels maps to be listed"
pvpduels.admin.create :
description : "Allows PvP Duels maps to be created"
pvpduels.admin.delete :
description : "Allows PvP Duels maps to be deleted"
pvpduels.admin.edit :
description : "Allows PvP Duels maps to be edited"
pvpduels.use :
description : "Allows PvP Duels commands to be used"
pvpduels.use.gui :
description : "Allows PvP Duels GUI to be used"
pvpduels.use.matchmake :
description : "Allows PvP Duels Matches to be created by matchmaking"
pvpduels.use.request :
description : "Allows PvP Duels Matches to be created by targeted"
pvpduels.use.accept :
description : "Allows PvP Duels Matches to be accepted"
pvpduels.use.stats :
description : "Allows PvP Duels Stats to be shown"
pvpduels.use.stats.other :
description : "Allows PvP Duels Stats to be shown of another Player"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