# 🎁 What's new
This release adds the **Sulfur Caves phase** for servers running Minecraft 26.2, and — because shipping a 26.2-only phase to a plugin that also runs on 1.21.x needed real version handling — it introduces a **phase index** that controls which phases load, in what order, and on which server versions. Phases (and even individual blocks, mobs, and chest items) from a newer Minecraft version are now skipped cleanly with a log line instead of throwing stack traces on older servers. On top of the index sits a new admin GUI, **`/oba phases`**, that lets you reorder, insert, and toggle phases by clicking them around an inventory panel.
# ✨ Highlights
### 🌋 Sulfur Caves phase ([PR #539](https://github.com/BentoBoxWorld/AOneBlock/pull/539))
- New phase at the 15000 spot: sulfur and cinnabar layered through typical underground blocks, with Sulfur Cubes, cave spiders, and friends at the wiki's exact spawn weights, plus themed chests that can drop the *Bounce* music disc.
- The end-of-game loop moves from 15000 to 15500.
- The phase declares `requiredMinecraftVersion: '26.2'` — it appears automatically on 26.2+ servers and is skipped with a single info log on older ones (Jagged Peaks simply runs to the loop point instead).
### 🔺 Phase index — `phases_index.yml`
- New file next to the `phases` folder, now the source of truth for phase **order**, **length**, **enabled state**, and **required Minecraft version**. Start blocks are the running sum of the lengths above, so phases can be moved freely and a skipped phase collapses out of the progression.
- The index is read **before** any phase file is parsed, so version-gated phases never touch the YAML parser — this kills the `Tried to load invalid item` / `ConfigurationSerialization` stack traces that newer-version items used to cause on older servers.
- Existing installs are migrated automatically: the index is generated from your current phase files on first start. A malformed index falls back to the old direct file loading, so nothing can get stuck.
- Chest files are now read item by item — an item this server version doesn't know (e.g. `pink_harness` on 1.21.5) is skipped with one log line and the rest of the chest loads.
- Block and mob entries accept an object form with a per-entry version, used for `DRIED_GHAST` (1.21.6) in The Nether:
```yaml
DRIED_GHAST:
weight: 25
requiredMinecraftVersion: '1.21.6'
```
### 🖱️ Phase order editor — `/oba phases`
- 🔡 New admin panel (permission `aoneblock.admin.phases`, OP by default) showing every phase in order with its computed start block, length, and state.
- Click a phase to pick it up — the rest shrink left. Click where it should go to shove the others right and drop it, or use the drop-at-end slot. Click anywhere else (or close the panel) to put it back without saving. Right-click toggles a phase on or off.
- Drops and toggles save the index and reload the phases immediately. Disabled phases show as gray glass, version-locked ones as barriers — both can still be reordered.
# ⚙️ Compatibility
✔️ BentoBox API 3.15.0+
✔️ Minecraft 1.21.5 or later — the Sulfur Caves phase itself activates on Minecraft 26.2+
✔️ Java 21
# 🔺 Updating — important notes
🔺 **A `phases_index.yml` will be generated on first start** from the phase files in your data folder, and from then on it controls phase order and lengths. Worth a quick review after the first boot — especially if you have hand-edited phases.
🔺 **Existing installs don't get the new phase files automatically.** As always, files in `addons/AOneBlock/phases/` are never overwritten. To add Sulfur Caves to an existing install, copy `15000_sulfur_caves.yml` and `15000_sulfur_caves_chests.yml` from the jar into your phases folder and add its entry to `phases_index.yml` (or start with a fresh data folder).
🔡 **New locale keys** were added for the phase order editor — regenerate or update translated locale files.
# 📥 How to update
1. Stop the server. Make a backup just in case.
2. Copy this jar over the old one.
3. Restart the server.
4. Check the startup log — you should see `Created phases_index.yml from the existing phase files.` on the first boot.
5. You should be good to go!
# Legend
* 🔡 locale files may need to be regenerated or updated
* ⚙️ config options have been removed, renamed, or added
* 🔺 special attention needed
# What's Changed
* 🔺 Sulfur Caves phase (MC 26.2), version-gated phase index, and phase order GUI by @tastybento in https://github.com/BentoBoxWorld/AOneBlock/pull/539
**Full Changelog**: https://github.com/BentoBoxWorld/AOneBlock/compare/1.25.2...1.26.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" }