Separate inventories per game mode world. Players keep different items, XP, and gear for each BentoBox game.
π What's new
1.19.2 fixes a data-loss bug affecting players who were online when the server stopped. Anything they did since their last world change β mined, traded, built up a hotbar β was lost, and on their next login the stale snapshot was written back over their real inventory. It looked like a rollback to whenever they last switched worlds. Players who had logged out normally before the shutdown were never affected.
Also in this release: the per-world economy commands now actually work for normal players, four game mode worlds that were missing from the default config have been added, and the README gained a section on the disappearing-items problem caused by running a second inventory manager alongside InvSwitcher.
β¨ Highlights
π Inventories no longer roll back for players online at shutdown (#63)
- On shutdown InvSwitcher saves every player still online. BentoBox closes its database immediately after addons are disabled, and players are only kicked afterwards, so the asynchronous write issued from
saveOnShutdown()lost that race and was silently dropped. - The
PlayerQuitEventthat would normally have saved those players fired after the database was already closed, so there was no second chance to persist. - Everything an online player did since their last world change was therefore lost β and because the addon re-applies the stored inventory on login, the stale snapshot then overwrote whatever they really had.
- Players who logged out before the server stopped were unaffected: their quit save ran while the database was still open.
- Shutdown saves are now synchronous, on both the normal and the statistics save paths. Regular in-game saves stay asynchronous, so nothing new runs on the main thread during play.
π° Economy commands work for normal players (#63)
/<gamemode> balanceand/<gamemode> payfailed with a permission error for every player who was not an operator.- The commands set permissions such as
invswitcher.balance, which BentoBox prefixes with the parent game mode's permission prefix β producing, for example,bskyblock.invswitcher.balance. Butaddon.ymlhad nopermissions:section, so those nodes were never registered with a default, and an undeclared node is denied to everyone but ops. - The nodes are now declared using BentoBox's
[gamemode]placeholder, which expands into every game mode's prefix. User commands default totrue, adminecocommands toop. - This only affects servers running the per-world economy β the commands are still only registered when
options.moneyis enabled and Vault is installed.
βοΈ Missing game mode worlds added to the default config (#61)
skygrid-world,raft_world,brix_worldandparkour_worldwere absent from the shippedworlds:list.- On a fresh install InvSwitcher silently did not manage those worlds, and a world that is never hooked produces no log line β so the gap stayed invisible until items started leaking between worlds.
- Existing configs are not rewritten. If you already run any of these game modes, add the entries to your
config.ymlby hand.
π Do not run two inventory managers (#60)
- New README section on the most common support case: InvSwitcher running alongside Multiverse-Inventories, PerWorldInventory or MultiInv. Both plugins save and restore the player on every world change and overwrite each other's data, and the symptom is disappearing items with nothing in the console.
- Covers the Multiverse-Inventories bypass permission (
mvinv.bypass.world.<world>) and the two things that commonly mislead admins: leaving BentoBox worlds out of every inventory group does not help, and/mv remove <world>is undone on the next restart.
ποΈ Build and CI (#63, #62, #59)
- JaCoCo updated 0.8.12 β 0.8.15. 0.8.12 cannot read class file major version 69, so coverage instrumentation failed with
Unsupported class file major version 69on the JDK 25 CI agent. - The pinned
publish-platforms.ymlreusable workflow was bumped twice, most recently to pick up the multipart-JSON fix.
βοΈ Compatibility
βοΈ BentoBox 3.17.0 βοΈ Paper Minecraft 1.21.5 β 26.1.2 βοΈ Java 21
πΊ Updating β important notes
βοΈ New default worlds are not added to an existing config. The four worlds above are only present on a fresh install. If you run SkyGrid, Raft, Brix or Parkour, open your InvSwitcher/config.yml and add the relevant entries to the worlds: list, then restart. InvSwitcher logs the worlds it hooks into on startup β check that list to confirm.
πΊ New permission nodes. [gamemode].invswitcher.balance and [gamemode].invswitcher.pay are registered with a default of true, so most servers need to do nothing. If you use a permissions plugin that denies unlisted nodes, grant these to your default group. The admin nodes ([gamemode].invswitcher.admin.eco and its balance, give, take and set children) default to op.
πΊ If players were reporting rollbacks after restarts, they should stop after this update. Only players online at the moment the server stopped were affected. Data already lost cannot be recovered β those writes never reached the database. Take a backup before updating, as always.
π₯ How to update
- Take backups of your server, for safety.
- Stop the server.
- Drop the new InvSwitcher jar into the addons folder and remove the old one.
- If you run SkyGrid, Raft, Brix or Parkour, add those worlds to your
config.yml(see above). - Restart the server.
- You should be good to go!
Legend
- βοΈ config options have been removed, renamed, or added
- πΊ special attention needed
What's Changed
- πΊ Register economy command permissions and save synchronously on shutdown by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/63
- βοΈ Add missing game mode worlds to the default config by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/61
- π Warn against running a second inventory manager by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/60
- ποΈ Bump publish-platforms pin to the multipart-JSON fix by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/62
- ποΈ Bump pinned publish-platforms.yml to ca2dcd1 by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/59
Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.19.1...1.19.2
Information
| Published on | August 4, 2026 |
|---|---|
| Downloads | 0 |