Skip to content

Releases: BentoBoxWorld/BentoBox

Release 3.11.2

14 Mar 16:01
582d3bc

Choose a tag to compare

New Release Highlights

  • Visitors cannot steal items from copper golems by hitting them
  • ⚙️ 🔡 🔺 New RAID_TRIGGER island protection flag replaces the old VISITOR_TRIGGER_RAID world setting, giving island owners granular control over who can trigger raids
  • ⚙️ 🔡 Economy/Vault integration for blueprint bundle costs — admins can now charge players to choose a blueprint when creating or resetting islands
  • New /bbox placeholders (alias ph) GUI and /bbox dump-placeholders command for browsing and documenting all registered placeholders
  • Automatic update notification banner on startup when a newer BentoBox version is available
  • 🔺 Performance: island loading is now dramatically faster on servers with many islands (spatial hash replaces nested TreeMap — addresses servers that hung at "Loading islands from database...")
  • Fixed NETHER_PORTAL / END_PORTAL protection flags being bypassed when Paper had misc.enable-nether: false
  • Fixed /bbox purge regions not deleting nether/end region files, and corrected login-check logic and scan reporting
  • BentoBox teleports now use TeleportCause.PLUGIN instead of UNKNOWN, fixing compatibility with Essentials /back

Compatibility

✔️ Paper Minecraft 1.21.5 - 1.21.1
✔️ Java 21

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
  5. You should be good to go!

🔺 Config migration note: The VISITOR_TRIGGER_RAID world setting has been removed. It is replaced by the new per-island RAID_TRIGGER protection flag. Review your game mode configs after upgrading.

Legend

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

New Features

⚙️ 🔡 🔺 RAID_TRIGGER Protection Flag (replaces VISITOR_TRIGGER_RAID)

[PR #2801](#2801)

The VISITOR_TRIGGER_RAID world setting has been converted into a proper island protection flag called RAID_TRIGGER. Island owners can now configure the minimum rank required to trigger a raid on their island (visitor, member, trusted, owner, etc.) via the island settings panel. Players attempting to trigger a raid below the configured rank will have their action blocked without consuming their Bad Omen effect. By default, only members and above can trigger raids — matching previous behaviour.

⚙️ 🔡 Economy Integration for Blueprint Bundle Costs

[PR #2806](#2806)

Admins can now assign a Vault economy cost to blueprint bundles. A cost editor is available in the admin GUI. When economy is enabled and multiple bundles are available, players will see costs displayed and must be able to afford a bundle before selecting it. A new config option charge-for-blueprint-on-reset (default: false) controls whether the cost also applies when resetting an island. Costs are silently skipped when Vault/economy is not installed.

Placeholder Browser GUI and Dump Command

[PR #2803](#2803)

Two new admin tools for managing placeholders:

  • /bbox placeholders (alias ph) — opens an interactive GUI showing all registered placeholders organised by addon, with resolved values.
  • /bbox dump-placeholders — generates a Markdown file documenting every registered placeholder, useful for documentation and the BentoBoxWorld docs site.

Panel appearance can be customised via BentoBox/panels/placeholder_panel.yml and placeholder_list_panel.yml.

Automatic Update Notifications

[PR #2834](#2834)

BentoBox now checks for newer releases on startup and prints a coloured banner to the console if an update is available. The check runs asynchronously and fails silently on network errors. Development builds skip the check entirely.


Performance

🔺 Faster Island Loading — Spatial Hash for IslandGrid

[PR #2840](#2840)

The internal island grid has been rewritten to use a spatial hash map instead of nested TreeMaps. This reduces island loading from O(n²) to O(n) average-case, directly fixing the issue where servers with large numbers of islands would hang at "Loading islands from database...". Also corrects a bug that could cause large islands to be missed by coordinate lookups (relevant to plugins like Stranger Realms).


Bug Fixes

🔺 Addon Binary Compatibility and Class Loading Fix

[PR #2836](#2836)

Restores the ImmutableSet<UUID> return type on Island.getMemberSet(), which had been changed to Set<UUID> and was causing NoSuchMethodError at runtime for addons compiled against earlier BentoBox versions. Also fixes an IllegalStateException: Recursive update in AddonClassLoader that caused startup failures for addons with cross-addon dependencies (e.g. DimensionalTrees).

Fix NETHER_PORTAL / END_PORTAL Flag Bypass

[PR #2802](#2802)

When Paper's misc.enable-nether (or enable-end) was set to false, BentoBox's portal handling bypassed the Bukkit event bus entirely, allowing visitors to use portals regardless of the protection flag. Events are now properly routed through Bukkit.getPluginManager().callEvent() so flag checks fire correctly.

Fix Purge Regions

[PR #2841](#2841) [PR #2804](#2804) [PR #2805](#2805)

Several fixes to the /bbox purge regions command:

  • Nether/end worlds were not being detected correctly due to early evaluation before addon worlds loaded
  • The recent-login protection check had inverted logic and only checked the island owner rather than all team members
  • Region files in nether and end worlds were not being deleted
  • Scan reports now show how many islands are blocked by level thresholds vs. protection flags

Fix Copper Golem Item Theft by Visitors

[PR #2799](#2799)

Visitors could steal items held by Copper Golems by hitting them. This has been fixed.

Fix TeleportCause for Plugin-Initiated Teleports

[PR #2800](#2800)

BentoBox teleports (home, safe-spot etc.) now correctly use TeleportCause.PLUGIN instead of TeleportCause.UNKNOWN. This fixes compatibility with plugins like Essentials where /back would not work after a BentoBox teleport.

Fix force-shown Integer in Panel Configuration

[PR #2832](#2832)

Setting force-shown: N in a panel YAML now correctly forces all rows 1 through N to be visible, rather than only the last row. The list form force-shown: [2, 4] is unaffected.


Internal / Developer Changes

A large batch of code quality improvements driven by SonarCloud analysis: sealed classes, removal of deprecated ChatColor API, lambda and @Override style fixes, variable shadowing, cognitive complexity reduction in TemplateReader, production code quality improvements, and replacement of deprecated EntityDamageByEntityEvent and LingeringPotion test APIs. Extensive new JUnit 5 test suites added for ClosestSafeSpotTeleport, SQLDatabaseHandler, BlueprintPaster, IslandTeamInviteGUI, DefaultPasteUtil, and others. Placeholder panel pagination deduplicated into AbstractPanel.


What's Changed

  • Fix Javadoc @link syntax in getPrimaryIsland method by @Copilot in #2792
  • Fix Copper Golem item theft via player interaction by @tastybento in #2799
  • Add unit tests for homeTeleportAsync(Island, User, boolean) overload by @Copilot in #2794
  • ⚙️ 🔡 🔺 Convert VISITOR_TRIGGER_RAID world setting to RAID_TRIGGER protection flag by @tastybento in #2801
  • Use TeleportCause.PLUGIN instead of TeleportCause.UNKNOWN for plugin-initiated teleports by @Copilot in #2800
  • ⚙️ Add placeholder browser GUI and dump command (#1332) by @tastybento in #2803
  • Fix NETHER_PORTAL flag bypass when paper misc.enable-nether is false by @tastybento in #2802
  • Refactor AdminPurgeRegionsCommand to dynamically handle nether and end world regions by @tastybento in #2804
  • Fix purge regions not deleting nether/end region files by @tastybento in #2805
  • ⚙️ 🔡 Add economy integration for blueprint bundle costs by @tastybento in #2806
  • Refactor command argument checks and enhance null safety in various commands by @tastybento in #2807
  • Deduplicate P...
Read more

Release 3.11.1

26 Dec 20:09
555a33c

Choose a tag to compare

This is a bug fix release.

Compatibility

✔️ Paper Minecraft 1.21.5 - 1.21.11
✔️ Java 21

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

Full Changelog: 3.11.0...3.11.1

Release 3.11.0

16 Dec 05:29
20e88a9

Choose a tag to compare

This release adds support for Paper 1.21.11 and fixes some bugs. There are no feature differences from the previous version.

Compatibility

✔️ Paper Minecraft 1.21.5 - 1.21.11
✔️ Java 21

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

Full Changelog: 3.10.1...3.11.0

Release 3.10.1

15 Nov 23:41
0be7cdc

Choose a tag to compare

Compatibility

✔️ Minecraft 1.21.5 - 1.21.10
✔️ Java 21

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

Full Changelog: 3.10.0...3.10.1

Release 3.10.0

09 Nov 17:48
92308fd

Choose a tag to compare

New In This Release

  • Support for new Stranger Realms game mode - A scary new survival experience where the overworld is shadowed by a terrifying, inverted dimension called the Upside Down. Inspired by the TV Show.
  • Updated Ukrainian locale
  • Bug fixes

Compatibility

✔️ Minecraft 1.21.5 - 1.21.10
✔️ Java 21

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

New Contributors

Full Changelog: 3.9.2...3.10.0

Release 3.9.2

29 Oct 01:44
0f659a0

Choose a tag to compare

New In This Release

  • Adds more backward compatibility for servers before 1.21.10

Compatibility

✔️ Minecraft 1.21.5 - 1.21.10
✔️ Java 21

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

Full Changelog: 3.9.1...3.9.2

Release 3.9.1

28 Oct 03:17
5da0b5c

Choose a tag to compare

New In This Release

  • Adds backward compatibility to 3.9.0
  • Fixes protection flag for Trial Spawners

Compatibility

✔️ Minecraft 1.21.5 - 1.21.10
✔️ Java 21

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

Full Changelog: 3.9.0...3.9.1

Release 3.9.0

27 Oct 04:09
7c60a11

Choose a tag to compare

New In This Release

  • Adds protections for copper chests and golems
  • API added for ExpiringSets
  • API added to allow islands to be off grid coordinates

Compatibility

✔️ Minecraft 1.21.10
✔️ Java 21

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

Full Changelog: 3.8.1...3.9.0

Release 3.8.1

17 Oct 23:15
14bceed

Choose a tag to compare

New In This Release

  • Bug fix - admin command to copy blocks for blueprint was throwing an error and not copying.
  • Bug fix - added color codes to some of the setting flags where they were missing

Compatibility

✔️ Minecraft 1.21.4 to 1.21.10
✔️ Java 21

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. (Optional) Move or delete the English locale files so they are updated
  5. Restart the server
  6. 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

Full Changelog: 3.8.0...3.8.1

Release 3.8.0

13 Oct 17:27
582be1b

Choose a tag to compare

New In This Release

  • Added support from 1.21.10

Compatibility

✔️ Minecraft 1.21.4 to 1.21.10
✔️ Java 21

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. Move or delete locale files
  5. Restart the server
  6. 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

Full Changelog: 3.7.4...3.8.0