Releases: ZoneDevelopement/ZonePractice-Pro
Releases · ZoneDevelopement/ZonePractice-Pro
ZonePractice Pro v7.0.0-SNAPSHOT
✨ New Features
- Added a sword-to-duel mechanic, replacing the right-click duel system
- Added a kit change command in FFA, allowing players to switch kits during the game
- Added an FFA arena selector GUI
- Implemented multi-block support for the Splegg event
- Added rematch request invalidation logic
- Added a cooldown for markers
- Added support for Mace Smash kills
- Disabled portal teleportation in arena worlds
- Duel right-click now only works with the unranked item
🐛 Bug Fixes
- Fixed ladder validation failing for FFA-only ladders
- Fixed an issue where the spectator state was not clearing on transition
- Fixed incorrect self-attribution in void death messages
- Fixed "knocked to the void by player" death message in FFA
- Fixed a duplication bug in the player inventory
- Fixed lobby visibility toggle without rejoin
- Validated liquid placement using block face
- Escaped MiniMessage tags in player messages to prevent chat formatting exploits
- Fixed BlockPlaceEvent to search by player instead of cuboid for accurate build rollbacks
- Fixed build rollback logic and the build listener
- Fixed event data spawn removal on server restart
- Fixed a bug with the new mannequin spawn markers
- Fixed portal frame creation to correctly use END_PORTAL
- Fixed a sound effect playing incorrectly when there is a message in the chat
- Fixed a backend error
- Fixed a possible NullPointerException in the MatchStatsGui constructor
- Fixed multiple potential NullPointerException, IllegalStateException, and IndexOutOfBoundsException occurrences
🔧 Other Changes
- Dropped support for the old 1.8 version, modernizing the codebase
- Upgraded holograms to use modern TextDisplay entities instead of armor stands
- Upgraded setup markers to use the new Mannequin entities instead of armor stands
- Merged all rollback-related settings into BuildListener.java
- Replaced deprecated methods and cleaned up code warnings across the project
- Disabled flower pot integration
- Updated LICENSE year to 2026
- Bumped project version to 7.0.0-SNAPSHOT
- Created AGENTS.md and added it to .gitignore
- Fixed pom.xml copying issues
ZonePractice Pro v6.4.6-SNAPSHOT
LAST VERSION TO SUPPORT 1.8
✨ NEW FEATURES
- Fireball Fight: Players can now destroy placed blocks using fireballs.
- Duels: Added the ability to send a duel request by right-clicking a player.
- Chat Logging: The server console is now included in the audience for Party and Staff chat, allowing for proper logging on modern versions.
🐛 BUG FIXES
Combat & Items
- Fixed firework cooldown spam and hanging issues on held clicks, and added a proper right-click filter (#279, #282).
- Prevented false firework cooldowns and optimized the system by utilizing
EntitySpawnEvent. - Fixed an enderpearl glitch that occurred when a player left an FFA arena.
- Fixed an issue with fireball fight velocity during player jumps.
- Fixed a
NullPointerExceptioninPlayerItemCooldownEventhandling.
Arenas & World Management
- Prevented synchronous chunk loading in
Cuboid#getChunks(#291) and ensured chunks are safely loaded when retrieving arena chunks (#295). - Fixed block checking logic inside unloaded chunks and corrected chunk unload event handling.
- Fixed fire spread rollback logic and resolved issues where fire conflicted with arena rollbacks.
- Fixed the enabled arena count to properly include FFA arenas.
- Fixed chunk loading and action bar coloring during arena copy operations.
GUI & Menus
- Updated
CopyGuito process synchronously, preventing duplicate icons from appearing (#299). - Fixed arena, ladder, and event GUIs to ensure all icon types display correctly.
Events, Parties & System
- Fixed a death cause compatibility issue for Party FFA deaths and changed the default nametag color fallback to gray.
- Refactored the chat listener to properly fix party and staff chat logging.
- Fixed an issue with fetching online players for commands.
- Added missing kit data to the Sumo event.
- Changed the event start sound so it only plays during the final 5 seconds of the countdown.
🚀 IMPROVEMENTS & TWEAKS
- Combat Physics: Reworked Fireball and TNT knockback calculations to feel more authentic and similar to modern practice servers (e.g., Minemen). Updated fireball fight velocity settings.
- Configuration: Changed the ladder slots path in
config.ymland updated the reading logic so it no longer resets unnecessarily when changes are made. - Quality of Life: Improved the wording of the pre-login kick message for better clarity.
- GUI Logic: The FFA main setup GUI will now automatically enable an arena if it meets the requirements and an admin tries to open it.
🔧 TECHNICAL CHANGES
- Thread Safety: Switched the rounds map to use
ConcurrentHashMap. - Code Cleanup: Removed unused imports and performed general developer maintenance.
- Version bump to
6.4.6-SNAPSHOT.
ZonePractice Pro v6.4.5-SNAPSHOT
✨ NEW FEATURES
General & Customization
- Added real-time updating for queue and fight counts in the Queue GUIs.
- Added an update checker that notifies server operators when a new plugin version is available.
- Added
/tell,/whisper, and/wcommand aliases to the private messaging system. - Added a configuration toggle to enable or disable the internal nametag management system.
- Added a limit configuration for party broadcasts based on permission groups.
- Added the missing
%target%variable replacement for the duel rematch request message.
Events & API
- Added sound effects for the event queue start and the event start countdown.
- Expanded the Developer API with new features to fetch a player's complete nametag, and added detailed API documentation to the README.
🐛 BUG FIXES
Events
- Fixed an exploit in TNT Tag where players could bypass knockback by rapidly switching hotbar slots.
- Fixed an issue where the
/event stop TNTTAGcommand was not functioning properly. - Fixed a bug where event spawn markers were facing the wrong direction, and ensured proper cleanup of player spawn markers after setup.
- Fixed an
IllegalArgumentExceptionduring TNT Tag teleportation when no spawns are available. - Fixed an
IllegalStateException("Spawn point already exists") when processingPlayerInteractEventfor Event spawn points. - Fixed critical server-stop exceptions (
ConcurrentModificationException) that caused event maps to reset if the server was stopped while an event was live. - Fixed an error where the AutoEvent system would attempt to start an event that hadn't been fully configured yet.
General System Fixes
- Fixed a delayed nametag setting task that could cause an
IllegalPluginAccessException. - Fixed the
snowballModevariable initialization for the Spleef ladder. - Fixed visual inconsistencies with items in the Party Broadcast GUI and the Division display GUI.
- Applied the correct fix for issue #246 (PR #259).
🚀 IMPROVEMENTS
- System: Modernized the item cooldown system by replacing the legacy
ItemCooldownHandlerwith the native Paper APIPlayer#setCooldownfor better client sync. - Events: Improved the event setup mode to automatically teleport the administrator to available spawn points, grant Creative mode, and enable flight.
- Events: Implemented the missing
AutoEventScheduler.javato properly handle automated event cycles. - UI: Improved the Division progress bar calculation to accurately reflect progress relative to the previous division's requirements.
- Compatibility: Split the player chat listener into version-specific modules to ensure full compatibility with third-party chat loggers and mute plugins.
🔧 OTHER CHANGES
- Removed the custom arrow scheduler to follow vanilla arrow protocols and prevent unnecessary server ticks.
- Removed unnecessary ladder ELO saving logic from
ProfileFile.javato clean up the codebase. - Changed the gamemode of players in TNT Tag to Adventure mode.
- Adjusted the minimum and maximum player count validations for event settings.
- Updated the plugin disable message to be more descriptive when running on an unsupported server version.
- Bumped project version to
6.4.5-SNAPSHOT.
ZonePractice Pro v6.4.4-SNAPSHOT
✨ NEW FEATURES
Ladders & Game Modes
- Added Crystal and Spear as new default ladders, and included them in the default queue GUI slots.
- Added a new Bridge ladder setting that allows resetting the build after each round.
- Added a new Spleef ladder setting that enables players to collect and throw snowballs to destroy blocks below.
- Added a new ladder setting that permits players to break every block in the arena.
- Added a Knockback I Pufferfish item for Modern Sumo (#213).
Arenas & Rollback
- Added Creeper explosion support to the block tracking and rollback system.
- Players are now frozen (movement blocked) until the arena rollback process is completely finished.
- Arenas are no longer disabled when no ladders are assigned, and assigning a ladder is no longer required to enable an arena.
- Re-enabling a ladder now automatically restores its previous arena assignments.
- Added a warning message and automatic portal deletion if a portal is placed at the deadzone or lowest Y level of the map.
General & Customization
- Added a specific death message for when a player is knocked into the void by another player.
- Added tipped arrow support to all categories in the
playerkit.ymlconfiguration file. - Added a configurable update cooldown to the queue selector GUIs.
🐛 BUG FIXES
Combat & Gameplay
- Fixed an issue in Bridge where players were able to destroy all blocks even when the break-all-blocks setting was disabled.
- Fixed an issue where Fireball Fight sound and particle effects would not play when TNT or fireballs blew up.
- Fixed arrows disappearing instantly upon hitting the ground.
- Fixed an issue where server administrators were incorrectly switched to Survival mode after a match.
- Fixed duplicate messages being sent for the firework rocket cooldown.
Arenas & Rollback
- Fixed a rollback issue with falling sand and resolved conflicts between falling blocks and explosions.
- Fixed a
ConcurrentModificationExceptionoccurring during arena assignment and removal. - Fixed a potential async race condition in the Arena Summary GUI.
General System Fixes
- Fixed an error in
HologramProtectionListenerwhen comparing hologram lines from different worlds. - Fixed a potential
NullPointerExceptionduring CPS removal. - Fixed ladder icon material and durability handling.
- Added a null check to
MMMessagesending to prevent console errors.
🚀 IMPROVEMENTS
- System: Completely refactored the arena rollback system to be more robust and expandable.
- Performance: Updated the system to utilize async chunk loading to prevent main thread freezes.
- Performance: Converted specific return values from
inttolongto prevent data overflow. - UI: Extended the Destroyable Blocks GUI from 3 to 6 editable rows.
- Dependencies: Updated the Scoreboard library version to 2.7.0.
- Config: Moved the firework cooldown message to its proper location in
language.yml.
🔧 OTHER CHANGES
- Disabled the Enderpearl cooldown for PearlFight on modern Minecraft versions.
- Removed manual arrow removal logic.
- Removed the rollback broadcast message from non-build matches.
- Removed the refresh button from the Server Manager.
- Removed unused project dependencies and the Qodana code quality check.
- Applied various static analysis code optimizations.
- Bumped project version to
6.4.4-SNAPSHOT.
ZonePractice Pro v6.4.3-SNAPSHOT
✨ NEW FEATURES
- Added required packages to the project POM
- Implemented alphabetical sorting for the hologram and ladder summary GUIs
🐛 BUG FIXES
Holograms
- Resolved multiple dynamic hologram duplication and disappearance issues by rewriting the core logic
- Prevented holograms from losing ladder data on startup and raised them by 0.3 blocks for better visibility
- Fixed a race condition in hologram update handling
Events
- Fixed disabled player damage and missing wool material in Splegg events
- Corrected scoreboard player counts for Brackets and Sumo
- Fixed forceEnd behavior and teleportation edge cases
- Resolved GUI lore and icon bugs in the event setup menu
- Corrected the label in the event spawn command
Arenas
- Fixed an error that interrupted the arena copying process
- Corrected alphabetical sorting in the arena summary GUI
- Fixed error handling during arena regeneration
- Prevented TNT explosions and manual block removal on protected blocks
General Fixes
- Fixed TAB integration to display correct tablist names even when formatting is disabled
- Resolved a multi version tab compatibility bug
- Prevented duplicate messages from sending after a match
- Fixed an issue with player marker armor stands
- Resolved an ArrayIndexOutOfBoundsException and a potential backend loading bug
🚀 IMPROVEMENTS
- Optimized CPU and memory usage for the arena deletion and copying logic
- Refactored the TAB plugin integration for better stability
- Improved the event setup mode by cleaning up unused spawn commands
- Upgraded scoreboard library dependencies to version 2.6.0
- Added a warning to the README regarding Java 25 compilation
🔧 OTHER CHANGES
- Disabled inventory clicks for the TNT tag
- Set the clock amount in the modern lobby inventory to 1
- Removed unused match metadata tracking
- Bumped snapshot versions for the new release
ZonePractice Pro v6.4.2-SNAPSHOT
✨ ZonePractice Pro v6.4.2
🛠️ Hologram System Overhaul
- Rewritten Logic: The Leaderboard Hologram system has been completely rewritten from scratch to ensure stability.
- Visual Fixes: Fixed persistent issues where holograms would duplicate, stack on top of each other, or disappear completely after matches.
- Stability: Resolved "race conditions" that caused flickering during updates.
⚔️ Events & Gameplay
- Splegg: * Fixed a bug where players could damage each other.
- Fixed an internal error regarding Wool material on specific server versions.
- TNT Tag: Players can no longer move items in their inventory during the match.
- Scoreboards: Fixed incorrect player counts displaying in Brackets and Sumo events.
- General Fixes: Resolved critical teleportation issues in events and fixed the
/event forceEndcommand behavior.
🎨 Visuals & Integration
- TAB Plugin: Improved integration logic. Tablist formatting (prefixes/colors) now works correctly even if
tablist-name-formattingis disabled in the TAB plugin's configuration. - GUI Improvements: The Hologram and Ladder summary menus are now sorted alphabetically, making it much easier to find specific configurations.
- Cleanup: Fixed a bug where match result messages would appear twice in chat.
🚀 Performance & Setup
- Optimization: Greatly improved the CPU and Memory usage when deleting or regenerating arena copies.
- Event Setup: Fixed the "Right Click to Remove" feature for armor stand markers during event setup.
- Backend: Fixed various internal errors (IndexOutOfBounds, etc.) to improve general plugin stability.
ZonePractice Pro v6.4.1-SNAPSHOT
✨ ZonePractice Pro v6.4.1
⚔️ Combat & Gameplay Updates
- New Kit (Modern): Added Mace Kit support for 1.21+ versions, including integration into the Queue GUI.
- Combo Rework (Modern): Completely reworked hit delay and attack speed calculations for 1.21+. Removed the strength potion from the default Combo ladder for better balance.
- Mechanics: Added Elytra Cooldown functionality.
- Scoreboard: Implemented Instant Statistic Updates on the sidebar (hit counters now update in real-time without delay).
🛠️ Arena & Setup Management
- Setup Tools: Added visual Spawn Marker Armor Stands for Normal and FFA arenas to make setup easier.
- Setup GUI: Added extra coordinate information to the location item in the setup menu.
- Deadzones: Added Deadzone configuration support to Basic Arenas.
- Build Limits: Fixed logic regarding the build height limit. Players can now correctly break blocks generated by cobble/obsidian generators even if they are above the build limit.
🎨 Visuals & Integration
- TAB Plugin Integration: Massive improvements to TAB support. The plugin now correctly handles nametag conflicts, colors, and sorting, fixing issues where prefixes/suffixes were missing.
- Holograms:
- Fixed a bug causing Leaderboard players to duplicate.
- Fixed an issue where Holograms would duplicate or fail to disappear.
- Refactored update logic for smoother refreshing.
- Chat/Messages: Fixed color formatting issues in Kick messages during server load and missing names in match-end messages.
🐛 Bug Fixes & Stability
- Arena Rollbacks: Fixed critical issues with Map Rollback and regeneration systems (especially in Modern versions).
- Stability: Implemented a check to prevent players from logging in with a username that is already online.
- Scoreboards: Fixed configuration and display bugs in the Party Split scoreboard.
- Cleanup: Fixed issues where position markers were not removed after deleting an arena.
- Performance: Reduced console spam by removing unnecessary debug logging.
🔧 Internal Changes
- CI/CD: Overhauled the GitHub Actions
release.ymlworkflow for automated, deep changelog generation and robust version checking. - Refactoring: Refactored
AdapterUtilto prevent NullPointerExceptions. - Defaults: Changed default player nametags to Gray and updated default ladder names for better cross-version saving.
ZonePractice v6.3-SNAPSHOT
ZonePractice v6.23-SNAPSHOT
What's Changed
- Dev by @Nandi0813 in #118
- Dev by @Nandi0813 in #119
- Dev by @Nandi0813 in #120
- Dev by @Nandi0813 in #121
- Dev by @Nandi0813 in #123
- Dev by @Nandi0813 in #125
Full Changelog: v6.22.1-SNAPSHOT...v6.23-SNAPSHOT
ZonePractice v6.22.1-SNAPSHOT
What's Changed
- changed version to 6.21-SNAPSHOT by @Nandi0813 in #88
- Dev by @Nandi0813 in #89
- Dev by @Nandi0813 in #90
- Dev by @Nandi0813 in #91
- Load the plugin after my worlds through specification in plugin.yml by @rejomy in #97
- Do not loop through null by @rejomy in #104
- Fix incorrect command in guis.yml by @rejomy in #102
- Fix NullPointerException while a player entity got damaged but the player is NPC by @rejomy in #99
- Dev by @Nandi0813 in #106
- Remove redundant setMatchPlayer method and start using ladder#getHitD… by @rejomy in #100
- Dev by @Nandi0813 in #107
- fix(messages): add Paper/Spigot fallback sender by @lokspel in #109
- Dev by @Nandi0813 in #110
- Dev by @Nandi0813 in #111
- Dev by @Nandi0813 in #113
- updated pom to fix compile error by @Nandi0813 in #114
- Dev by @Nandi0813 in #116
- Dev by @Nandi0813 in #117
New Contributors
- @Nandi0813 made their first contribution in #88
- @rejomy made their first contribution in #97
- @lokspel made their first contribution in #109
Full Changelog: https://github.com/ZoneDevelopement/ZonePractice-Pro/commits/v6.22.1-SNAPSHOT