Overview
VaultPack is a powerful backpack and ender chest expansion plugin for Minecraft servers. It provides players with up to 18 backpack slots and 9 ender chest pages, creating a comprehensive portable storage system with economy integration.
Key Features
- 18 backpack slots with 6 upgrade tiers (9-54 slots each)
- 9 ender chest pages (45 slots each = 405 total)
- Unified storage GUI for easy access
- Economy-based or permission-based unlocking
- Death protection - items never lost
- PlaceholderAPI support with 15+ placeholders
- Full developer API (thread-safe)
- MySQL or YAML storage
- Folia compatible
Installation
- Download VaultPack from your BuiltByBit purchase
- Stop your Minecraft server
- Place the JAR file in your server's
plugins/directory - Start your server
- Configure the plugin in
plugins/VaultPack/config.yml - Use
/vaultpack reloadto apply changes
Requirements: Paper/Spigot/Folia 1.21+, Java 21+
Optional: Vault (for economy), PlaceholderAPI (for placeholders)
Commands
Player Commands
| Command | Aliases | Description |
|---|---|---|
/backpack | /bp | Open backpack selector GUI |
/backpack open <slot> | /bp open <1-18> | Open specific backpack slot |
/enderchest | /ec, /echest | Open ender chest page selector |
/enderchest open <page> | /ec open <1-9> | Open specific ender page |
/storage | /vault, /st | Open unified storage GUI |
Admin Commands
| Command | Description |
|---|---|
/vaultpack reload | Reload plugin configuration |
/vaultpack version | Show version and integration status |
/vaultpack give <player> <slot> | Unlock a backpack slot for player |
/vaultpack giveitem <player> <type> [amount] | Give backpack items to player |
/vaultpack list | List all backpack types |
/vaultpack clear <player> <slot> | Clear a player's backpack contents |
/vaultpack reset <player> | Reset all player data |
/vaultpack inspect <player> | View player's backpacks and ender chests |
Permissions
Basic Permissions
| Permission | Default | Description |
|---|---|---|
vaultpack.use | true | Access to backpack commands |
vaultpack.admin | op | Full admin access |
vaultpack.bypass.cost | op | Bypass economy costs |
Slot Access Permissions
| Permission | Description |
|---|---|
vaultpack.slots.* | Access to all 18 backpack slots |
vaultpack.slots.1 - vaultpack.slots.18 | Access to specific slot |
vaultpack.enderchest.page.* | Access to all 9 ender pages |
vaultpack.enderchest.page.1 - .page.9 | Access to specific ender page |
Crafting Permissions
| Permission | Default | Description |
|---|---|---|
vaultpack.craft.* | true | Craft all backpack types |
vaultpack.craft.small | true | Craft small backpacks |
vaultpack.craft.medium | true | Craft medium backpacks |
vaultpack.craft.large | true | Craft large backpacks |
vaultpack.craft.greater | true | Craft greater backpacks |
vaultpack.craft.jumbo | true | Craft jumbo backpacks |
Configuration
Main configuration file: plugins/VaultPack/config.yml
Backpack Settings
# Maximum backpack slots per player
max-backpack-slots: 18
# Default unlocked slots for new players
default-unlocked-slots: 1
# Backpack size tiers
backpack-sizes:
small: 9 # 1 row
medium: 18 # 2 rows
large: 27 # 3 rows
huge: 36 # 4 rows
massive: 45 # 5 rows
colossal: 54 # 6 rows
# Default size for new backpacks
default-backpack-size: smallSlot Unlock Costs
slot-unlock:
enabled: true
use-economy: true
# Formula: base-cost + (slot-number * cost-per-slot)
base-cost: 1000
cost-per-slot: 500
# Example: Slot 2 = 1000 + (2 * 500) = $2000
# Use permissions instead/alongside economy
use-permissions: true
permission-format: "vaultpack.slots.%slot%"Ender Chest Settings
enderchest-unlock:
enabled: true
use-economy: true
base-cost: 2000
cost-per-page: 1000
# Example: Page 2 = 2000 + (2 * 1000) = $4000
use-permissions: true
permission-format: "vaultpack.enderchest.page.%page%"Item Blacklist
item-blacklist:
enabled: true
materials:
- BEDROCK
- BARRIER
- COMMAND_BLOCK
- STRUCTURE_BLOCK
# Uncomment to block shulker boxes
# - SHULKER_BOX
message: "&cThis item cannot be stored in backpacks!"PlaceholderAPI Placeholders
All placeholders use the %vaultpack_ prefix.
General Placeholders
| Placeholder | Description |
|---|---|
%vaultpack_total_slots% | Number of unlocked backpack slots |
%vaultpack_active_count% | Number of active backpacks |
%vaultpack_total_storage% | Total storage slots across all backpacks |
Slot-Specific Placeholders
Replace X with slot number (1-18):
| Placeholder | Description |
|---|---|
%vaultpack_slot_X_unlocked% | true/false if slot is unlocked |
%vaultpack_slot_X_has_backpack% | true/false if slot has backpack |
%vaultpack_slot_X_tier% | Tier name (small, medium, etc.) |
%vaultpack_slot_X_size% | Size in slots (9, 18, 27...) |
%vaultpack_slot_X_used% | Number of used slots |
%vaultpack_slot_X_fullness% | Fullness percentage (e.g., 45.5%) |
%vaultpack_slot_X_fullness_bar% | Visual fullness bar |
Developer API
VaultPack provides a comprehensive, thread-safe API for plugin developers.
Getting the API
// Get the main API instance
VaultPackAPI api = VaultPackAPI.getInstance();
// Or get specific APIs
BackpackAPI backpackApi = api.getBackpackAPI();
EnderChestAPI enderApi = api.getEnderChestAPI();Backpack Operations
// Check if player has backpack in slot
boolean hasBackpack = api.hasBackpack(player, slotNumber);
// Open a backpack for player
api.openBackpack(player, slotNumber);
// Get backpack contents
Map<Integer, ItemStack> contents = api.getBackpackContents(player, slot);
// Check slot unlock status
boolean unlocked = api.isSlotUnlocked(player, slotNumber);
// Unlock a slot programmatically
api.unlockSlot(player, slotNumber);
// Get statistics
int activeCount = api.getActiveBackpackCount(player);
int totalSlots = api.getTotalStorageSlots(player);
int usedSlots = api.getTotalUsedSlots(player);Ender Chest Operations
// Check if ender page is unlocked
boolean unlocked = api.isEnderPageUnlocked(player, pageNumber);
// Open an ender page
api.openEnderPage(player, pageNumber);
// Get ender page contents
Map<Integer, ItemStack> contents = api.getEnderPageContents(player, page);
// Unlock a page
api.unlockEnderPage(player, pageNumber);
// Get ender statistics
int totalEnderSlots = api.getTotalEnderStorageSlots(player);
int usedEnderSlots = api.getTotalUsedEnderSlots(player);Custom Events
// Listen for backpack events
@EventHandler
public void onBackpackOpen(BackpackOpenEvent event) {
Player player = event.getPlayer();
int slot = event.getSlotNumber();
// Handle event...
}
@EventHandler
public void onSlotUnlock(SlotUnlockEvent event) {
Player player = event.getPlayer();
int slot = event.getSlotNumber();
// Can be cancelled
event.setCancelled(true);
}
@EventHandler
public void onBackpackCreate(BackpackCreateEvent event) {
// Fired when a new backpack is created
}Ready to use VaultPack?
Give your players the ultimate storage solution with expandable backpacks and ender chests!
$4.99 Purchase Now