Releases: ZoneDevelopement/ZonePractice-Pro
Releases · ZoneDevelopement/ZonePractice-Pro
ZonePractice Pro 7.6.0-SNAPSHOT
🚀 New Features & Gameplay Additions
- New Content & Ladders: * Added a brand new "Sword" kit/ladder (now configured to load by default).
- Added 4 new death effects.
- Gameplay Mechanics:
- Customizable Hearts: Implemented a hearts setting to enforce custom maximum health limits for ladders during fights.
- Fractional Cooldowns: Changed all match cooldown settings to doubles to support precise fractional cooldowns.
- Chat Isolation: Implemented dedicated chat isolation for players inside matches or FFA arenas.
- Ender Pearl Improvements: Prevented ender pearls from being thrown if the cooldown is set to
0.0at the start of a match, or if the match round is not yet live.
- Command Enhancements:
- Added
/practice reloadargument to dynamically reload static configuration files. - Moved the hologram commands (
/hologram) under the main/practicecommand as an argument and added a hologram teleport command. - Modified the extra items command logic to execute as the player rather than through the console.
- Added
🎨 UI, Visuals & Chat (MiniMessage & Hex Support)
- Text & Color Engine Upgrade: * Implemented full MiniMessage and Hex/Legacy color code support across GUIs, lobby items, group prefixes, and suffixes.
- Fixed rendering bugs regarding italics and gradient text formats (
<gradient:#hex>) in group prefixes.
- Fixed rendering bugs regarding italics and gradient text formats (
- Nametags & Tablist:
- Rewrote the nametag system to support TextDisplay with the MiniMessage format.
- Enhanced
PlayerLoadEventhandling to correctly re-apply lobby nametags upon player load and fixed nametag visibility issues when players are sneaking. - Refactored the tablist integration.
- GUI & Scoreboard Enhancements:
- Added toggleable prefixes and suffixes directly within the Profile Settings GUI.
- Updated the Ladder Settings GUI to support additional layout sizes, custom icon editing, and customized Sumo Rackets paths.
- Updated the scoreboard library to version 2.7.4; fixed sidebar loading bugs during world changes, added a sidebar toggle configuration, and resolved issues with unfilled round symbols rendering incorrectly.
⚙️ Party & Match Management
- Custom Kits: Added custom kit support for Party matches and Brackets, ensuring layouts reset properly. Added a configuration option to preserve custom kits when a ladder is disabled.
- Party FFA: Added a center setting for Party FFA arenas along with corresponding updated commands.
- Lobby Interactions: Added an
allow-lobby-interactconfiguration option to toggle player interactions in the lobby.
🔧 Bug Fixes
- Block & Map Rollbacks: Fixed block registration/reset issues, door rollback failures, and implemented a new rollback mechanic featuring a configurable multiplier.
- Inventory Handling: * Completely refactored inventory handling logic.
- Fixed off-hand inventory reset logic when teleporting back to the lobby.
- Removed the inventory clearing triggers during player world teleports.
- Fixed a bug preventing items from dropping properly on player death.
- GUI & Menu Patches: Fixed a slot selection issue, corrected parsing errors in the profile loader, fixed the destroyable blocks GUI moving exploit, and patched a bugged flying icon in the player settings menu.
- Leaderboards & Placeholders: Fixed sidebar/nametag group placeholders, repaired ladder icons text in queues, and corrected the ELO leaderboard display name to accurately show "Win Leaderboard".
- Duplication & Progression: Fixed a party chat message duplication bug and resolved issues with the practice EXP and clear ELO command arguments.
- Match Stability: * Fixed crystal blocking caused by spectators.
- Fixed fire tracking issues and refactored arena copying mechanics.
- Fixed a bug where players weren't properly removed from live matches on rejoin if they disconnected while a duel request was being accepted.
💻 Optimization, Refactoring & Backend
- Memory & Performance: Cleaned up metadata clearing methods and optimized the profile custom kit GUI loading system to significantly free up RAM.
- Thread Safety: Fixed a potential deadlock scenario and corrected an Array Index Out of Bounds error.
- Data & Config Persistence: * Refactored Profile handling.
- Fixed profiles defaulting incorrect
worldtimevalues and fixed leaderboard handling for offline players. - Ensured custom config keys are completely preserved on BoostedYAML version updates.
- Shaded the MariaDB driver to prevent classpath conflicts with external plugins.
- Fixed profiles defaulting incorrect
- Code Cleanliness: Removed all legacy telemetry logger references across multiple classes, simplified arena-side build limit checks, cleaned up player join/quit messaging, and fixed missing
breakstatements within thePartySettingsGuiswitch logic. - Dependencies & Compatibility: Added full compatibility support for Minecraft version 26.1 (up to 26.1.2) and updated the reusable GitHub Build workflows.
ZonePractice Pro 7.5.0-SNAPSHOT
NEW FEATURES AND ADDITIONS
- Implemented a brand new Client-Side TextDisplay nametag system with full MiniMessage (Hex/Gradient) support.
- Added custom kit support for Party matches (Party FFA / Split).
- Added a new default "Sword" kit.
- Added 4 new Death Effects.
- Added a
/practice reloadcommand argument to dynamically reload static configuration files. - Added toggleable prefix and suffix options to the Profile Settings GUI.
- Added a toggle for the sidebar in the configuration files.
IMPROVEMENTS AND MECHANICS UPDATES
- Completely refactored the inventory handling logic.
- Completely rewrote and stabilized the ActionBar logic, including a new built-in debugger and support for first-time join players.
- Implemented new, highly configurable arena rollback mechanics with a customizable multiplier.
- Changed all match item cooldown settings to
doublevalues to support fractional (decimal) cooldowns. - Changed the "Drop Inventory" setting to act as a global configuration across all match types.
- Refactored the
/hologramcommand to act as a sub-command under the main/practicecommand. - Improved arena copying logic for better boundary accuracy and stability.
- Enhanced format handling for MiniMessage, hex colors, and gradients across GUIs, sidebars, lobby items, and group prefixes.
- Changed the ELO leaderboard naming convention to "Win" leaderboard.
- Cleaned up the
/prac exp, extra inventory item, andelocommand logic. - Prevented the server from clearing player inventories upon world teleports.
- Expanded placeholder support for player nametags.
BUG FIXES
- Fixed an issue where End Crystals could be blocked by invisible spectators.
- Fixed a bug causing party chat messages to duplicate.
- Fixed an issue causing player items to improperly drop upon death.
- Fixed off-hand inventory reset logic failing when teleporting back to the lobby.
- Fixed nametag rendering issues when a player is sneaking.
- Fixed fire tracking and door rollback failures at the end of matches.
- Fixed an issue where destroyable blocks could be moved within GUIs.
- Fixed sidebar load bugs upon world changes.
- Fixed persistent saving for player cooldowns.
- Fixed broken italic formatting in GUIs and ladder icon text issues in the queue and leaderboard menus.
- Fixed missing nametags on lobby load by re-applying them via the
PlayerLoadEvent. - Fixed multiple GUI bugs, including canceling unintended double-clicks and resolving issues within the
LadderCreateGui. - Fixed various
ArrayOutOfBoundserrors and parsing issues within the Profile Loader.
PERFORMANCE AND BACKEND
- Optimized metadata clearing methods and Profile Custom Kit GUI loading to significantly free up RAM.
- Updated the scoreboard/sidebar library to version 2.7.4 and updated other internal dependencies.
- Added support and configuration for version 26.1 (1.20.6 / 1.21+ compatibility).
- Updated internal telemetry data collection logic.
- Updated GitHub reusable build workflows.
- Bumped project version to
7.5.0-SNAPSHOT.
CREDITS
Co-authored by MISHA
Co-authored by yowsef
Authored by Nandor Dukat
ZonePractice Pro 7.4.0-SNAPSHOT
NEW FEATURES AND ADDITIONS
- Added Match History system with recording capabilities and a GUI menu utilizing player heads
- Implemented a multiple queue system and custom kit queue commands
- Added a nick command and completely rewrote the nametag logic
- Added GUI click sounds for a better user experience
- Added a kit selector to FFA and expanded the leave command to support spectators and FFA
- Added temporary build return logic to TNT Sumo
SETTINGS AND CUSTOMIZATION
- Added health below name and windcharge cooldown settings to custom player kits
- Added title and delay settings to Spleef
- Changed the hit delay setting to an attack cooldown modifier
- Added scale and decimal visibility settings to the health below name display
- Added a multi round start countdown setting to PearlFight
- Added health below name to FFA settings
IMPROVEMENTS AND MECHANICS UPDATES
- Upgraded TNT Sumo logic with new knockback mechanics and changed TNT earn logic to an attack based system
- Added MiniMessage support for groups and nametags while removing legacy named colors
- Extended sidebar display capabilities to support the new MiniMessage nick system
- Updated the rekit feature to load the preconfigured layout chosen by the player
- Added multi round match subtitles to display scores
- Added FFA arena support for previously assigned ladders
- Adjusted nametag colors to map to the closest hex value
- Added titles to duel events
BUG FIXES
- Resolved TNT damage issues on TNT Sumo and Fireball Fight ladders
- Fixed ActionBar disappearance bug and refactored the underlying runnable
- Fixed a recurring issue where hunger would not disable correctly
- Resolved shield and spear interaction problems
- Fixed concurrent modification exceptions along with various NullPointer and ClassCast exceptions
- Fixed sidebar name resolution issues
- Corrected double title show glitch on round end
- Fixed division ranked inconsistencies
- Fixed the ladder settings handler
- Prevented duel requests from triggering on NPCs while allowing normal NPC interaction
DEVELOPMENT AND TELEMETRY
- Updated telemetry logging and added debug logging capabilities
- Changed GitHub release logic and updated reusable build workflows
- Refactored MatchHistoryCommand to utilize LanguageManager
- Updated version to 7.4.0 SNAPSHOT
- Updated gitignore
CREDITS
Co authored by @lokspel
Co authored by @aboreda12
Authored by Nandor Dukat
ZonePractice Pro 7.3.0-SNAPSHOT
ZonePractice Pro Development Build Changelog
New Features
- Added the Custom Kit Queue system allowing players to host their own kits for others
- Introduced Lobby Movement cosmetics including lunge 6 level spear and waterless riptide trident options
- Launched Shulker Box support for custom kits with a dedicated editor interface
- New Ladder settings are available for round transitions such as Round End Delay and victory titles
- Fresh default gamemodes became available under the names Crystal and Spear plus MLGRush and TNT Sumo
- Full Armor Trim and shield customization along with spectacular death effects were added to the system
- Telemetry support was integrated for statistics collection and website integration
Bug Fixes
- Fixed several NullPointerException errors during NPC damage and division queries
- Eliminated hologram duplication by completely rewriting the update logic
- Renewed the Arena Rollback system which now correctly handles fire and falling blocks
- Fixed the block placement bug that prevented activity above the build limit
- Fireball and TNT knockback rates now meet modern PvP expectations
- Resolved spectator mode sticking and invisibility bugs during match transitions
- Fixed arrows disappearing immediately upon hitting the ground
Technical Improvements and Refactoring
- The project transitioned to Java 25 and updated the FAWE and PacketEvents libraries
- Item saving now uses Base64 based serialization for stability
- Faster arena cloning with async chunk loading and optimized deletion logic
- Expanded developer API for accessing player nametags and data
- Standardized package names and removed legacy 1.8 code snippets
- More efficient GUI refreshing and leaderboard handling reduces server load
- The README documentation was updated with the GitBook link and Java 25 compilation guide
ZonePractice Pro v7.2.0-SNAPSHOT
✨ New Features
- Added new match types for the Sumo game mode
- Implemented MLG Rush and TNT Sumo as default ladder types
- Added a global apply all tier functionality for armor trims
- Added a toggleable Block Return Delay ladder setting and refactored PearlFight and BattleRush to support it
- Implemented a dynamic category system for the queue GUIs
🐛 Bug Fixes
- Fixed a bug where armor trims only applied to armor pieces that already had ItemMeta
- Fixed internal implementation errors for the MLG Rush game mode
- Fixed persistent data saving for the Block Return Delay setting
- Fixed an exploit allowing players to fly during events
- Fixed the lightning death effect and increased the visual scale of all death effects
🚀 Improvements
- Updated default configuration files for Bridges BedWars MLG Rush and BattleRush to support new items and match types
- Overhauled the TNT Sumo explosion knockback physics and trajectory logic
- Added support for placing blocks from the offhand
- Implemented a reset build after round mechanic for building modes
🔧 Other Changes
- Cleaned up the codebase by completely removing unused files
- Removed the Party FFA match type from the default configurations
- Disabled BattleRush by default and adjusted its configuration
- Updated project version to the 7.2.0 snapshot
ZonePractice Pro v7.1.0-SNAPSHOT
✨ New Features
- Added a toggleable FFA setting to restore full health upon killing an opponent
- Implemented a party member limit per group
- Added a comprehensive cosmetics system featuring Armor Trims and Shield Customization
- Added Death Effects cosmetics
- Added a cosmetic permission reset feature and included a reset option in the main GUI
- Added an automatic removal mechanic for empty soup bowls
- Added new configuration rules for lobby protection making interactions fully toggleable
- Removed the weight class toggle for ladders that cannot support both formats
- Modernized default ladder configurations
🐛 Bug Fixes
- Fixed a bug related to event hosting statistics
- Fixed a NullPointerException when using the tracker item
- Fixed a NullPointerException during boxing statistic data fetching
- Fixed an issue with soup regeneration in FFA modes
- Fixed a bug where spectators would remain stuck after an arena rollback finished
- Fixed rollback handling for nonsolid blocks and added rollback priority sorting
- Fixed lobby protection elements including velocity rules and knockback physics
- Prevented arrow hit messages from displaying when the damage event is cancelled
- Fixed a visual bug where armor trims were applied to the wrong armor piece
- Fixed temporary build ladders so items correctly return to the proper hand
🚀 Improvements and Technical Changes
- Refactored single commands and performed general codebase cleanup
- Updated GitHub Actions workflow steps
- Updated guis.yml and plugin.yml versions
- Updated project version to the 7.1.0 snapshot
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.