### Big Changes:
- Replaced all instances of NBT-API with PersistentDataContainer. Old Keys will no longer work.
- We do not check if a key has lore/names when checking if you have a valid key because that makes the point of PersistentDataContainer redundant.
- The ItemBuilder has been updated to a slightly more modern version in preparation for MiniMessage support.
### Removed:
- Temporarily disabled logging keys to console/file due to a weird issue with keys not being taken, the section handling logging is pending re-write
### Added:
- A warning on startup if the spawn protection in server.properties isn't 0.
- Extra placeholders to all messages. The messages.yml will update with new comments showing what each message can use.
- A toggle to allow legacy key checks for niche use cases.
- Default commands to run per crate if no prize commands are found similar to `Prize-Messages`.
- %reward_stripped% which returns a stripped version of the reward for plugins like DiscordSRV.
- Ability to select custom particles and colors for QuadCrates.
- Ability to add enchants to ENCHANTED_BOOK, so they function in anvil.
### Changes:
- Updated example files in the examples folder
- All internal placeholders used in config.yml and messages.yml have changed.
- %player% is now {player}
- %crate% is now {crate}
- %amount% is now {amount}
- %key% is now {key}
- %keys% is now {keys}
- %page% is now {page}
- %prefix% is now {prefix}
- %world% is now {world}
- %cratetype% is now {cratetype}
- %prize% is now {prize}
- %number% is now {number}
- %keytype% is now {keytype}
- %usage% is now {usage}
- %key-amount% is now {key_amount}
- %crates_opened% is now {crates_opened}
- %id% is now {id}
- Used correct message when a player has no keys using /cc open.
### Enhancements:
- Prevent pistons from moving blocks if they are a crate.
- Play sounds in /crazycrates admin when a player gets virtual/physical keys.
- Change from sending messages in chat for /crazycrates admin to using action bars.
- Optimize item meta checks.
- If the crate main menu is turned off, trying to do /crates set menu will send you a message saying you can't.
- If the crate main menu is disabled, /crates will simply open the help message instead.
- Only check if a player has physical keys if the config option is enabled.
### API:
- Deprecated and marked for removal `CrazyCratesService` and `ICrazyCrates`.
### Fixed:
- Remove player from crate/page/preview arrays on inventory close event as it wasn't before.
- Player kept getting a preview message if they weren't in the preview when you did /crates reload.
- CrateOnTheGo where the event would fire twice using 2 of your crates.
- Failing to take keys would fire multiple times.
- Issue with mass-open related to being added to opening list and not being removed if no keys found.
- Multiple issues with how the inventory are checked for keys.
- Issue with QuadCrates where if you set the `structure.random` to false, it would still be random.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }