Cross Server Support
- Added: Crate keys can now stay synced across connected servers.
- Added: Admins can give keys to players even when they are on another connected server.
- Added: /crates givekeyall now works across the whole network.
- Added: Automatic key-all rewards are now handled safely across multiple servers.
Reward Claim Safety
- Improved: Crate keys are now checked and used before rewards are sent.
- Improved: Added extra safety for failed reward claims.
- Improved: Better protection against fast clicks and multiple open reward menus.
- Improved: Reward menu updates are now smoother and more reliable.
Admin & Setup
- Added: server.yml for cross-server setup.
- Added: A new message for when a reward claim cannot be completed safely.
- Improved: Plugin version handling is now cleaner inside the final jar.
Notes
- Cross server mode requires MySQL and Redis.
- JSON and SQLite should only be used for single server setups
- Crate config files still need to be the same on every connected server
- Support for disabling message keys entirely (without sending empty chat lines) by setting the message key to empty quotes ("") in messages.yml
- Added: Fully configurable chat and command prefix under 'prefix' in messages.yml
- Added: Ability to completely hide the command prefix by setting it to empty quotes ("")
- Added: Complete translation support for all player, admin, error, usage, and block interaction messages
- Added: Automatic notification (message & sound) when players receive keys from administrators
Bug Fixes
- Fixed: Removed remaining hardcoded prefix strings in all commands and event listeners
- Fixed: Standardized all GUI-based warnings (such as no-key alerts) to use customizable messages
YAML:prefix: "&#FF6B35&lDonutCrates &8» " reloaded: "&aPlugin reloaded in %ms%ms." no_permission: "&cYou don't have permission to use this command." crate_not_found: "&cCrate with that name was not found." player_not_found: "&cPlayer not found." key_given: "&aSuccessfully gave x%amount% of %crate% keys to %player%." key_all_given: "&aSuccessfully gave x%amount% of %crate% keys to all online players." key_received: "&aYou have received x%amount% of %crate% keys!" no_key: "&cYou don't have any keys for this crate!" inventory_full: "&cYou do not have enough space in your inventory." usage_get: "&fUsage: &f/crates get <crate>" usage_givekey: "&fUsage: &f/crates givekey <player> <crate> [amount]" usage_givekeyall: "&fUsage: &f/crates givekeyall <crate> [amount]" invalid_amount: "&cInvalid amount: &f%amount%" amount_greater_than_zero: "&cAmount must be greater than 0." received_crate: "&fReceived %crate% crate." only_players: "&cThis command can only be used by players." unknown_subcommand: "&cUnknown subcommand: &f%subcommand%" version_message: "&fv%version% &8| &7by RaviRai" crate_removed: "&cCrate removed from location!" crate_placed: "&aCrate placed successfully!" cannot_break_crate: "&cYou don't have permission to break crates!" crate_broken: "&cCrate broken and removed from location!"
Storage & Database
- Added: SQLite database storage
- Added: Full MySQL database support
- Added: /crates migrate command to convert your existing JSON player data to SQLite in one click
- Added: High-performance caching system for player data
Bug Fixes
- Fixed: Crate menu no longer closes when clicking on background glass panes
- Fixed: Mouse cursor no longer jumps to center of the menu after claiming a reward
- Fixed: Keys are no longer lost when a player claims a reward at the same time as Key all distributes keys
- Improved: Player data is now handled with a high performance caching system for faster load times
- Improved: Data saving is now safer and prevents any chance of file corruption from overlapping saves
- Improved: Cleaner console output on startup removed unnecessary debug messages
- Fixed Few Glitches
- Added Security Features For Crate GUI
- Optimised Cache
- Added Complete Folia Compatibilty
Updated FancyHolo API
Fixed Holograms key updating issues
Fixed Folia Schedulers
Updated Other dependencies
Added MySQL (Not Tested Yet) # use Json for now
Fixed Some Issue in Crates Editor
added Flags
