## Release Highlights
* 🎮 **Minecraft 26.3 "Wilderness Bound" support** — BentoBox now runs on Paper 26.3, and protects the new content: cushions (place, break and sit) and straw beds are covered by the existing PLACE_BLOCKS, BREAK_BLOCKS, RIDING and BED flags. The poplar wood set, poplar boats and shelves, wool and concrete stairs and slabs, shelf mushrooms, red shrubs and the new explorer maps needed no new flags.
* ⚙️🔡 **Customisable settings panels** — `/island settings` and `/admin settings` are now template-driven panels, laid out by `panels/settings_panel.yml` and `panels/admin_settings_panel.yml`, like the other BentoBox menus. Tab layout, pinned flags, the panel title and the order of a flag's lore can all be customised. Defaults are pixel-identical to the old panels.
* 🐛 **Deleted islands no longer count against a player** — after an island reset or admin delete, the island stayed in the per-player index until restart, blocking transfers and confusing `/admin delete`.
### Compatibility
✔️ Paper Minecraft 1.21.5 – 26.3
✔️ Java 25+
### Upgrading
1. **As always, take backups just in case.** (Make a copy of everything!)
2. Stop the server.
3. Replace the BentoBox jar with this one.
4. Restart the server. The two new panel templates are written to `plugins/BentoBox/panels/` on first run.
5. You should be good to go!
> ⚙️ **Panel note:** the settings panels are only customisable once the templates exist in your data folder. If you keep your own edited copies of the other panel templates, the new `settings_panel.yml` and `admin_settings_panel.yml` are additional files; nothing existing is overwritten. A game mode addon may also ship its own copy in its `panels/` folder.
> 🔡 **Locale note:** one new key, `panels.settings.title`, sets the title of the settings panel separately from the tab button names. Custom locale files without it fall back to the bundled text; the flag lore layout (`protection.panel.flag-item.description-layout`) is unchanged unless you opt into the new `[ranks]` and `[tooltips]` placeholders.
> 🔺 **Paper 26.3 note:** at the time of this release Paper 26.3 is only available as alpha builds. BentoBox compiles against and was tested on build 41. Older 1.21.x and 26.x servers are unaffected.
### Legend
- 🔡 locale files may need to be regenerated or updated.
- ⚙️ config options have been removed, renamed, or added.
- 🔺 special attention needed.
---
## New Features
### 🎮 Minecraft 26.3 Support
[[PR #3090](https://github.com/BentoBoxWorld/BentoBox/pull/3090)]
Paper 26.3 is recognised as a compatible server version. The release adds protection for the new *cushion* entity, which is neither a block, a hanging nor a vehicle and so was invisible to every existing listener: placing one requires PLACE_BLOCKS, hitting or shooting one requires BREAK_BLOCKS, and sitting on one requires RIDING. The new *straw bed* is deliberately kept out of Minecraft's bed tag (villagers may not claim it), so it is now matched explicitly and protected by the BED flag; without this a visitor could sleep in, and consume, an island's straw beds. Everything else new in 26.3 is already covered by the tag-based checks. There are no new flags, so no locale changes come from this feature.
### ⚙️🔡 Template-Driven Settings Panels
[[PR #3087](https://github.com/BentoBoxWorld/BentoBox/pull/3087)] [[PR #3088](https://github.com/BentoBoxWorld/BentoBox/pull/3088)] Closes [#3081](https://github.com/BentoBoxWorld/BentoBox/issues/3081)
`/island settings` is now built from `panels/settings_panel.yml` and `/admin settings` from `panels/admin_settings_panel.yml`, the same mechanism as the other customisable panels. Button types are `TAB`, `FLAG` (a paged list, or a single flag pinned to a slot with `data.flag`), `MODE`, `RESET`, `NEXT` and `PREVIOUS`. The panel title is a separate locale entry from the tab button names, so the two can be styled independently, which was the original request in #3081. A flag's lore layout may now place the rank list and the click hints with `[ranks]` and `[tooltips]`, and a template can override a flag's name and lore per panel.
The admin panel uses one template for both its forms: the world tabs (`WORLD_SETTING`, `WORLD_DEFAULTS`, `ISLAND_DEFAULTS`) fall back to the island tabs when `/admin settings <player>` is used, and the `admin.set-world-defaults` permission still gates the world-defaults tabs. All existing behaviour is kept: permission checks, hidden flags with op override, sort order, click cooldowns, reset confirmation and the read-only world view off-island. If a template cannot be loaded the previous panel is shown and an error is logged.
For addon developers the API is additive only: `TemplatedPanelBuilder.island(Island)`, `TemplatedPanel.regenerate(...)`, `Flag.toPanelItem(..., ItemTemplateRecord)`, `Flag.toPanelItemForRank(...)`, `SettingsTab.getIsland(Panel)` and the `PanelListener` cooldown hooks. `TabbedPanel` and `SettingsTab` are unchanged.
---
## Bug Fixes
### Soft-deleted islands still counted as a player's island
[[PR #3086](https://github.com/BentoBoxWorld/BentoBox/pull/3086)]
When an island was deleted by a reset or `/admin delete`, only the owner was cleared; the island stayed in the in-memory per-player index until the server restarted. As a result an admin could not transfer an island to the former owner ("player already owns N islands") and `/admin delete` could report that the player had no island. The island is now removed from every player's index as soon as it is deleted, while its location stays reserved for the region purge.
### Templated panel `fallback:` never rendered
[[PR #3087](https://github.com/BentoBoxWorld/BentoBox/pull/3087)]
A template button's `fallback` record was rendering its own fallback rather than itself, so the option never worked. No shipped template used it before; the settings templates now rely on it.
---
## Other Improvements
* Build moved to Gradle 9.8.0 so the paperweight snapshot used for the 26.x dev bundles resolves again; this only affects building BentoBox itself, not running it or compiling addons against it. [[ae12e5206](https://github.com/BentoBoxWorld/BentoBox/commit/ae12e5206)]
---
## What's Changed
* Support Minecraft 26.3 and protect cushions and straw beds by @tastybento in https://github.com/BentoBoxWorld/BentoBox/pull/3090
* ⚙️🔡 Make the island settings panel template-driven (#3081) by @tastybento in https://github.com/BentoBoxWorld/BentoBox/pull/3087
* ⚙️ Make the admin settings panel template-driven (#3081) by @tastybento in https://github.com/BentoBoxWorld/BentoBox/pull/3088
* Fix soft-deleted islands still counting towards a player's islands by @daniel-skopek in https://github.com/BentoBoxWorld/BentoBox/pull/3086
## New Contributors
* @daniel-skopek made their first contribution in https://github.com/BentoBoxWorld/BentoBox/pull/3086
**Full Changelog**: https://github.com/BentoBoxWorld/BentoBox/compare/3.23.0...3.23.1
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" }