- Introduced a new
teleportToLobbymethod in theDuelsinterface to teleport players to the lobby.- Implemented the method in
DuelsPluginwith thorough null checks.- Introduced
hasUsableTotemmethod to verify if a player has a totem equipped in their main or off hand.- Updated round-ending logic to account for potential totem protection against lethal damage.
- Updated
CommandsConfigto handle unset or empty alias configurations correctly.- Added
unregisterPluginCommandsinDuelsPluginto clean up stale command entries during plugin unload.- Introduced
average_ratingandavg_ratingplaceholders inPlaceholderHook.- Implemented
averageRatingmethod to calculate the average rating across all kits.- Prevent cursor-held items from being included in death drops during duels
- Added checks in
Teleportto handle players sleeping or inside vehicles.- Adjusted
DuelManagerto usesetHealth(0)for ending matches instead of manually restoring player state, avoiding corruption risks.- Introduced duel cooldown configuration in
config.yml.- Added
SelfCooldownValidatorandTargetCooldownValidatorto validate duel cooldowns.- Updated
UserandUserDatato handle cooldown timestamps and implement cooldown logic.- Integrated cooldown checks and enforcement in
DuelManager,RequestManager, and related classes.- Updated
lang.ymlwith new message for players in cooldown.
- Added support for configurable button types, slots, and glow effects in
config.yml.- Refactored button constructors to utilize new configuration options for button types and data.
- Introduced glowing button support with hidden enchantments.
- Improve queue matching logic by skipping unnecessary attempts when no arenas are available.
- Update
KitEditListenerto prevent stack splitting during kit editing.
Fixed startup errors where plugin was saying to contact author due to bad relocation of folialib.
##Latest Updates
###Performance & Stability
- Fixed multiple Folia threading issues across player, entity, block, inventory, sign, potion, and teleport operations.
- Resolved world mismatch errors during teleport handling.
- Fixed async command dispatch issues on Folia.
- Improved safety for entity removal during arena end and tie restoration.
- Fixed NPE in
MultiPageGui.isPart()during reloads.
###Gameplay Fixes
- Fixed players getting stuck in arenas when opponent quits.
- Fixed player join teleport conflicts.
- Improved handling when players quit during countdown (proper win/loss logic).
- Fixed potion effect and ender pearl restoration issues.
- Teleport completion now waits correctly before restoring states.
###New Features & Improvements
Added /duel giveup command to surrender matches.
Added emergency hardstop command for stuck arenas.
Added full customization support for Settings GUI buttons.
Added glowing slots for GUI settings send & cancel buttons.
Added pre-end commands support when winners are announced.
Refactored message configuration for granular per-message control.
Updated AxGrave hook usage.
###Maintenance
- Merged upstream improvements and fixes.
- Updated Shadow Gradle plugin from 9.3.0 → 9.3.1.
Overall, this update significantly improves Folia compatibility, server stability, and match reliability, while adding useful admin tools and GUI enhancements.
