Expendable Backpacks
Backpack Plugin - Expandable Storage for Minecraft!
Expendable Backpacks
Expendable Backpacks
A comprehensive backpack system featuring eight progressive tiers, upgradeable storage, placeable backpack blocks, and unique Enderpack shared inventory functionality.
***
✨ Features
* Tab Completion - From basic Dirt Backpack (9 slots) to premium Netherite Backpack (54 slots) * Tab Completion - Place backpacks as blocks in the world using Shift + Right-click * Tab Completion - Unique shared storage across multiple Enderpacks using UUID-based identification * Tab Completion - Give new players a Leather Backpack on first join * Tab Completion - Upgrade your backpacks by surrounding them with materials while preserving all contents * Tab Completion - Smart system prevents nesting backpacks within other backpacks * Tab Completion - In-game visual guide showing all crafting recipes and upgrade paths * Tab Completion - Beautiful player head textures for each tier with color-coded names * Tab Completion - All backpack contents automatically saved with UUID tracking * Tab Completion - Create multiple access points to the same shared inventory * Tab Completion - Placed backpacks are protected from explosions, pistons, fire, and lava * Tab Completion - Efficient inventory caching and asynchronous data saving * Tab Completion - Full tab completion support for all commands and UUIDs
***
🎒 Backpack Tiers
| Tier |Storage |Upgrade Material | | ------------------ |----------------- |------------------ | | Dirt Backpack |9 slots (1 row) |Surround with Dirt | | Leather Backpack |9 slots (1 row) |Starting tier | | Copper Backpack |18 slots (2 rows) |8x Copper Ingot | | Iron Backpack |27 slots (3 rows) |8x Iron Ingot | | Gold Backpack |36 slots (4 rows) |8x Gold Ingot | | Diamond Backpack |45 slots (5 rows) |8x Diamond | | Netherite Backpack |54 slots (6 rows) |Smithing Table | | <strong>Enderpack</strong> |27 slots (3 rows) |<strong>Shared Storage</strong> |
***
📦 Placeable Backpacks
Backpacks can now be placed in the world as decorative blocks that retain full functionality!
How It Works
* Protection: Hold a backpack and Protection on any surface * Protection: Protection the placed backpack to access its inventory * Protection: Mine the block to retrieve your backpack with all contents intact * Protection: Placed backpacks are fully protected from: * Explosions (Creeper, TNT, etc.) * Pistons (push/pull) * Fire and lava damage * Block explosions (Beds, Respawn Anchors)
Use Cases
* Shops & Trade - Create organized storage areas with visible backpack tiers * Shops & Trade - Display your collection of high-tier backpacks * Shops & Trade - Place backpacks at strategic locations around your base * Shops & Trade - Place shared Enderpacks in communal areas * Shops & Trade - Create backpack displays in marketplace builds
Important Notes
* Placed backpacks retain their UUID - items stay exactly where they are * Breaking and replacing a backpack doesn't affect its contents * Enderpacks work the same when placed - all copies share the same inventory * You can still open backpacks in your hand with a normal right-click
***
🌌 Enderpack - The Special One
The Enderpack provides unique functionality not found in other tiers:
* Cross-Location Access - All Enderpacks with the same UUID access identical inventory * Cross-Location Access - Craft 1 Enderpack + 1 Ender Pearl = 2 Enderpacks with matching UUID * Cross-Location Access - Keep one in your inventory, one at your base, share with teammates * Cross-Location Access - Place Enderpacks as blocks and they still share the same inventory * Cross-Location Access - Coordinate shared storage across multiple players * Cross-Location Access - Access the same inventory from anywhere
Example Use Case
1. Craft an Enderpack 2. Clone it by combining with an Ender Pearl (yields 2 Enderpacks, same UUID) 3. Keep one in your inventory for on-the-go access 4. Place one as a block at your base for easy access 5. Give one to a teammate 6. All three access the same 27-slot shared storage - even the placed one!
***
⚙️ Configuration
The plugin includes a configuration file at `plugins/ExpendableBackpacks/config.yml` for server customization.
Starter Backpack Feature
Give new players a Leather Backpack automatically when they first join your server:
```yaml
Give a Leather Backpack to players when they first join the server
Default: false
give-backpack-on-first-join: false
Message sent to players when they receive their starter backpack
Use & for color codes (e.g., &a for green, &6 for gold)
Set to empty string ("") to disable the message
starter-backpack-message: "&7Welcome! You've been given a &7Leather Backpack &7to get started. Right-click to open!" ```
Features: * Only triggers for players joining for the first time * Automatically adds backpack to inventory * Drops at player location if inventory is full * Customizable welcome message with color code support * Disabled by default - enable it in your config
***
🚀 Installation & Compatibility
1. Download the latest plugin JAR file 2. Place it in your server's `/plugins/` directory 3. Restart your server or use a plugin loader 4. Use `/backpack` to access the in-game guide 5. Configure starter backpack in `plugins/ExpendableBackpacks/config.yml` (optional)
Requirements
* Java Version: Paper, Spigot, Purpur, or Folia * Java Version: 1.21 or higher * Java Version: 21 or higher
***
🔧 Commands & Permissions
Commands
All commands support the `/bp` alias for quick access.
| Command |Description |Permission | | ------------------------------ |--------------------------- |------------------- | | <code>/backpack</code> |Open interactive guide GUI |<code>backpack.use</code> | | <code>/backpack help</code> |Display help information |<code>backpack.use</code> | | <code>/backpack give <player> <tier></code> |Give a backpack to a player |<code>backpack.give</code> | | <code>/backpack open <uuid></code> |Open a backpack by UUID |<code>backpack.openOthers</code> | | <code>/backpack clear <uuid></code> |Clear backpack contents |<code>backpack.clear</code> | | <code>/backpack clone <uuid></code> |Create an Enderpack clone |<code>backpack.clone</code> |
Permissions
| Permission |Description |Default | | ------------------- |------------------------------------------- |-------- | | <code>backpack.use</code> |Use backpack command and open own backpacks |Everyone | | <code>backpack.give</code> |Give backpacks to players |OP | | <code>backpack.openOthers</code> |Open any backpack by UUID |OP | | <code>backpack.clear</code> |Clear backpack contents |OP | | <code>backpack.clone</code> |Clone Enderpacks |OP | | <code>backpack.admin</code> |All admin permissions |OP |
***
🔨 Crafting Recipes
Leather Backpack (Starting Point)
``` L S L L C L L L L ```
* L = Leather, S = String, C = Chest
Enderpack (Special Recipe)
``` E P E P C P E I E ```
* E = Ender Eye, P = Ender Pearl, C = Chest, I = Iron Block
Upgrades
Surround your backpack with 8x upgrade material:
* Leather → Copper: 8x Copper Ingot * Copper → Iron: 8x Iron Ingot * Iron → Gold: 8x Gold Ingot * Gold → Diamond: 8x Diamond * Diamond → Netherite: Smithing Table (Netherite Upgrade Template + Diamond Backpack + Netherite Ingot)
Note: All upgrades preserve your items and UUID!
***
💾 Technical Details
Data Storage
* Backpacks stored in `plugins/ExpendableBackpacks/backpacks.yml` * UUID-based identification for each backpack instance * Placed backpacks store UUID in block PersistentDataContainer * Automatic inventory serialization * Data persists across server restarts
Performance
* Efficient inventory caching system * Asynchronous data saving * Optimized block interaction handling * Optimized for large-scale servers * Minimal server resource usage
Placed Backpack Technical Details
* Placed as Player Head blocks with custom textures * UUID and tier data stored in block NBT (PersistentDataContainer) * Same NamespacedKeys as items for consistency * Full event handling for comprehensive protection
***
🆘 Support & Links
* Documentation: Documentation: * Documentation: %%MD1%% * Documentation: %%MD2%%
***
📜 License
See the LICENSE file for details.
***
Developed with care for the Minecraft server community.