# What's new
* **Populated bee nest in Plenty.** The Plenty phase already drops honey blocks, honeycomb blocks, and honey bottles, but never a hive to farm them from. Plenty now spawns a `bee_nest` (3 bees inside, `honey_level=0`) at the same density as the other honey items, closing the honey-farming gap.
* **Magic block client-side resync after mob rolls.** When the magic block rolled a mob, the server cancelled the break event but never told the client — leaving the block looking transparent until the next chunk resync (typically on relog). The block state is now resent to the mining player immediately after the cancel.
* **CraftEngine startup-order fix.** AOneBlock's `onEnable` runs before CraftEngine has populated its block registry, which previously caused a flood of false `Bad custom block` errors for every valid `type: craftengine` entry. `CraftEngineCustomBlock.fromMap()` no longer consults the registry when the YAML explicitly declares `type: craftengine`; runtime placement still validates the ID gracefully.
* **Stricter CraftEngine block-ID validation at config load.** Blank IDs and IDs missing the `namespace:key` form are now rejected at config-load time instead of silently accepted and failing at placement.
* **Configurable chest particles no longer crash on non-DUST types.** Particle types whose data type is non-`Void` (e.g. `ITEM`, `BLOCK`, `ENTITY_EFFECT`) used to throw `IllegalArgumentException` because no particle data was being constructed. They are now detected, logged as a warning, and skipped. `DUST` and void-data particles (e.g. `FLAME`) work unchanged.
## Compatibility
✔️ BentoBox API 3.15.0+
✔️ Minecraft 1.21.5 or later
✔️ Java 21
## Upgrading
1. Stop the server. Make a backup just in case.
2. Copy this jar over the old one.
3. (Optional) Remove the phases folder so it can be regenerated. If you have customized your phases, don't do this. Just see the [new entry](https://github.com/BentoBoxWorld/AOneBlock/blob/866f8c3cac2ca56194e2b3879d4fc5d879dc8c45/src/main/resources/phases/8500_plenty.yml#L48) and add it if you want.
4. Restart the server.
5. You should be good to go!
## What's Changed
* Fix false "Bad custom block" errors for CraftEngine blocks on startup by @Copilot in https://github.com/BentoBoxWorld/AOneBlock/pull/511
* feat: drop populated bee nest in Plenty phase by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/513
* fix: resync magic block to client after entity-spawn cancel by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/514
* fix: skip chest particles that require typed data instead of crashing by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/516
* fix: validate CraftEngine block ID format in fromMap at config-load time by @Copilot in https://github.com/BentoBoxWorld/AOneBlock/pull/517
**Full Changelog**: https://github.com/BentoBoxWorld/AOneBlock/compare/1.24.0...1.25.0
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" }