Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for BentoboxWorld

SkyBlock, OneBlock, AcidIsland, and more - all in one plugin!

Report bentobox?

Release
3.17.0

tastybento released bentobox version 3.17.0 on June 1, 2026

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

  1. As always, take backups just in case.
  2. Stop the server.
  3. Replace the BentoBox jar with this one.
  4. Restart the server.
  5. You should be good to go!

What's Changed

Full Changelog: https://github.com/BentoBoxWorld/BentoBox/compare/3.16.2...3.17.0

Information

Published onJune 1, 2026
Downloads32

Platforms

Paper Paper (1.21.5-26.1.2)