Major Update | Comprehensive upgrade of plugin API adaptation to 1.20 and above.
Full compatibility with Minecraft 1.12 and below, as well as 1.20.5 and above. All NBT, GUI, and kit features now work stably across versions.
Enhanced MySQL configuration: added useSSL and tablePrefix options. All SQL operations now support table prefix placeholders, improving database compatibility and security.
Comprehensive NBT-API upgrade: all legacy NBTItem usages have been replaced with the new API (ReadWriteNBT, NBT.itemStackToNBT, NBT.itemStackFromNBT, etc.), strictly following official best practices.
The writing and reading of the wkkit tag for kit items are now fully adapted to both old and new NBT structures, with automatic version detection to ensure correct kit name retrieval on 1.20.5+.
Added utility methods ItemEditer.hasWkKitTag and ItemEditer.getWkKitTagValue to standardize wkkit tag checking and retrieval; all related code has been globally refactored.
All GUI kit group, kit editing, item saving, and listener logic involving the wkkit tag have been refactored with the new API and utility methods, with null checks to prevent NPEs.
Item utility classes such as PlayerHead, GlassPane, and Barrier are now fully compatible with the new NBT-API and multi-version support.
Server version retrieval and comparison now support precise versions (e.g., 1.21.1, 1.20.5), and all version branching logic has been upgraded.
The /give command now sends kits to the mailbox if the player is offline or has insufficient inventory space, improving delivery experience and fault tolerance.
Fixed the issue where expandable menus skipped the claim cooldown, ensuring all kit claim logic is accurate.
Fixed issues caused by NBT structure changes, such as kit group click failures and kit name retrieval errors.
Removed all direct dependencies on NBTItem, thoroughly cleaning up legacy API usage for better code consistency and maintainability.
Full multi-language support: now automatically loads Simplified Chinese, Traditional Chinese (Taiwan/Hong Kong), English, Japanese, and Korean language packs based on system locale or config settings.
Supports user-defined language files: simply add your yml file to the Language folder and set it in the config to enable automatic recognition.
Improved language file loading logic: if the specified language is not found, it will automatically fall back to English for better compatibility and usability.
Removed all deprecated Locale usages, now uses getLanguage() and getCountry() for locale detection, making the code more modern and robust.
All MySQL, log management, kit, menu, CDK, and other prompt texts are fully internationalized; all info/warning/severe and player messages support multi-language.