A small follow-up patch with one defensive hardening, one inventory-loss fix, and CraftEngine API compatibility.
Island.setRange no longer silently corrupts island data. A misbehaving third-party addon was calling setRange with a value that disagreed with the game mode's configured distance-between-islands. On the next restart, BentoBox refused to load the affected islands and panic-disabled with Island distance mismatch, taking the whole island system offline. setRange now refuses any value that disagrees with the configured distance (and logs the calling stack frame), unless the game mode opts out via GameModeAddon.isEnforceEqualRanges() == false — the supported path for claim-resizing game modes like StrangerRealms.island.reset.on-join.inventory: true — Boxed and AOneBlock ship with this) could return to that world to find their items gone. The on-join inventory/XP/health/hunger/money resets now run after the teleport into the island world completes, so InvSwitcher (and similar plugins) save the player's real inventory under the old world before the reset fires. Fixes the case reported against AOneBlock 1.25.0 / Boxed 3.3.0 / InvSwitcher 1.17.1.CraftEngineHook.getItemStack(id) was using the pre-rewrite CustomItem<ItemStack> API and broke on recent CraftEngine releases. The hook now uses BukkitItemDefinition#buildBukkitItem() and works against CraftEngine 26.5.✔️ Paper Minecraft 1.21.5 – 1.21.12 ✔️ Java 21+
🔺
Island.setRangecontract change.setRangewas previously a plain setter. It now refuses values that would put the stored range out of sync with the game mode's configured distance (which would causeIsland distance mismatchon the next load) and logs a warning naming the caller. Game modes that legitimately resize claims continue to work — they already overrideGameModeAddon.isEnforceEqualRanges()to returnfalse. If you're maintaining an addon and you see warnings likeRefusing Island.setRange(...)in the log, the warning identifies the exact caller — that's the call you need to look at.
Island.setRange against distance-mismatch corruption by @tastybento in https://github.com/BentoBoxWorld/BentoBox/pull/2980Full Changelog: https://github.com/BentoBoxWorld/BentoBox/compare/3.16.1...3.16.2

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.