Craftable, upgradable backpacks with pages, sorting and database storage.

Wiki | Source | Support | Permissions/Commands | Changelog
Craftable backpacks that players hold, wear and upgrade.
Any number of backpack types, each with its own look, size, recipe and rules. Contents are saved in a database, so they survive crashes, lost items and server switches.
Requires Minecraft 26.1+ and Java 25. Runs on CraftBukkit, Spigot, Paper and Folia. No other plugins needed.
Updating from 1.x? Your backpacks, backpacks.yml and language files carry over, but permissions were renamed. Read Updating to 2.0 first.
For players
- Item based: right click a backpack to open it. No command needed.
- Up to 900 slots per backpack, shown a page of 45 slots at a time.
- Sort and deposit buttons under every backpack: sort merges and orders everything across all pages, deposit moves over every kind of item the backpack already holds.
- Upgrades: craft a Basic with gold into an Advanced, and an Advanced with diamonds into a Mega. Everything inside stays.
- Wearable: put a backpack in your chest slot and open it by sneaking and pressing the swap hands key (F).
- Auto pickup: when your inventory is full, items you walk over go into your backpack. (Paper and Folia)
- Recipe menu: /backpack shows every backpack you may craft and how. The recipes are in the recipe book too.
- Bigger ender chest: optionally replace the ender chest with one of up to 900 slots, also reachable from an EndPack.
- Your own language: every player sees messages in their game language.
For server owners
- Everything per backpack: name, title, lore, size, recipe, upgrade recipe, whitelist/blacklist (with item tags such as #minecraft:shulker_boxes), open and close sounds, keep on death, glow.
- Custom looks: player head textures from MinecraftHeads.com, or item models and custom model data from your resource pack. The menu buttons can be restyled the same way.
- Database storage: SQLite out of the box, or MySQL, PostgreSQL or MongoDB. Several servers can share one database; a backpack open on one server can't be opened on another until it is closed.
- Safe saving: open backpacks are saved every minute. If the database is down, contents are kept on disk and saved once it is back.
- Admin tools: /backpack view to look into any player's backpacks (also offline), /backpack restore to bring back a lost one, /backpack purge to clear out old ones.
- Permissions to use and to craft each backpack, and an optional limit on how many backpacks a player may have.
- Formatting: & colour codes and &#rrggbb everywhere; MiniMessage tags and gradients on Paper and Folia.
- PlaceholderAPI placeholders and WorldGuard flags (backpack-use, backpack-auto-pickup). Both optional.
- 14 languages: English, German, Spanish, French, Italian, Dutch, Polish, Portuguese (Brazil), Russian, Turkish, Japanese, Korean, Chinese (Simplified and Traditional).
Which server can do what
- CraftBukkit and Spigot: everything except auto pickup and MiniMessage tags.
- Paper and Folia: everything.
All four are tested. Forks should behave like the server they are made from.
Default backpacks
- Basic (27 slots): a chest surrounded by leather.
- Advanced (45 slots): a Basic surrounded by gold ingots.
- Mega (108 slots, 3 pages): an Advanced surrounded by diamonds.
- EndPack: an ender chest surrounded by leather. Opens your ender chest.
Change them or add your own in backpacks.yml.
Commands
- /backpack - open the menu of craftable backpacks and their recipes (backpacks.use)
- /backpack open - open the backpack you hold or wear (backpacks.use)
- /backpack give <BackPack> <Player> [Amount] - give backpacks to a player (backpacks.give)
- /backpack view <Player> [Number] - browse or open a player's saved backpacks (backpacks.admin)
- /backpack restore <Player> <Number> - make a new item for a saved backpack (backpacks.admin)
- /backpack purge <Days> [confirm] - count, and with confirm delete, backpacks unused for that long (backpacks.admin)
- /backpack reload - reload the plugin's files (backpacks.reload)
- /backpack help - show the help page (backpacks.help)
Aliases: /backpacks, /bp, and /bpp and /backpacksplus from 1.x.
Permissions
- backpacks.use.<BackPack> - open that backpack
- backpacks.craft.<BackPack> - craft that backpack, or upgrade into it
- backpacks.use.* and backpacks.craft.* - every backpack
- backpacks.limit.<number> - how many backpacks a player may have while BackPackLimiter is on; backpacks.limit.* for any number
- backpacks.* - everything
Operators have all of them by default.
Custom textures
Find a head on MinecraftHeads.com, copy its "Minecraft URL" and put it under the backpack in backpacks.yml:
Texture: "http://textures.minecraft.net/texture/<YOURCUSTOMTEXTUREID>"
With a resource pack, use Model: "namespace:path" or CustomData: <number> instead.
Example backpack
Miner:
Name: "&6Miner's BackPack"
Title: "Miner's BackPack"
Size: 90
Texture: "http://textures.minecraft.net/texture/<YOURCUSTOMTEXTUREID>"
Lore:
- " &7Open this with &e<key:key.use>"
- " &7Slots used: &e%used%&7/&e%size%"
Whitelist: [ "#minecraft:coal_ores", "#minecraft:iron_ores", "COBBLESTONE", "RAW_IRON", "COAL" ]
AutoPickup: true
KeepOnDeath: true
Upgrade:
From: "Basic"
Shape:
- "III"
- "IBI"
- "III"
Materials:
I: "IRON_INGOT"
B: "BACKPACK"
Every option is listed at the top of backpacks.yml and in the wiki.
Storage
Set Storage.Type in config.yml to sqlite (default), mysql, postgresql or mongodb.
- The PostgreSQL and MongoDB drivers are downloaded by the server from Maven Central on first start.
- Backpacks from 1.x kept their contents on the item. They are moved into the database the first time they are opened.
- Switching from one kind of storage to another does not move existing contents.
PlaceholderAPI and WorldGuard
- %backpacksplus_carried% - backpacks the player carries
- %backpacksplus_limit% - how many they may have
- %backpacksplus_open% - name of the backpack they have open
- %backpacksplus_open_size% - its number of slots
WorldGuard: /rg flag <region> backpack-use deny stops backpacks from being opened in a region, and backpack-auto-pickup deny stops auto pickup there.
Older Minecraft versions
2.0 is for Minecraft 26.1 and newer. For 1.14 to 1.16, version 1.2.4 is still on SpigotMC; it gets no more updates.
Support
Questions, ideas and bugs: open an issue on GitLab. Please don't report bugs in reviews; I can't help you there.
Information
Pinned Versions
- R26.1.2–26.3
Pages
Members
1Owner