New in this release
A focused API release that gives addons fine-grained control over what happens to a player when they leave or reset an island. Every player-state reset that BentoBox performs is now announced through a cancellable event, so addons can veto individual resets instead of all-or-nothing. This is mostly to support new functionality in the latest Inventory Switcher addon (InvSwitcher).
✨ Cancellable player reset events
When a player leaves a team or their island is reset, BentoBox can clear their inventory, ender chest, money, health, hunger and XP, and untame their animals — depending on each game mode's island.reset.on-leave settings. Until now there was no way for an addon to intercept these resets.
This release introduces a new family of cancellable events under world.bentobox.bentobox.api.events.player. For each configurable reset action, BentoBox fires the matching event before the action runs, and skips the action entirely if a listener cancels it:
| Event | Fired before |
|---|---|
PlayerTamedRemovalEvent |
untaming the player's animals |
PlayerResetEnderChestEvent |
clearing the ender chest |
PlayerResetInventoryEvent |
clearing the inventory |
PlayerResetMoneyEvent |
withdrawing the player's balance |
PlayerResetHealthEvent |
resetting health |
PlayerResetHungerEvent |
resetting hunger |
PlayerResetExpEvent |
resetting XP |
All events extend the new PlayerBaseEvent (which implements Cancellable) and carry the player UUID, the island, and the world. They are constructed and dispatched through a small builder API:
PlayerEvent.builder()
.reason(PlayerEvent.Reason.INVENTORY_RESET)
.involvedPlayer(uuid)
.island(island)
.world(world)
.build();
Listening is standard Bukkit:
@EventHandler
public void onInventoryReset(PlayerResetInventoryEvent e) {
if (shouldKeepInventory(e.getPlayerUUID())) {
e.setCancelled(true); // inventory will not be cleared
}
}
This is purely additive — all classes are new, no existing API changed, so the release is binary-compatible with existing addons.
Compatibility
✔️ Paper Minecraft 1.21.5 – 26.1.x ✔️ Java 21+
Upgrading
- As always, take backups just in case.
- Stop the server.
- Replace the BentoBox jar with this one.
- Restart the server.
- You should be good to go!
What's Changed
- ✨ Introduce player reset events for inventory, health, hunger, experience, money, and tamed entities by @tastybento in https://github.com/BentoBoxWorld/BentoBox/pull/2986
- ✨ Implement cancellable player reset events for leaving an island by @tastybento in https://github.com/BentoBoxWorld/BentoBox/pull/2986
Full Changelog: https://github.com/BentoBoxWorld/BentoBox/compare/3.16.2...3.17.0
Information
| Published on | June 1, 2026 |
|---|---|
| Downloads | 32 |