Releases: BentoBoxWorld/BentoBox
Release 3.11.2
New Release Highlights
- Visitors cannot steal items from copper golems by hitting them
- ⚙️ 🔡 🔺 New
RAID_TRIGGERisland protection flag replaces the oldVISITOR_TRIGGER_RAIDworld 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(aliasph) GUI and/bbox dump-placeholderscommand 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 regionsnot deleting nether/end region files, and corrected login-check logic and scan reporting - BentoBox teleports now use
TeleportCause.PLUGINinstead ofUNKNOWN, fixing compatibility with Essentials/back
Compatibility
✔️ Paper Minecraft 1.21.5 - 1.21.1
✔️ Java 21
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
- You should be good to go!
🔺 Config migration note: The
VISITOR_TRIGGER_RAIDworld setting has been removed. It is replaced by the new per-islandRAID_TRIGGERprotection 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)
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
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
Two new admin tools for managing placeholders:
/bbox placeholders(aliasph) — 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
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
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
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
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
Visitors could steal items held by Copper Golems by hitting them. This has been fixed.
Fix TeleportCause for Plugin-Initiated Teleports
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
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...
Release 3.11.1
This is a bug fix release.
Compatibility
✔️ Paper Minecraft 1.21.5 - 1.21.11
✔️ Java 21
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
- 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
- 🔡 Update PODZOL translation in zh-CN.yml by @tastybento in #2786
- Changes to improve code per IntelliJ by @tastybento in #2787
- Release 3.11.1 by @tastybento in #2788
Full Changelog: 3.11.0...3.11.1
Release 3.11.0
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
- 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
- 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
- Mokito 5 redo by @tastybento in #2772
- Avoid blank nms blocks by @tastybento in #2778
- Fix bug with shift to using Bukkit API if distance isn't greater than by @tastybento in #2779
- Implements ability for Player Heads to use CMD by @BONNe in #2777
- Adds a bukkit to adventure conversion. Could be useful. by @tastybento in #2782
- Mojang mapped by @tastybento in #2783
- Gradle conversion - compiles and tests by @tastybento in #2784
- Version 3.11.0 by @tastybento in #2785
Full Changelog: 3.10.1...3.11.0
Release 3.10.1
Compatibility
✔️ Minecraft 1.21.5 - 1.21.10
✔️ Java 21
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
- 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
- Fix for #2769 portal memory leak by @tastybento in #2770
- Release 3.10.1 by @tastybento in #2771
Full Changelog: 3.10.0...3.10.1
Release 3.10.0
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
- 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
- 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
- Add shelf block protection #545 by @tastybento in #2757
- API: Set addon on login. by @tastybento in #2759
- 🔡 The Ukrainian localization has been improved and updated by @GIGABAIT93 in #2758
- Better grid storage for arbitrary island positions. by @tastybento in #2760
- Record islands becoming unowned by @tastybento in #2761
- More api by @tastybento in #2762
- Avoid trying to load files starting with ._ by @tastybento in #2763
- Check if the currently open panel is equal to the inventory that was … by @Rossterd in #2767
- Release 3.10.0 by @tastybento in #2765
New Contributors
- @GIGABAIT93 made their first contribution in #2758
Full Changelog: 3.9.2...3.10.0
Release 3.9.2
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
- 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
- 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
- #2750 copper golem check by @tastybento in #2754
- Version 3.7.2 by @tastybento in #2755
Full Changelog: 3.9.1...3.9.2
Release 3.9.1
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
- 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
- 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
- Add backward compatibility to 3.9.0. #2750 by @tastybento in #2751
- Fixes trial spawners working even with spawner flag disabled. by @BONNe in #2749
- Release 3.9.1 by @tastybento in #2752
Full Changelog: 3.9.0...3.9.1
Release 3.9.0
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
- 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
- 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
- API auto center fix option by @tastybento in #2745
- Add API to allow a Game Mode to bypass range checks by @tastybento in #2746
- Copper golem and copper chest protection by @tastybento in #2747
- Version 3.9.0 by @tastybento in #2748
Full Changelog: 3.8.1...3.9.0
Release 3.8.1
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
- As always, take backups just in case. (Make a copy of everything!)
- Stop the server
- Replace the BentoBox jar with this one
- (Optional) Move or delete the English locale files so they are updated
- Restart the server
- 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
- Fix for blueprint copying #2741 by @tastybento in #2742
- 🔡 Minor changes for color codes in English locale.
- Release 3.8.1 by @tastybento in #2743
Full Changelog: 3.8.0...3.8.1
Release 3.8.0
New In This Release
- Added support from 1.21.10
Compatibility
✔️ Minecraft 1.21.4 to 1.21.10
✔️ Java 21
Upgrading
- As always, take backups just in case. (Make a copy of everything!)
- Stop the server
- Replace the BentoBox jar with this one
- Move or delete locale files
- Restart the server
- 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
- 1.21.10 compatibility by @tastybento in #2738
- Release 3.8.0 by @tastybento in #2739
Full Changelog: 3.7.4...3.8.0