Fixed the issue where you lost your items whenever you quit even if KeepINV was on.
Remove effects on duel start. I think i have also fixed an issue where if you had KeepINV enabled and totem disabled and used the totem it would kill you without keeping your items.
About the 1.21 support, i haven't tested the plugin on that version. feel free to test it.
Some changes i dont even remember. check on github.
Fixed <1.20 version
Rewritten the GUI adding items system. Now you can use MiniMessage in GUI items.
Fixed /duels accept command bug.
Added new permissions for every player-duel command. You can enable/disable them from config, you can use this to set cooldowns on duel command.
Fixed that arena would still appear in Arena selector GUI if you deleted it with a command.
Fixed that it would ignore your blocked-or-allowed commands in the 10 second cooldown teleporting to spawn.
I have rewritten the request storing system. This one will probably be much more stable and reliable than the older one. This pretty much should fix any type of bugs with the following format: "something that is supposed to happen in duel doesn't happen"
If you were experiencing any weird issues with the 1.43 this should pretty much fix it.
Added /duel name bet ARENANAME
Fixed error on inventory click event
Fixed Arena Selector item not showing.
Added better messages in send duel command. We now have separate line for Inventory-saving enabled and Keep-Inventory enabled.
Fixed inventory clicking issue.
Added %arena_name% placeholder in commands.
Removed some debug messages.
Fixed spectator being still invisible after duel ended.
Merged non-admin commands into /duels <subcommand>. Use /duel <player> to duel someone.
Added help command for /duels. Provides better list of commands than before.
Fixed some queue problems.
Added %duel_queue_amount% placeholder.
Added %duel_bet_amount% placeholder.
Better tab-completing. Your name will no longer show in tab completer. (for example /duel <player>)
Added java 17 support. (it wasn't working before somewhy)
Added end commands for inventory-saving mode.
Fixed that if player was on respawn screen and respawned he would be teleported to the world's spawn not duelspawn.
Fixed config-world related issue. If your level name was not "world" it would cause issues. It is fixed now.
Added queue feature. /duelqueue will add you into the queue and whenever arena is available it will pair you with the random player in the list (if players are enough in the queue) and start the duel.
Fixed duel inventory bug reported by KyrVorga.
Fixed Enable status stuck on potion and shield restrictions.
Added Arena-Selector system. This is enabled by default. If you don't select the arena it will pick random available arena for you. You can disable this as it is a module in config.yml
Implemented memory feature: Your restrictions will be remembered from previous duel and you don't have to re-set it every time.
Added betting system.
Added bet-tax feature.
You can add custom bet-take-give commands. (depending on your economy setup)
There is also an option for minimum/maximum bets.
Added option to completely disable restriction GUI and restrictions.
Added allowed/blocked commands for duels.
Fixed MiniMessage bug.
Updated to 1.20.6
Added duel-start/end commands that will be executed by console once duel starts/ends.
Added Inventory-Saving feature. When request receiver accepts the duel, if this module is enabled and player has toggled this in duel GUI, both players items will be taken away and stored. Whenever duel ends we give them their items back. You can use this if you want to give players some kits once duel starts.This is disabled by default and you can enable this in modules (config.yml).
+Numerous updates and fixes that i don't remember. Updates were delayed because I wasn't sure if one of the update was stable or not.
restructured admin commands. now they are all available in /dueladmin command. restructured admin permissions. now all admin perms are in duels.admin.*
Added placeholders:
- time left %duel_time_left%
- opponent name %duel_opponent%
- opponent ping %duel_opponent_ping%
- contact me on discord for more
Placeholder list will be added in the documentation tab.
I have rewritten the Request storing system. This one should be more reliable and non-glitchy. + now you can do /cancelduel %player%.
Added Request Timeout setting. Default value is 5 minutes (300 seconds) you can modify it in the config.yml. This is to prevent too much requests in the plugin's data list
Moved certain methods to more appropriate classes.
Fixed keep inventory toggle switch.
Added restriction modules. Now you can toggle from config what restrictions player can toggle in the GUI. Generally, if you turn off any restriction module, it's display item that is used in the GUI will be removed from the GUI preventing player from toggling it.
Patched storing directly UUID object in the ignores.yml that was causing errors. Now we store it as .toString().
Added keep Inventory option in the GUI. Now players can toggle whether keep inventory will be enabled in the duel or not.
Fixed when you could execute commands after duel ended in the item pickup period.
Fixed small error that was causing big issue. The API version 1.20 was being converted to 1.2 and that was causing the error.
Added default delay value for shield blocking in the config.
Added the auto-update config feature. It will add any new keys added in the update, So you don't have to delete and regen your config anymore. (applies to any config)
Switched to Gradle. Took me long enough tbh.
I have rewritten the Shield restriction check. now we rely on delaying shields reload. Only downside is that spigot doesn't have any method to do that. So I had to switch to the Paper API. The Shields restriction will simply not work on spigot and plugin will warn you. Please use paper or any of its forks if you want to use shield restriction.
Fixed some issues with the Shields restriction. Yea this took a WHILE
Fixed some bugs thanks to
@Yebawy.
Fixed shields disappearing while holding them in the right hand.
Fixed splash potions disappearing while dropping them.
Fixed totems.
Added Update Checker. It will notify you when plugin's update is available.
When the plugin disables players in duel should be teleported to spawn location that is set in the config.
Fixed some restrictions not working.
Added BStats
Changes: Storing duel request in inventory holder. this should be faster when using with high amount of players. we will use inventoryHolder's request on click event to access the request faster. the duel request will still be stored in hashmap it just won't be used in the click event.
Added more restrictions.
Added ender pearl restriction.
Added elytra restriction.
Added option to configure slots in the GUI. please reset your language.yml when you update the plugin otherwise the GUI will break.
Fixed small mem leak
Fixed glowing not working in the menu
Fixed that duel requests could be replaced if another player requested same player
Removed storing secondRequest. it wasn't needed and was taking 2x more space in the requests.
Removed another useless list.
Fixed that you could use shield even if it was disabled if you equipped it on the offhand before duel started.
Fixed that you could use potions even if it was disabled if you drank it before the duel started.
Fixed flying glitch same thing...
I will add elytra & ender pearls restriction now
MiniMessages requested by
Pikaswelt
Added MiniMessage support. To use legacy color codes just leave it as it is. If you want to use new MiniMessage format just add "$" symbol in the starting of message in the language config.
View full changelog on github
Requested by
tiancuocuo
Added spectator system. Took me hours tbh. fixed small things. Added max distance you can get away from the loc1 and loc2 of the arenas in spectator mode. spectator players are hidden for the duel's players. delete your language.yml and config.yml to get the new options in the config or go in the github check the config.yml and language.yml and add the new options yourself.
Small fix in the Accept command.
Patched my dumb mistake in startGame void using new locations from config when it is already available via the Arena object itself.
Added /setduelspawn command. Now you can set the location of where players teleport after the duel ends more easily.
Added option to modify the time to pick up loser's items after the duel ends.
Just delete the config.yml and the option should generate.
Added /createduelarena and /setarenapos commands. Now you can set up arenas easier.
Fixed some annoying bugs.
Fixed spawn location being wrong when duel ended.
Fixed placeholder bug on duel accept command.
Added language.yml file. From now on EVERY message sent by the plugin is configurable.
Also fixed ignoring system not working somehow.
Changed how default configs are saved.
changed inventory name checking to inventory holder checking. should be more secure.
fixed default arenas config not creating.
code available on github from now on.
I did some updates and fixes on the plugin. I recoded some of the plugin insights that weren't really good.
Fixed:
When players were stuck on arena after the duel ended.
Added:
Max duel time (available in config). The default value for this is 10 minutes. After time expires both of the players get teleported to the spawn location that is also set in the config.
and many other things I don't remember..