SkyBlock, OneBlock, AcidIsland, and more - all in one plugin!
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 settingsand/admin settingsare now template-driven panels, laid out bypanels/settings_panel.ymlandpanels/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
- As always, take backups just in case. (Make a copy of everything!)
- Stop the server.
- Replace the BentoBox jar with this one.
- Restart the server. The two new panel templates are written to
plugins/BentoBox/panels/on first run. - 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.ymlandadmin_settings_panel.ymlare additional files; nothing existing is overwritten. A game mode addon may also ship its own copy in itspanels/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]
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] [PR #3088] Closes #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]
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]
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]
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