# What's new
* 🔺 **CraftEngine custom block support.** Phases can now spawn [CraftEngine](https://github.com/Xiao-MoMi/craft-core) blocks alongside the existing ItemsAdder and Nexo integrations. Refactored to delegate to BentoBox's new `CraftEngineHook`, so AOneBlock no longer tracks CraftEngine's API directly — **this requires BentoBox 3.15.0 or later**.
* ⚙️ **Configurable chest particles per rarity.** The particle type and color shown above UNCOMMON/RARE/EPIC chests are now fully configurable in `config.yml` under `world.chest-particles`. Set a particle to `NONE` to disable that rarity.
* **`CHEST_WITH_X` fixed-block notation.** Phase YAML `fixedBlocks` now accept entries like `CHEST_WITH_WATER_BUCKET`, which place a chest pre-filled with that item. Used to give Plains players a guaranteed water bucket as the last block before the Underground transition.
* **Plains phase starter sequence updated.** The first six blocks are now a deterministic grass + oak log sequence so new players always get logs before stone, and the test sponge entry has been replaced with the water-bucket chest above.
* ⚙️ **`OBSIDIAN_SCOOPING` now off by default.** Holding a bucket no longer instantly scoops obsidian magic blocks on fresh installs. Existing servers with the flag explicitly set are unaffected.
* 🔡 **Placeholder defaults for islandless players.** `%aoneblock_my_island_phase%`, `%aoneblock_my_island_count%`, and `%aoneblock_my_island_percent_done%` now return sensible defaults (`Unknown`, `0`, `0%`) instead of empty strings when the player has no island. New locale key `aoneblock.placeholders.my-island-phase-default`.
* 🔡 **Missing actionbar/placeholder translations added across all locales.**
* **Documentation overhaul** for MythicMobs, ItemsAdder, and Nexo custom block configuration in the README, including a `start-commands` workaround for MythicMobs skill issues.
* Code-quality sweep: 36 SonarCloud MEDIUM issues addressed, S2637 nullability warnings resolved, JaCoCo coverage now reports to SonarCloud, modrinth-publish action pinned to commit SHA.
## Compatibility
✔️ BentoBox API 3.15.0+
✔️ Minecraft 1.21.5 or later
✔️ Java 21
## Changelog
### Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed, or added.
- 🔺 special attention needed.
### Upgrading
1. Stop the server. Make a backup just in case.
2. **Update BentoBox to 3.15.0 or later first** — this release will not load against older BentoBox versions.
3. Copy this jar over the old one.
4. Restart the server.
5. (Optional) Review `config.yml` for the new `world.chest-particles` block if you want to customise chest particle effects.
6. (Optional) If you relied on the previous `OBSIDIAN_SCOOPING: true` default, re-add it explicitly.
7. You should be good to go!
> 🔺 **BentoBox 3.15.0 required.** The CraftEngine refactor depends on `CraftEngineHook` introduced in BentoBox 3.15.0. Older BentoBox versions will fail to load this addon.
> ⚙️ **Config note:** Fresh installs get six new keys under `world.chest-particles` and `OBSIDIAN_SCOOPING: false`. Existing config files keep their current values — copy the new section in if you want to use the configurable particles.
## What's Changed
* Add CraftEngine custom block support by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/496
* docs: strengthen README documentation for MythicMobs, ItemsAdder, and Nexo custom blocks by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/498
* 🔡 Return defaults for empty placeholders when player has no island by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/501
* 🔺 refactor: use BentoBox CraftEngineHook instead of direct API calls by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/503
* ⚙️ Disable OBSIDIAN_SCOOPING by default by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/505
* Add CHEST_WITH_X fixed-block shorthand and set Plains phase starter sequence by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/506
* ⚙️ feat: make chest particle type and color configurable per rarity by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/507
**Full Changelog**: https://github.com/BentoBoxWorld/AOneBlock/compare/1.23.0...1.24.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" }