A small bug-fix release for 3.14.0. If you're upgrading from 3.13.x or earlier, see the 3.14.0 changes below — they all apply to this release.
✔️ Paper Minecraft 1.21.5 – 1.21.11 ✔️ Paper Minecraft 26.1.1 ✔️ Java 21+
📄 Coming from 3.13.x? Existing
.blublueprint files will continue to load alongside the new.blueprintJSON format introduced in 3.14.0 — no migration step required.
🔡 Coming from 3.13.x? All 22 non-English locale files were corrected in 3.14.0. If you use customised locale files, regenerating them is recommended.
</green> leaking as literal text in flag setting tooltips[594aaf04]
User.convertToLegacy was splitting mixed MiniMessage/legacy strings on \n before parsing, so a multi-line tag span like <green>foo\nbar</green> was processed as two independent lines — the second line had a closing tag with no opening, and MiniMessage rendered </green> as literal text in the lore. The whole string is now parsed as a single unit so the tag span stays balanced. The now-unnecessary <green>...</green> wrapper around [description] in the flag description/menu/setting layouts has also been dropped from every bundled locale file.
<orange> MiniMessage tags[2bba02bb]
The 3.14.0 obsidian-scooping lava-tip locale entry used <orange>, which is not a valid MiniMessage named colour — Minecraft's named-colour set tops out at <gold>. MiniMessage left the unknown tag as literal text, so the hologram rendered <orange>Scoop this up with a bucket</orange> verbatim. Switched to <gold> to match the Minecraft colour palette and the rest of the locale conventions.
minimumRank API[PR #2936]
New Flag.Builder.minimumRank(int) lets addons declare the lowest rank that may be selected for a PROTECTION flag (defaults to VISITOR_RANK, fully backwards-compatible). The auto-assigned CycleClick listener is constructed with the configured minimum so the settings-panel click-cycle won't let players select ranks below it. build() clamps defaultRank up to minimumRank (with a logged warning) so a misconfigured flag still has a selectable default. Adds Flag.getMinimumRank() and Flag.getClickHandler() getters. Binary-compatible — additive only.
Several internal subsystems received substantial test-coverage improvements (no behaviour change):
IslandsManager (51% → 64.6%)LocalesManager (40% → 49.2%)YamlDatabaseHandler (13% → 72%)AddonsManager (26% → 46%)BlueprintsManager, BlueprintClipboard, SafeSpotTeleport, WebManager, Util, ItemParserDocumentation: CLAUDE.md now documents the MiniMessage ↔ legacy round-trip pitfalls that produced the two bugs above.
The full 3.14.0 changelog is reproduced below for anyone upgrading from 3.13.x or earlier.
[actionbar], [title], [subtitle], and [sound:name:volume:pitch] tags, letting you control exactly how messages are displayed to players.%bskyblock_flag_PVP_OVERWORLD%)..blueprint JSON files instead of zipped .blu binaries. Existing .blu files are loaded automatically with full backward compatibility.Blueprints have been switched from a zipped binary .blu format to plain JSON .blueprint files. This makes blueprints human-readable, diffable, and easy to edit in any text editor. Existing .blu files are detected and loaded automatically — no migration step required.
A new "Island Defaults" tab has been added to the Admin Settings panel, letting admins view and modify default protection flags for new islands directly through the GUI.
Locale strings now support [actionbar], [title], [subtitle], and [sound:name:volume:pitch] tags placed at the start of locale values to control how messages are shown to players.
A new chunk pre-generation system can warm island area chunks in the background, eliminating lag when players first visit. Disabled by default in config.yml.
When scoopable obsidian forms (lava + water on an island), a small floating hologram now appears above the block to teach players they can pick it up. Removed when scooped or after a configurable duration. (See 3.14.1 fix above for the <orange> tag bug.)
New PlaceholderAPI placeholders expose the enabled/disabled state of every protection, setting, and world setting flag.
The MythicMobs integration now supports a configurable delay for mob spawning and a callback that fires once the mob has been spawned.
Island deletion's region file purge now handles Minecraft 26.1.1's updated world file structure.
/bbox reload — PR #2931, PR #2932 (fixes #2930)TooltipDisplay data component API.visited_island_rank placeholder — PR #2909Full Changelog: https://github.com/BentoBoxWorld/BentoBox/compare/3.14.0...3.14.1

SkyBlock, OneBlock, Boxed, SkyGrid, AcidIsland, CaveBlock, Poseidon, StrangerRealms - and more! These are just some of the island-based game modes that BentoBox powers. From the author of the original ASkyBlock.