Inventory Switcher
1.19.3Separate inventories per game mode world and per island if players have more than one. Players keep different items, XP, advancements, and gear for each BentoBox game.
1.19.3latestAug 4, 2026 ## New in this release ⚙️ Per-world money is now off by default.* InvSwitcher no longer registers itself as the Vault economy unless you opt in. Servers that want a separate balance per world can enable it withoptions.money: trueinconfig.yml. Nothing else about the feature has changed.
## CompatibilityExisting configs are not rewritten. This new default only applies to fresh installs. If your
config.ymlalready containsoptions.money: trueand you do not want InvSwitcher to manage money, set it tofalseand restart.BentoBox 3.17.0
Paper Minecraft 1.21.5 – 26.1.2
Java 21 ## Upgrading 1. Take backups of your server, for safety 2. Download this jar and put it in your addons folder - delete the old one 3. Restart the server 4. You should be good to go! ## Legend *
config options have been removed, renamed, or added ## What's Changed *
Disable per-world money by default by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/65 Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.19…
1.19.2Aug 4, 2026 ##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. - ThePlayerQuitEventthat 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 asinvswitcher.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 whenoptions.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 yourconfig.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 pinnedpublish-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.ymland add the relevant entries to theworlds:list, then restart. InvSwitcher logs the worlds it hooks into on startup — check that list to confirm.New permission nodes.
[gamemode].invswitcher.balanceand[gamemode].invswitcher.payare registered with a default oftrue, 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.ecoand itsbalance,give,takeandsetchildren) default toop.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 1. Take backups of your server, for safety. 2. Stop the server. 3. Drop the new InvSwitcher jar into the addons folder and remove the old one. 4. If you run SkyGrid, Raft, Brix or Parkour, add those worlds to your
config.yml(see above). 5. Restart the server. 6. 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.19.1Jul 2, 2026 ##What's new 1.19.1 is a bug-fix release that resolves a death-screen softlock for players using per-island health. ##
Highlights ###
Fixed per-island health death loop (#56) With per-island health enabled, a player who owned more than one island could get trapped in an endless respawn/death screen after dying. When their state was captured mid-death it recorded a health of
0; loading that value back into the player on the death island appliedsetHealth(0), killing them again the instant the world loaded. InvSwitcher now never applies a fatal stored health to a live player — a stored value of0(only ever produced mid-death) restores full health instead, matching vanilla respawn behaviour. ##Compatibility
BentoBox 3.17.0
Paper Minecraft 1.21.5 – 26.1.2
Java 21 ##
How to update 1. Take backups of your server, for safety. 2. Stop the server. 3. Drop the new InvSwitcher jar into the addons folder and remove the old one. 4. Restart the server. 5. You should be good to go! ## What's Changed *
Fix per-island health death loop on respawn by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/57 Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.19…
1.19.0Jun 21, 2026 ##What's new 1.19.0 is a follow-up to the 1.18.0 per-world economy release. It fixes two issues that stopped the new economy from working cleanly in a common setup. InvSwitcher now functions as a true standalone economy — you no longer need a separate economy plugin such as EssentialsX for it to take effect — and admin economy commands now report the correct balance for offline players instead of a stale value. ##
Highlights ###
Standalone economy now works on its own InvSwitcher registers its own per-world Vault economy, but BentoBox hooks Vault during its early startup, before addons enable. When InvSwitcher was the only economy on the server, that early hook found nothing and was discarded, so BentoBox's
getVault()stayed empty — and economy-dependent addons such as Bank disabled themselves with "Vault is required" even though a working per-world economy was present. InvSwitcher now registers a fresh Vault hook with BentoBox once its provider is live, so it works as the server's only economy.Companion framework PRs harden this further: [BentoBox #2995](https://github.com/BentoBoxWorld/BentoBox/pull/2995) retries the Vault hook after addons enable, and [Bank #67](https://github.com/BentoBoxWorld/Bank/pull/67) retries before disabling.
###Correct balance reported for offline economy transactions Admin
eco give,eco set, andeco takeon an offline player reported a stale balance — for example "New balance: 0.00" right after giving 2,000. The money was always stored correctly, but the confirmation message re-read the balance from the database before the asynchronous save had flushed, returning the pre-transaction value. The commands now report the authoritative balance returned by the transaction itself. This release also hardens the underlying offline read-after-write path: offline saves are tracked while in flight so two rapid sequential transactions on the same offline player can no longer load independent stale copies and lose an update — without blocking the main thread or caching offline players indefinitely. ##Compatibility
BentoBox 3.17.0
Paper Minecraft 1.21.5 – 26.1.2
Java 21 ##
How to update 1. Take backups of your server, for safety. 2. Stop the server. 3. Drop the new InvSwitcher jar into the addons folder and remove the old one. 4. Restart the server. 5. You should be good to go! ## What's Changed *
Register a fresh Vault hook so InvSwitcher works as a standalone economy by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/commit/d929649 *
Report offline economy balances correctly and harden offline saves by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/commit/a15c645 * Add MC 26.1.2 to Modrinth game-versions by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/52 Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.18…
1.18.0May 31, 2026 ## Release Highlights 🔺⚙️🔡 Per-world money* — InvSwitcher can now give every game world its own separate economy, on top of the inventories, health, XP and stats it already switches. ⚙️ InvSwitcher is the economy — it registers itself as the Vault economy provider, so shop sales, `/pay`, jobs and other plugins all credit and debit the correct world's* balance — even when the player is offline or in a different world. 🔡 New commands & placeholders* — per-game-modebalance,pay, and admineco give/take/set/balance, plus balance placeholders, translated into every language BentoBox ships. 🐛 Two inventory/XP fixes* — advancements no longer inflate XP on world switch, and BentoBox island resets no longer wipe the wrong world's inventory. ### CompatibilityBentoBox 3.17.0
Paper Minecraft 1.21.5 – 26.1.2
Java 21 ### Upgrading 1. As always, take backups just in case. (Make a copy of everything!) 2. Stop the server. 3. Update BentoBox to 3.17.0 — this release requires it. 4. Replace the InvSwitcher jar with this one. 5. If you want per-world money, install Vault (an economy plugin such as EssentialsX is optional) and leave
options.money: trueinconfig.yml. 6. Restart the server. 7. You should be good to go!Requires BentoBox 3.17.0: InvSwitcher now listens to BentoBox's player-reset events (including the new money-reset event), which were introduced in 3.17.0. It will not load on older BentoBox versions.
Economy behaviour change: when
options.moneyis enabled, InvSwitcher becomes the server's Vault economy provider. Worlds it does not manage are passed through to your existing economy (e.g. EssentialsX); managed worlds get their own per-world balance. If you run the Bank addon, island wallets become per-world too. On first entry to a managed world a player's existing balance is imported once (configurable viaeconomy.import-existing-balances). Vault is required for money; an economy plugin is optional — InvSwitcher can be the only economy.New config:
options.money,options.islands.money, and aneconomy:block (starting balance, currency names, fractional digits, import toggle, delegate toggle, debug). Existing configs keep working; the new keys are added with safe defaults.
### Legend -Locale note: a new English reference locale and 22 translated locale files have been added for the economy commands.
locale files may need to be regenerated or updated. -
config options have been added. -
special attention needed. --- ## New Features ###
Per-world economy InvSwitcher can now keep a separate money balance for each switched world, just as it does for inventories. With
options.moneyenabled it registers itself as the Vault economy provider at the highest priority and routes every transaction to the balance of the world it belongs to. Because balances live in InvSwitcher's own data store, credits and debits land in the right world even when the target player is offline or standing somewhere else — fixing the classic "shop sale crosses worlds" problem. Worlds InvSwitcher does not manage are delegated to the previously-registered economy (e.g. EssentialsX), and if no other economy is present InvSwitcher handles everything itself. Configuration lives underoptions.money/options.islands.moneyand a neweconomy:block (starting balance, currency name, fractional digits, one-time balance import, delegation toggle, and a debug switch). Per-world is the default; per-island wallets are opt-in. ###Economy commands, tab completion and placeholders Each managed game mode gains its own economy commands, scoped to that game mode's world:
balanceandpayfor players, andeco give/take/set/balancefor admins (with online-player tab completion on the player argument)./bsb balanceshows your BSkyBlock balance and/ai balanceyour AcidIsland balance, regardless of where you are standing. Two PlaceholderAPI placeholders per game mode (<gamemode>_invswitcher_balanceand..._balance_formatted) expose the per-world balance. All strings are translated into every language BentoBox ships. --- ## Bug Fixes ### Advancements no longer inflate experience on world switch [[PR #47](https://github.com/BentoBoxWorld/InvSwitcher/pull/47)] Some advancements reward XP when their criteria are restored. When switching worlds, re-awarding stored advancements could incorrectly increase the player's experience. InvSwitcher now saves and restores the exact XP around the advancement-restore step. ### Island resets no longer clear the wrong world's inventory [[PR #49](https://github.com/BentoBoxWorld/InvSwitcher/pull/49)] When BentoBox fired an inventory/ender-chest/health/hunger/XP reset for a player who was in a non-BentoBox world, the live player (in the wrong world) could be affected. InvSwitcher now intercepts these reset events and clears the stored data for the correct world instead. This release also handles the new money-reset event the same way. --- ## Other Improvements * Economy console output is gated behindeconomy.debugto keep logs clean. * Admin economy commands refactored to remove duplicated code (no behaviour change). *addon.ymlAPI version updated to 3.17.0. --- ## What's Changed *Add per-world economy via a Vault provider, with commands, tab completion, placeholders and locales by @tastybento *
Fix XP increase when restoring advancements on world switch by @Copilot in https://github.com/BentoBoxWorld/InvSwitcher/pull/47 * Intercept BentoBox player reset events to protect non-BentoBox world inventories by @Copilot in https://github.com/BentoBoxWorld/InvSwitcher/pull/49 Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.17…
1.17.1May 9, 2026 ## New in this release Fixed inventory cleared when teleporting from a BentoBox world to a non-BentoBox world* — Previously, when a player left a BentoBox game world (e.g., BSkyBlock) for a non-BentoBox world (e.g., the default overworld or a third-party plugin world), their "outside" inventory could be lost because each non-BentoBox world stored data under its own key. Now all non-BentoBox worlds share a single storage key, so the player's inventory is always restored correctly. Includes automatic migration for data saved under old per-world keys. ## CompatibilityBentoBox API 2.7.1
Minecraft 1.21.x
Java 21 ## Upgrading 1. Take backups of your server, for safety 2. Download this jar and put it in your addons folder - delete the old one 3. Restart the server 4. You should be good to go! ## What's Changed * Fix inventory cleared when teleporting from BentoBox world to non-BentoBox world by @tastybento * Fix CI: add forceJavacCompilerUse to compiler plugin config by @tastybento Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.17…
1.17.0Inventory Switcher 1.17.0Apr 16, 2026 Compatibility
BentoBox API 2.7.1
Minecraft 1.21.x - NOTE this addon will not work with previous versions. If you need those, use an older version of the addon
Java 21
Changelog
Legend
-locale files may need to be regenerated or updated. -
config options have been removed, renamed or added. -
special attention needed.
What's Changed
*Add per-island inventory switching (#40) by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/41 * Fix inventory lost when returning to original island by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/42 * Update build version from 1.16.0 to 1.17.0 by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/43 Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.16…
1.15.1InvSwitcher 1.15.1Apr 14, 2025 This release adds Poseidon into the config.yml as a default.
Compatibility
BentoBox API 2.7.1
Minecraft 1.21.x - NOTE this addon will not work with previous versions. If you need those, use an older version of the addon
Java 21
Changelog
Legend
-locale files may need to be regenerated or updated. -
config options have been removed, renamed or added. -
special attention needed.
What's Changed
*1.15.1 by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/38 Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.15…
1.15.0InvSwitcher 1.15.0Dec 17, 2024 Compatibility
BentoBox API 2.7.1
Minecraft 1.21.3+
Java 21
Changelog
Legend
-locale files may need to be regenerated or updated. -
config options have been removed, renamed or added. -
special attention needed.
What's Changed
* Update to MC 1.21.3 by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/36 * Release 1.15.0 by @tastybento in https://github.com/BentoBoxWorld/InvSwitcher/pull/37 Full Changelog: https://github.com/BentoBoxWorld/InvSwitcher/compare/1.14…1.12.0InvSwitcher for BentoBox 1.12.0Feb 5, 2024 Compatibility -BentoBox 2.0.0 -
Minecraft 1.20.4 -
Java 17
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta