InfiniteBags
Bottomless. Sortable. Sellable.
Premium quality-of-life storage. Part of the Modern Plugin Series by zArrowTan.
Bottomless. Sortable. Sellable.
Premium quality-of-life storage. Part of the Modern Plugin Series by zArrowTan.
Vanilla inventories fill up. Ender chests fill up. Shulkers fill up. InfiniteBags doesn't.
Every player gets a personal bottomless backpack that lives in your server database, not their hotbar. Items go in and never spill out, each slot holds trillions of a single item type, auto-pickup routes loot straight into the bag, and a one-click sell button turns it all into economy currency. It's the storage plugin built for serious survival, skyblock, and prison servers.
Bottomless Storage
- No stack limits: each slot holds trillions of one item type. Deposit stack after stack and they merge into a single slot with a running quantity.
- Multi-page GUI: up to 45 slots per page across multiple pages, with navigation, search, and settings in one window.
- Progressive slot unlock: pages grow as players deposit, so the bag scales naturally with use.
Auto-Pickup
- Items the player walks over route straight into the bag instead of the vanilla inventory.
- Toggle globally with
/bag pickup, per-slot with F in the GUI, or with a click in the bag.
Sell From Your Bag
- Sell a single slot with shift + right-click, or hit the emerald Sell-All button.
- Sell-All opens a confirm GUI with a full per-item value breakdown, sorted by worth.
- Multi-shop support: UltimateShop, ShopGUI+, EconomyShopGUI, and EssentialsX, plus a local
shopworth.ymlfallback. The first provider with a price wins. - CustomModelData pricing: price custom items from ItemsAdder, Nexo, Oraxen, MMOItems, or plain resource-pack items using the
cmd-prices:section inshopworth.yml. Format:MATERIAL:CMD: price. Lookup order: CMD, then NBT, then simple material.
Permission-Gated Slots & Pages
- Sell slots and pages to donor tiers, ranks, or level perks with
infinibag.slots.Nandinfinibag.pages.N. - Per-page or total slot models, with optional cumulative permissions.
Optional Bag-as-Item
- A configurable player-head item that lives in the hotbar and opens the bag on right-click.
- Cannot be dropped, stored in chests, or lost on death. Locked-to-slot or movable modes.
Recovery Vault
- If an admin lowers a player's perms and items land on locked pages,
/bag recoveropens a separate vault to take them back. - A join notification reminds players they have items waiting.
Developer API
- An optional API lets other plugins read and write a player's bag at runtime, soft-depend friendly with no extra jar to install.
- Mail systems, reward systems, and custom shops can deposit items straight into a player's bag, even while they're offline.
- Offline-safe (UUID-keyed) and async-safe, with strict item grouping that matches full material plus NBT.
Networks & Extras
- SQLite out of the box, MySQL for networks.
- Bungee and Velocity cross-server bag sync with safe locking.
- PlaceholderAPI support and an anvil-based search GUI.
- Configurable open sound (volume, pitch, audible radius) and bundled en + fr locales, easy to add more.
Main command
/bag, with aliases /backpack, /infinitebag, /ib, /sac, and /sacoche./bagopen your bag/bag helpshow the command list/bag versionbuild, storage, and shop info/bag pickup [on|off]toggle global auto-pickup/bag sellallsell all sellable items (opens a confirm)/bag stats [player]view bag usage stats/bag recoveropen the recovery vault
/bag open <player>view another player's bag/bag give <player> <material> <amount>inject items into a bag/bag take <player> <material> <amount>remove items from a bag/bag clear <player> confirmwipe a player's entire bag/bag reloadreload config and lang files/bag debugtoggle verbose console logging
infinibag.useopen your own baginfinibag.pickupauto-pickup feature availableinfinibag.sell.slotsell a single slotinfinibag.sell.allsell the entire baginfinibag.sellparent node granting both sell permissions
infinibag.slots.<N>slot count, per-page or total depending on your modelinfinibag.pages.<N>max pages (per-page mode)
cumulative-permissions: true to sum all granted nodes.infinibag.adminparent node granting every admin command and cooldown bypassinfinibag.bypass.cooldownskip click and sell cooldownsinfinibag.command.open/.give/.take/.clear/.stats/.reload/.debugindividual admin command access
%infinibag_total_items%total items across all slots, formatted (1.2K, 3.4M)%infinibag_unique_types%distinct item types in the bag%infinibag_unique_in_page_<N>%distinct types on page N%infinibag_pages_used%pages containing at least one slot%infinibag_pages_max%max pages under current perms%infinibag_slots_max%slots-per-page cap under current perms%infinibag_total_value%estimated total bag value, with currency%infinibag_pickup_global%enabled / disabled auto-pickup state%infinibag_slot_<MATERIAL>%total quantity of one material
Other plugins can read and write a player's bag at runtime through the optional
InfiniteBagAPI. No hard dependency and no extra jar, it ships inside the normal plugin jar and is safe to soft-depend on.isEnabled(UUID)can the player use their bagaccepts(ItemStack)would the bag store this item typecontains(UUID, ItemStack)does the bag already hold this exact typeadd(UUID, ItemStack)store an item, returns the amount that did not fit
InfiniteBag.getApi() (null-checked, soft-depend safe). Works offline via UUID-keyed database access, is async-safe (per-UUID locked), and uses strict item grouping that matches full material plus NBT (name, enchants, damage, custom model data).Full guide on the Developer API page: infinitebags.arrowtan.cc/developer-api
- Minecraft: 1.21.x
- Server software: Spigot, Paper, Purpur
- Storage: SQLite (default, zero-config) or MySQL
- Networks: Bungee and Velocity cross-server sync
- Soft-depends: PlaceholderAPI, UltimateShop, ShopGUI+, EconomyShopGUI, EssentialsX
- Custom items: ItemsAdder, Nexo, Oraxen, MMOItems, and any resource-pack items priced via CustomModelData. No soft-depend required.
- Java: 17 or higher
- Drop-in install with sane defaults out of the box
- No bloat storage, done well
- Zero database setup SQLite is handled internally
- GUI-first no config-file hunting for everyday use
- Network-ready MySQL and cross-server sync built in
Drop in. Auto-pickup. One-click sell.
Made with ❤ by zArrowTan
Made with ❤ by zArrowTan
