Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for BentoboxWorld

SkyBlock, OneBlock, AcidIsland, and more - all in one plugin!

Report bentobox?

Release
3.14.1

tastybento released bentobox version 3.14.1 on Sat 10:47 PM

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.

Compatibility

✔️ Paper Minecraft 1.21.5 – 1.21.11 ✔️ Paper Minecraft 26.1.1 ✔️ Java 21+

Upgrading

  1. Take backups. (Make a copy of everything!)
  2. Stop the server.
  3. Replace the BentoBox jar with this one.
  4. Restart the server.

📄 Coming from 3.13.x? Existing .blu blueprint files will continue to load alongside the new .blueprint JSON 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.


3.14.1 Bug Fixes

Fix </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.

Fix lava-tip hologram showing raw <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.

3.14.1 Other Changes

Flag.Builder 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.

Internal: expanded test coverage

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, ItemParser

Documentation: CLAUDE.md now documents the MiniMessage ↔ legacy round-trip pitfalls that produced the two bugs above.


3.14.0 changes

The full 3.14.0 changelog is reproduced below for anyone upgrading from 3.13.x or earlier.

Release Highlights

  • ⚙️ Island Defaults tab in Admin Settings — A new GUI tab lets admins view and edit default island protection flags directly from the settings panel — no config editing required.
  • 🔡 Message delivery type tags — Locale strings now support [actionbar], [title], [subtitle], and [sound:name:volume:pitch] tags, letting you control exactly how messages are displayed to players.
  • Chunk pre-generation — A new background chunk pre-generation system warms island chunks ahead of time, eliminating lag spikes on first visit. Disabled by default.
  • 💡 Obsidian scooping lava tip — A floating hologram appears above newly formed scoopable obsidian, teaching players they can scoop it. Disappears when scooped or after a configurable timeout.
  • 🔡 Flag state placeholders — New placeholders expose every flag's enabled/disabled state for use with PlaceholderAPI (e.g., %bskyblock_flag_PVP_OVERWORLD%).
  • 📄 Plain JSON blueprints — Blueprints are now stored as human-readable .blueprint JSON files instead of zipped .blu binaries. Existing .blu files are loaded automatically with full backward compatibility.
  • 🔺 Minecraft 26.1.1 region purge support — Island deletion now handles Minecraft 26.1.1's updated world file structure.

Legend

  • 🔡 locale files may need to be regenerated or updated.
  • ⚙️ config options have been removed, renamed, or added.
  • 🔺 special attention needed.

New Features (3.14.0)

📄 Plain JSON Blueprint Format — PR #2911

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.

⚙️ Island Defaults Tab in Admin Settings GUI — PR #2912

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.

🔡 Message Delivery Type Tags — PR #2910

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.

⚡ Chunk Pre-Generation Manager — PR #2916

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.

💡 Obsidian Scooping Lava Tip Hologram — PR #2915

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.)

🔡 Flag State Placeholders — PR #2913

New PlaceholderAPI placeholders expose the enabled/disabled state of every protection, setting, and world setting flag.

⚙️ MythicMobs Hook: Configurable Delay & Callback — PR #2929

The MythicMobs integration now supports a configurable delay for mob spawning and a callback that fires once the mob has been spawned.

🔺 Minecraft 26.1.1 Region Purge Support — PR #2902

Island deletion's region file purge now handles Minecraft 26.1.1's updated world file structure.

Bug Fixes (3.14.0)

  • Fix MiniMessage formatting on panel itemsPR #2903 — default italic and cross-nested tag handling in the legacy-to-MiniMessage converter.
  • Fix bold and decoration leaking across legacy round-tripPR #2918 (fixes #2917) — bold/italic/underlined/strikethrough/obfuscated leaking into subsequent text segments.
  • Fix bold formatting leaking past prefix substitutionPR #2907
  • Fix extra blank line in confirmation promptsPR #2927 (fixes #2919)
  • Preserve addon placeholders across /bbox reloadPR #2931, PR #2932 (fixes #2930)
  • Skip locale files with invalid BCP-47 tagsPR #2928
  • Hide tooltip clutter in all panelsPR #2924 — banner patterns, potion effects, etc. hidden via the modern TooltipDisplay data component API.
  • Fix locale corrections across 22 languagesPR #2905
  • Preserve mid-text spaces in legacy/MiniMessage round-trip
  • Support MiniMessage in welcome sign locale entries
  • Defer island saves while settings panel is openPR #2926

Other Improvements (3.14.0)

  • Improved warning messages for incompatible addons in AddonsManager
  • Updated Russian locale translations — PR #2925
  • Added test coverage for visited_island_rank placeholder — PR #2909
  • Extended decoration leak tests to cover all five decoration types — PR #2920

Full Changelog: https://github.com/BentoBoxWorld/BentoBox/compare/3.14.0...3.14.1

Information

Published onApril 11, 2026
Downloads0

Platforms

Paper Paper (1.21.5-26.1.2)