Enhance ColorUtils, cooldown management, and item loading features - #256
Open
1robie wants to merge 7 commits into
Open
Enhance ColorUtils, cooldown management, and item loading features#2561robie wants to merge 7 commits into
1robie wants to merge 7 commits into
Conversation
…andling + fix potential NPE
…andling empty cooldown maps
… fix missing plugins dependencies in paper-plugin.yml
… safety and simplify inventory task execution
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements and new features across the codebase, primarily focusing on enhancing inventory storage, packet event handling, color parsing, and concurrency safety. The most significant changes include new APIs for tracking player world visits, improvements to packet event click limiting, color parsing fixes, and thread-safety enhancements in packet listeners.
Inventory Storage and Player World Tracking
getVisitedWorldsandmarkWorldVisitedto theStorageManagerinterface for tracking which worlds a player has visited. Also introduced theFirstWorldJoinDTOdata transfer object and a new table constantFIRST_WORLD_JOINinTables. [1] [2] [3]Packet Event Handling and Click Limiting
PacketEventClickLimiterListenerto implement bothPacketListenerandInventoryListener, track players with click limiting enabled, and register/unregister them on inventory open/close. The listener now uses thread-safe collections and is properly registered in the plugin lifecycle via the newonPostEnablemethod inPacketManager. [1] [2] [3] [4] [5] [6] [7]Concurrency and Thread Safety
PacketAnimationListener,PacketTitleListener) to useConcurrentHashMapandvolatilefields for better thread safety. [1] [2]Color Parsing and Clamping
ColorUtils.parseto correctly handle arrays of different lengths and ensure all color components are clamped to valid ranges, preventing out-of-bounds color values. [1] [2]Miscellaneous Improvements
ZInventorywhere items are now properly cleared from the player inventory when collecting session items, and adjusted the storage size to a maximum of 36 slots.CraftEngineLoaderto pass the player to the item builder for more context-aware item creation.These changes collectively improve the robustness, maintainability, and feature set of the codebase.