SRVaults
Advanced Personal Storage Solution for Minecraft Servers
Because Ender Chests Aren’t Enough ️
Made with ❤️ by SoulDevHub
Advanced Personal Storage Solution for Minecraft Servers
Because Ender Chests Aren’t Enough ️
Made with ❤️ by SoulDevHub
Features
- Personal Storage Vaults – Every player gets private vaults
- Permission-Based System – Flexible vault access controls
- Upgradeable Vaults – Expandable vault slots with economy integration
- Customizable GUI – Beautiful menus with MiniMessage support
- Multi-Vault System – Players can own multiple vaults
- Performance Optimized – Async database, caching, preloading
- PlaceholderAPI Support – Integrates with other plugins
- Geyser Compatibility – Bedrock & Java friendly
- Crash-Safe – Dupe protection and reliable data saving
Requirements
- Java: 17 or higher
- Dependencies: Vault, PlaceholderAPI, LuckPerms (all optional)
- Server Software: Paper/Purpur 1.16.5+ (1.21.8 recommended)
Commands
| Command | Permission | Description |
| /vault | srvaults.player | Open your personal vaults |
| /vault `<number>` | srvaults.player | Open a specific vault |
| /vault reload | srvaults.admin | Reload config |
| /vault add `<player>` `<amount>` | srvaults.admin | Add vaults to a player |
| /v | srvaults.player | Alias for /vault |
| /pv | srvaults.player | Alias for /vault |
⚙️ Configuration
Spoiler: config.yml
# SRVaults Configuration File
# Debug mode - enables detailed logging
# Default: false
debug: false
# Autosave interval in seconds
# Set to 0 to disable autosave
# Default: 60 (1 minute)
autosave-interval: 60
# Vault opening delay in milliseconds
# This delay prevents item duplication glitches when rapidly switching between vaults
# Players cannot pick up items during this period after opening a vault
# Value is in milliseconds: 1000 = 1 second, 500 = 0.5 seconds
# Recommended values: 500-2000 milliseconds
# Default: 1000 (1 second)
vault-open-delay: 1000
# Default settings for vaults
settings:
# Default number of vaults a player gets
# This is overridden by permissions (srvaults.amount.#)
# Default: 1
default-vaults: 1
# Default number of slots in a vault when first created
# Value must be divisible by 9 (a multiple of 9)
# Default: 9
default-vault-slots: 9
# Maximum slots a vault can be upgraded to
# Value must be divisible by 9 (a multiple of 9)
# Default: 54
max-vault-slots: 54
# Maximum number of vaults a player can have
# Set to 0 for unlimited vaults
# Players with more vaults than this limit will have their count reduced to this value
# Default: 0 (unlimited)
max-vaults: 0
# Vault upgrade settings
upgrades:
# Slot counts for each upgrade level (including navigation row)
# Each value represents total inventory slots (items + navigation)
# Values must be divisible by 9 (multiples of 9)
levels:
- 9 # Level 1 (default) - 1 row for items + 1 row for navigation
- 18 # Level 2 - 2 rows for items + 1 row for navigation
- 27 # Level 3 - 3 rows for items + 1 row for navigation
- 36 # Level 4 - 4 rows for items + 1 row for navigation
- 45 # Level 5 - 5 rows for items + 1 row for navigation
- 54 # Level 6 (max) - 6 rows for items + 1 row for navigation
# Cost to upgrade to next level (if using an economy plugin)
# Set to 0 to disable cost
# Formula: (vaultNumber + 1) * cost-per-level * (currentLevel + 1)
# Example with cost-per-level: 15
# Upgrading vault 0 from level 0 to 1 = (0 + 1) * 15 * (0 + 1) = $15
# Upgrading vault 0 from level 1 to 2 = (0 + 1) * 15 * (1 + 1) = $30
# Upgrading vault 1 from level 0 to 1 = (1 + 1) * 15 * (0 + 1) = $30
# Upgrading vault 1 from level 1 to 2 = (1 + 1) * 15 * (1 + 1) = $60
# Default: 15
cost-per-level: 15
# Debug mode - enables detailed logging
# Default: false
debug: false
# Autosave interval in seconds
# Set to 0 to disable autosave
# Default: 60 (1 minute)
autosave-interval: 60
# Vault opening delay in milliseconds
# This delay prevents item duplication glitches when rapidly switching between vaults
# Players cannot pick up items during this period after opening a vault
# Value is in milliseconds: 1000 = 1 second, 500 = 0.5 seconds
# Recommended values: 500-2000 milliseconds
# Default: 1000 (1 second)
vault-open-delay: 1000
# Default settings for vaults
settings:
# Default number of vaults a player gets
# This is overridden by permissions (srvaults.amount.#)
# Default: 1
default-vaults: 1
# Default number of slots in a vault when first created
# Value must be divisible by 9 (a multiple of 9)
# Default: 9
default-vault-slots: 9
# Maximum slots a vault can be upgraded to
# Value must be divisible by 9 (a multiple of 9)
# Default: 54
max-vault-slots: 54
# Maximum number of vaults a player can have
# Set to 0 for unlimited vaults
# Players with more vaults than this limit will have their count reduced to this value
# Default: 0 (unlimited)
max-vaults: 0
# Vault upgrade settings
upgrades:
# Slot counts for each upgrade level (including navigation row)
# Each value represents total inventory slots (items + navigation)
# Values must be divisible by 9 (multiples of 9)
levels:
- 9 # Level 1 (default) - 1 row for items + 1 row for navigation
- 18 # Level 2 - 2 rows for items + 1 row for navigation
- 27 # Level 3 - 3 rows for items + 1 row for navigation
- 36 # Level 4 - 4 rows for items + 1 row for navigation
- 45 # Level 5 - 5 rows for items + 1 row for navigation
- 54 # Level 6 (max) - 6 rows for items + 1 row for navigation
# Cost to upgrade to next level (if using an economy plugin)
# Set to 0 to disable cost
# Formula: (vaultNumber + 1) * cost-per-level * (currentLevel + 1)
# Example with cost-per-level: 15
# Upgrading vault 0 from level 0 to 1 = (0 + 1) * 15 * (0 + 1) = $15
# Upgrading vault 0 from level 1 to 2 = (0 + 1) * 15 * (1 + 1) = $30
# Upgrading vault 1 from level 0 to 1 = (1 + 1) * 15 * (0 + 1) = $30
# Upgrading vault 1 from level 1 to 2 = (1 + 1) * 15 * (1 + 1) = $60
# Default: 15
cost-per-level: 15
Spoiler: pv-gui.yml
# SRVaults GUI Configuration File
#
# This file controls the appearance and layout of the vault GUIs
# You can customize materials, names, positions, and head textures
#
# Placeholders:
# {player} - Replaced with the player's name
# {number} - Replaced with the vault number
# {current_slots} - Replaced with current vault slot count
# {next_slots} - Replaced with next upgrade slot count
# {upgrade_cost} - Replaced with the cost to upgrade
# {total_vaults} - Replaced with total number of vaults
# {total_upgrade_level} - Replaced with total upgrade level
# {total_slots} - Replaced with total slot count
# {used_slots} - Replaced with used slot count
# Main menu settings
main-menu:
# Menu title - supports MiniMessage formatting
title: "<gradient:#6374FF:#2483FF><b>Vault's Menu</b></gradient>"
# Vault button - opens the vault selection menu
vault-button:
slot: 12
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTZkN2ZkYjUwZjE0YzczMWM3MjdiMGUwZDE4OWI2YTg3NDMxOWZjMGQ3OWM4YTA5OWFjZmM3N2M3YjJkOTE5NiJ9fX0="
name: "<gradient:#6374FF:#2483FF><b>Vaults</b></gradient>"
# Info button - displays plugin information
info-button:
slot: 14
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTcxYTIyODVjOTFjNmM3Mjc0NzYwNDgxOWVlNTIyM2E5MGFhNTFlNmU3OWU0ZjlhZjY2MjhlYzhmMGRkN2RmYyJ9fX0="
name: "<gradient:#FF5555:#FFAA00>Information</gradient>"
lore:
- "<gray>SRVaults Plugin Information"
- ""
- "<gray>This plugin provides personal"
- "<gray>storage vaults for players."
- ""
- "<#FF5555>Use <#55FF55>/vault <#5555FF>to access your vaults."
- "<gradient:#5e4fa2:#f79459>Premium Features Included</gradient>"
# Player stats - displays player statistics
stats-button:
slot: 4
name: "<gradient:#55FF55:#AAFFAA>{player}'s Stats</gradient>"
# Close button - closes the menu
close-button:
slot: 22
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmVlZjdlNTZjZGU3NDA3NzJkZmI3NmRkZDJmNTg0YmU4OTA3Yjg1OTc2NjhlNDAyNjM0OTg2NDY5MjMwYWE0OSJ9fX0="
name: "<b><gradient:#E35327:#E35327>✖ C</gradient><gradient:#E35327:#A24608>lose</gradient></b>"
# Filler items - decorative items that fill empty slots
filler:
material: GRAY_STAINED_GLASS_PANE
name: " "
# Vault menu settings
vault-menu:
# Menu title - supports MiniMessage formatting
# Placeholders: {player}, {number}
title: "<gradient:#55FF55:#AAFFAA>Vault</gradient> #{number}"
# Locked item settings
locked-item:
# Lore text that identifies locked items
lore: "<red>Locked Item - Cannot be moved"
# Navigation elements at the bottom of the vault menu
navigation:
# Previous page button - navigates to previous vault
previous-button:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzk2MTcwMjJjZjlhMWQ1YTg2MDZjMDZlMzg5NGMzMTA4NzRkZmFkMjc2OTA3OTNkNjc1NjkwMTY1OGM2ZTA2NCJ9fX0="
name: "<blue>Previous Page"
# Next page button - navigates to next vault
next-button:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDE1Y2U4NDQ4YWNiZDhlNjBjOWI2ZTkzZjQwNjJhMjAzYzQzNGFlYzUwNjgwZDlmMGQwMjhiN2MwOTEyNTczOCJ9fX0="
name: "<blue>Next Page"
# Back to main menu button
back-to-main:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmVlZjdlNTZjZGU3NDA3NzJkZmI3NmRkZDJmNTg0YmU4OTA3Yjg1OTc2NjhlNDAyNjM0OTg2NDY5MjMwYWE0OSJ9fX0="
name: "<gradient:#5555FF:#55FFFF>Back to Main Menu</gradient>"
# Upgrade button - upgrades the current vault
upgrade-button:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTg4MTQ5ZTU2Y2RlMDJlZWU2MjA5ODI4ODRiODkzNjM0NzU2YmU5MTQxZjJlMjc3N2I1MWNiMGE2NmMzMWRjZSJ9fX0="
name: "<gradient:#FFAA00:#FFFF55>Upgrade Vault</gradient>"
lore:
- "<gray>Current: {current_slots} slots"
- "<gray>Next: {next_slots} slots"
- "<gold>Cost: ${upgrade_cost}"
- "<gray>Click to upgrade this vault"
# Fully upgraded button - shown when vault is at max level
fully-upgraded:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2Q2MDUzNGUyMmUzNzE0NzVkNTQzNGQwZjQ5YWUwNThkMzk0MWIwM2E3YzUwYTZlZWYyOTYyMGM2OTI3NzhlMCJ9fX0="
name: "<rainbow> Vault Fully Upgraded </rainbow>"
lore:
- "<gray>This vault is at maximum size"
- "<gray>Slots: {current_slots}"
# Close button - closes the menu
close-button:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTA2NTM2Y2I2ZGUwZDA4YzJkNzAxMjg1NGVmYTI4MTYyMjUxZWU2ZTlmODFmZTZjY2MyOTk4M2M4NDVkNmI1In19fQ=="
name: "<red>Close"
# Filler items - decorative items that fill empty slots
filler:
material: GRAY_STAINED_GLASS_PANE
name: " "
#
# This file controls the appearance and layout of the vault GUIs
# You can customize materials, names, positions, and head textures
#
# Placeholders:
# {player} - Replaced with the player's name
# {number} - Replaced with the vault number
# {current_slots} - Replaced with current vault slot count
# {next_slots} - Replaced with next upgrade slot count
# {upgrade_cost} - Replaced with the cost to upgrade
# {total_vaults} - Replaced with total number of vaults
# {total_upgrade_level} - Replaced with total upgrade level
# {total_slots} - Replaced with total slot count
# {used_slots} - Replaced with used slot count
# Main menu settings
main-menu:
# Menu title - supports MiniMessage formatting
title: "<gradient:#6374FF:#2483FF><b>Vault's Menu</b></gradient>"
# Vault button - opens the vault selection menu
vault-button:
slot: 12
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTZkN2ZkYjUwZjE0YzczMWM3MjdiMGUwZDE4OWI2YTg3NDMxOWZjMGQ3OWM4YTA5OWFjZmM3N2M3YjJkOTE5NiJ9fX0="
name: "<gradient:#6374FF:#2483FF><b>Vaults</b></gradient>"
# Info button - displays plugin information
info-button:
slot: 14
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTcxYTIyODVjOTFjNmM3Mjc0NzYwNDgxOWVlNTIyM2E5MGFhNTFlNmU3OWU0ZjlhZjY2MjhlYzhmMGRkN2RmYyJ9fX0="
name: "<gradient:#FF5555:#FFAA00>Information</gradient>"
lore:
- "<gray>SRVaults Plugin Information"
- ""
- "<gray>This plugin provides personal"
- "<gray>storage vaults for players."
- ""
- "<#FF5555>Use <#55FF55>/vault <#5555FF>to access your vaults."
- "<gradient:#5e4fa2:#f79459>Premium Features Included</gradient>"
# Player stats - displays player statistics
stats-button:
slot: 4
name: "<gradient:#55FF55:#AAFFAA>{player}'s Stats</gradient>"
# Close button - closes the menu
close-button:
slot: 22
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmVlZjdlNTZjZGU3NDA3NzJkZmI3NmRkZDJmNTg0YmU4OTA3Yjg1OTc2NjhlNDAyNjM0OTg2NDY5MjMwYWE0OSJ9fX0="
name: "<b><gradient:#E35327:#E35327>✖ C</gradient><gradient:#E35327:#A24608>lose</gradient></b>"
# Filler items - decorative items that fill empty slots
filler:
material: GRAY_STAINED_GLASS_PANE
name: " "
# Vault menu settings
vault-menu:
# Menu title - supports MiniMessage formatting
# Placeholders: {player}, {number}
title: "<gradient:#55FF55:#AAFFAA>Vault</gradient> #{number}"
# Locked item settings
locked-item:
# Lore text that identifies locked items
lore: "<red>Locked Item - Cannot be moved"
# Navigation elements at the bottom of the vault menu
navigation:
# Previous page button - navigates to previous vault
previous-button:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzk2MTcwMjJjZjlhMWQ1YTg2MDZjMDZlMzg5NGMzMTA4NzRkZmFkMjc2OTA3OTNkNjc1NjkwMTY1OGM2ZTA2NCJ9fX0="
name: "<blue>Previous Page"
# Next page button - navigates to next vault
next-button:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDE1Y2U4NDQ4YWNiZDhlNjBjOWI2ZTkzZjQwNjJhMjAzYzQzNGFlYzUwNjgwZDlmMGQwMjhiN2MwOTEyNTczOCJ9fX0="
name: "<blue>Next Page"
# Back to main menu button
back-to-main:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmVlZjdlNTZjZGU3NDA3NzJkZmI3NmRkZDJmNTg0YmU4OTA3Yjg1OTc2NjhlNDAyNjM0OTg2NDY5MjMwYWE0OSJ9fX0="
name: "<gradient:#5555FF:#55FFFF>Back to Main Menu</gradient>"
# Upgrade button - upgrades the current vault
upgrade-button:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTg4MTQ5ZTU2Y2RlMDJlZWU2MjA5ODI4ODRiODkzNjM0NzU2YmU5MTQxZjJlMjc3N2I1MWNiMGE2NmMzMWRjZSJ9fX0="
name: "<gradient:#FFAA00:#FFFF55>Upgrade Vault</gradient>"
lore:
- "<gray>Current: {current_slots} slots"
- "<gray>Next: {next_slots} slots"
- "<gold>Cost: ${upgrade_cost}"
- "<gray>Click to upgrade this vault"
# Fully upgraded button - shown when vault is at max level
fully-upgraded:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2Q2MDUzNGUyMmUzNzE0NzVkNTQzNGQwZjQ5YWUwNThkMzk0MWIwM2E3YzUwYTZlZWYyOTYyMGM2OTI3NzhlMCJ9fX0="
name: "<rainbow> Vault Fully Upgraded </rainbow>"
lore:
- "<gray>This vault is at maximum size"
- "<gray>Slots: {current_slots}"
# Close button - closes the menu
close-button:
material: PLAYER_HEAD
head-id: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTA2NTM2Y2I2ZGUwZDA4YzJkNzAxMjg1NGVmYTI4MTYyMjUxZWU2ZTlmODFmZTZjY2MyOTk4M2M4NDVkNmI1In19fQ=="
name: "<red>Close"
# Filler items - decorative items that fill empty slots
filler:
material: GRAY_STAINED_GLASS_PANE
name: " "
Performance & Security
- Async database operations
- Crash-safe persistence
- Smart caching
- Thread-safe operations
- Dupe prevention
- Optimized for large servers
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
SR Vaults | Flexible & Upgradeable Player Storage | 1.21+ is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 41 times (via Spigot). Download it and open it directly in the game.