Skip to content

Release 3.18.0

Choose a tag to compare

@tastybento tastybento released this 27 Jun 23:41
3f1d3fe

Release Highlights

  • πŸ”Ί Minecraft 26.2 support + Java 25 β€” BentoBox now runs on the Minecraft 26.x line and the build has migrated to the Java 25 toolchain. Your server must run on a Java 25-capable Paper build. Already-built addons keep working as-is; only addon developers recompiling against this BentoBox release need to move their build to Java 25.
  • βš™οΈ Dynmap island marker / area toggles β€” New config switches to hide the per-island house markers and/or the protected-area boxes on Dynmap, for servers where dense islands flood the map.
  • πŸ”‘ Admin range bonus management β€” New /<admin> range removebonus and /<admin> range purgebonus commands to clear bonus protection ranges from one island or every island β€” ideal after uninstalling an addon that granted them.
  • πŸ› /is team setowner no longer blocked by the island limit when transferring to an existing team member.
  • πŸ› Vault hook now retries after addons enable, fixing economy integration that depended on load order.

Compatibility

βœ”οΈ Paper Minecraft 1.21.5 – 26.2
βœ”οΈ Java 25+

Upgrading

  1. As always, take backups just in case. (Make a copy of everything!)
  2. Ensure your server is running on a Java 25-capable Paper build for the Minecraft 26.x line.
  3. Stop the server.
  4. Replace the BentoBox jar with this one.
  5. Restart the server.
  6. You should be good to go!

πŸ”Ί Java 25 required (server only): This release moves BentoBox to Java 25, so the server JVM must be Java 25-capable. Your existing addon jars do not need updating β€” they load and run unchanged. Only addon developers are affected: to compile against this BentoBox release they must move their own build to Java 25.

βš™οΈ Config note: A new dynmap section with island-markers and island-areas toggles (both default true) is added to config.yml. Existing configs keep the previous behaviour; set either to false and run /bbox reload (or restart) to hide those overlays.

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.2 support and Java 25 migration

[PR #2993]

BentoBox now supports the Minecraft 26.x line, with 26.2 supported at runtime. Supporting it forced a toolchain move to Java 25: the 26.x paper-api is Java 25 bytecode and requires consumers to target Java 25, so BentoBox now compiles to Java 25 and the paperweight/MockBukkit stack was upgraded accordingly. The build compiles against the stable 26.1.2 dev bundle while referencing 26.2-only blocks and entities by name at runtime, so both lines are covered. Existing addon jars continue to run unchanged; only addon developers recompiling against this release need to switch their build to Java 25.

βš™οΈ Dynmap island marker and area toggles

[PR #2991]

Two new config.yml options under a dynmap section let you control what BentoBox draws on Dynmap: island-markers toggles the house icon shown at the centre of every island, and island-areas toggles the protected-area border box. On worlds with many tightly-packed islands these overlays can flood the map β€” set either to false and reload to hide them. Both default to true, preserving existing behaviour.

πŸ”‘ Admin range bonus management commands

[PR #2988]

Two new admin commands manage the bonus protection ranges that addons store on islands. /<admin> range removebonus <player> [id] removes all bonus ranges from a single island, or just those for a given id. /<admin> range purgebonus <id> removes a bonus id from every island in the world β€” the "the addon that added these is gone, purge it everywhere" workflow. The purge scan runs asynchronously so it won't freeze large servers, reports the affected-island count, and applies on a confirm re-run; both commands fire RANGE_CHANGE when an island's effective range actually changes.


Bug Fixes

/is team setowner wrongly blocked by the island limit

[PR #2997] Fixes #2996

Transferring island ownership with /is team setowner refused with the "maximum number of islands" error when the target was already a member of the island being transferred. Because membership already counts that island toward the player's concurrent total, a member whose only island was this one hit the cap incorrectly. The check now discounts the island being transferred, so the limit only blocks targets that already have the maximum number of other islands. The same fix is applied to the admin setowner command.

Vault hook not retried after addons enable

[PR #2995]

The Vault economy hook could fail to register when load order placed it before the providing plugin was ready. BentoBox now retries the Vault hook after addons enable, making economy integration reliable regardless of plugin load order.


Other Improvements

  • Added MC 26.1.2 to the Modrinth game-versions publish list [PR #2989]
  • Documented the 26.x / Java 25 build constraints in CLAUDE.md, and made LocalesManagerTest not assert filesystem ordering

What's Changed

  • πŸ”Ί feat: support Minecraft 26.2 and migrate the build to Java 25 by @tastybento in #2993
  • βš™οΈ Add config toggles for Dynmap island markers and area boxes by @tastybento in #2991
  • πŸ”‘ feat: add admin range bonus management commands (removebonus + purgebonus) by @tastybento in #2988
  • fix: don't count transferred island against limit in setowner by @tastybento in #2997
  • fix: retry Vault hook after addons enable by @tastybento in #2995
  • Add MC 26.1.2 to Modrinth game-versions by @tastybento in #2989

Full Changelog: 3.17.0...3.18.0