What is NexaVaults?#
A configurable player storage system for personal, shared and seasonal vault workflows.
NexaVaults is a premium vault platform with player vaults, permission progression, upgrades, admin spy, audit logs, snapshots and optional network sync.
Product purpose, target audience, main systems, dependencies and quick links.
A configurable player storage system for personal, shared and seasonal vault workflows.
Survival, SkyBlock, Prison and network owners who need safe player storage with monetizable progression.
Survival, SkyBlock, Prison, SMP and seasonal networks.
Installation gets the plugin to boot. First Setup prepares it for production use.
Recommended first configuration pass after the plugin has generated its files.
Commands, permissions, and usage examples.
/vaultCommandPrimary NexaVaults command.
nexavaults.use
/vault
/vaultadminCommandAdministrative NexaVaults command.
nexavaults.admin
/vaultadmin
Permission nodes are based on plugin.yml. Assign admin and bypass permissions carefully.
/lp group admin permission set nexavaults.admin true/lp group default permission set nexavaults.use trueConfiguration YAML files below contain short bundled default excerpts, not full files. Message YAML is documented only in Messages & Language.
Main runtime settings, license, modules, limits, storage and feature behavior.
config.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from config.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
license-key: "LICENSE"
vaults:
default-size: 54
default-max-vaults: 3
permission-mode: HIGHEST_INCLUDES_PREVIOUS
show-locked-vaults: true
open-cooldown-seconds: 1
delete-confirmation-seconds: 15
save-on-close: true
save-on-shutdown: true
selector-page-size: 21
selector-item-amount-mode: VAULT_NUMBER
default-type: default
features:
buy: true
upgrade: true
renew: true
sharing: true
transfer: true
community-vault: true
search: true
history: true
sorting: true
metadata-editing: true
safety:
prevent-concurrent-open: true
sanitize-on-save: true
blacklist-mode: DISABLED
whitelist-items: []
blacklist-items:
- SHULKER_BOX
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/config.yml to review every setting.
# ...Top-level keyslicense-key, vaults, features, safety, sharing, security
Production handlingBack up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.
Plugin-specific YAML settings used by this product.
vault-types.yml. The generated file contains more options than this docs excerpt.# ...
# Short documentation excerpt from vault-types.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
vault-types:
default:
display-name: "<gold>Default Vault</gold>"
size: 54
price: 0.0
currency: VAULT
share-limit: 3
expires-after-days: -1
interaction-fee: 0.0
recurring-rent: 0.0
recurring-rent-interval-days: 30
mode: NORMAL
premium:
display-name: "<gradient:gold:yellow>Premium Vault</gradient>"
size: 54
price: 25000.0
currency: MONEY
share-limit: 6
expires-after-days: -1
interaction-fee: 0.0
recurring-rent: 0.0
recurring-rent-interval-days: 30
mode: NORMAL
seasonal:
display-name: "<gradient:aqua:white>Season Vault</gradient>"
size: 18
price: 50000.0
currency: MONEY
share-limit: 0
expires-after-days: -1
interaction-fee: 0.0
recurring-rent: 0.0
recurring-rent-interval-days: 30
mode: CLAIM_AFTER_RESET
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/vault-types.yml to review every setting.
# ...Top-level keysvault-types
Production handlingBack up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.
Translation and formatting guidance based on the product's bundled resources.
This product ships messages.yml. Edit the generated copy in the plugin folder, keep placeholders intact, then reload the plugin command or restart for startup-level changes.
<red>Error message</red>
&cLegacy color message
{player} {amount} {reason}messages.yml. The generated file contains more message keys than this docs excerpt.# ...
# Short documentation excerpt from messages.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
prefix: "<gray>[<gold>NexaVaults</gold>]</gray> "
player-only: "<red>Only players can use this command.</red>"
player-not-online: "<red>That player must be online.</red>"
no-permission: "<red>You do not have permission.</red>"
invalid-number: "<red>That vault id is invalid.</red>"
invalid-usage: "<red>Invalid command usage. Check the command format and try again.</red>"
command-error: "<red>That command could not be completed. Check console for details.</red>"
selector-open-command: "<yellow>Use <gold>/vault</gold> to open the selector.</yellow>"
clear-command-renamed: "<yellow>Use <gold>clear</gold> instead of <gold>delete</gold>.</yellow>"
vault-opened: "<green>Opened vault <yellow>%vault%</yellow>.</green>"
open-cooldown: "<red>Please wait <yellow>%seconds%s</yellow> before opening another vault.</red>"
vault-saved: "<green>Saved vault <yellow>%vault%</yellow>.</green>"
vault-deleted: "<green>Cleared vault <yellow>%vault%</yellow>.</green>"
delete-confirm: "<yellow>Run the same clear command again within %seconds%s to confirm.</yellow>"
vault-created: "<green>Created vault <yellow>%vault%</yellow>.</green>"
vault-not-found: "<red>Vault <yellow>%vault%</yellow> does not exist.</red>"
vault-already-exists: "<red>The target player already has that vault number.</red>"
vault-locked: "<red>That vault cannot be opened right now.</red>"
vault-in-use: "<red>That vault is already open elsewhere.</red>"
vault-slot-locked: "<red>That vault slot is locked. Unlock it with permissions or your rank.</red>"
vault-open-blocked: "<red>Vault opening is currently locked by an administrator.</red>"
vault-locked-self: "<red>You already have that vault open.</red>"
vault-list-entry: "<gray>-</gray> <gold>Vault %vault%</gold> <gray>(%used%/%size%)</gray>"
vault-renamed: "<green>Renamed vault <yellow>%vault%</yellow> to <yellow>%name%</yellow>.</green>"
vault-described: "<green>Updated description for vault <yellow>%vault%</yellow>.</green>"
vault-icon-updated: "<green>Updated icon for vault <yellow>%vault%</yellow>.</green>"
vault-pin-updated: "<green>Toggled pin state for vault <yellow>%vault%</yellow>.</green>"
vault-category-updated: "<green>Updated category for vault <yellow>%vault%</yellow> to <yellow>%category%</yellow>.</green>"
share-updated: "<green>Shared vault <yellow>%vault%</yellow> with <yellow>%player%</yellow> as <yellow>%role%</yellow>.</green>"
share-removed: "<green>Removed <yellow>%player%</yellow> from vault <yellow>%vault%</yellow>.</green>"
share-self: "<red>You cannot share a vault with yourself.</red>"
share-not-found: "<red>That player does not have access to this vault.</red>"
reload-complete: "<green>NexaVaults configuration and menus reloaded.</green>"
search-header: "<gold>Search results for:</gold> <yellow>%query%</yellow>"
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/messages.yml to review every setting.
# ...GUI cards describe the actual menus available in this product build.
Admin vault inspection menu for opening and reviewing another player's vault safely.
Admin | %owner% | %name%Player vault inventory where the owner stores and manages personal vault contents.
%name%Shared vault inventory for storage that can be accessed by allowed players or groups.
%owner% | %name%Vault selector menu for choosing which personal or shared vault to open.
Vault Selector (%page%/%max_page%)PlaceholderAPI examples available for this product.
Identifier: nexavaults. The expansion covers maximum vaults, used vaults, free vault slots and premium feature state.
| Placeholder | Example output | Description |
|---|---|---|
%nexavaults_vaults_max% | 3 | Returns the player's maximum vault count. |
%nexavaults_vaults_used% | 1 | Returns the number of vaults currently used. |
%nexavaults_vaults_free% | 2 | Returns remaining available vault slots. |
%nexavaults_premium_enabled% | true | Returns premium vault feature state. |
Storage docs explain YAML, SQLite, MySQL, MariaDB and backup expectations when supported.
Use single-server SQL/H2/SQLite style storage for a single server. Use MySQL and Redis when network synchronization is enabled and tested.
Each integration explains purpose, required/optional status, setup steps and troubleshooting.
Purpose: Provides economy withdrawals, deposits, prices, banks or metadata through Vault.
Troubleshooting: If balances, rewards or banks do not work, confirm Vault has an active economy provider and that no economy plugin loads after this product.
Purpose: Registers or consumes PlaceholderAPI values for scoreboards, formats and external displays.
Troubleshooting: If values stay blank, reload expansions and verify the identifier exactly matches the placeholder shown in this docs page.
Purpose: Synchronizes runtime state between servers in a network setup.
Troubleshooting: If sync fails, verify server ids are unique, secrets match and the Redis/proxy channel is reachable from every server.
Purpose: Provides persistent storage for player data, stats, transactions, vaults or network state.
Troubleshooting: If storage fails, copy the first SQL error, then verify credentials, database permissions, driver availability and firewall access.
Purpose: Provides persistent storage for player data, stats, transactions, vaults or network state.
Troubleshooting: If storage fails, copy the first SQL error, then verify credentials, database permissions, driver availability and firewall access.
Purpose: Connects this product to another Nexa plugin so team, chat, combat, shop or vault state can be reused.
Troubleshooting: If the Nexa bridge does not react, confirm both plugin versions are compatible and that the shared module/hook is enabled on the same server.
Purpose: Connects this product to another Nexa plugin so team, chat, combat, shop or vault state can be reused.
Troubleshooting: If transactions fail, verify the currency id, provider startup order and whether the player has enough balance or inventory space.
Open, edit, save and reopen one vault before enabling sharing or upgrades.
/vault (aliases /pv, /v, /cv) and select a vault.Make personal storage and presentation options predictable to players.
Roll out viewer, member, manager and ownership policies separately.
Protect vault contents during upgrades, sharing changes and migrations.
vaults: save-on-close: true anti-dupe: true audit-log: true sharing: require-confirmation: true upgrades: require-permission: trueVault operation is permission/feature based: open → select → edit → save → share/upgrade.
/vault (aliases /pv, /v, /cv) and choose a vault from the selector.vaults:
default-size: 54
default-max-vaults: 3
permission-mode: HIGHEST_INCLUDES_PREVIOUS
save-on-close: true
save-on-shutdown: true
safety:
prevent-concurrent-open: true
sanitize-on-save: trueMap rank permissions to vault count and size, test upgrade/revoke behavior, then use a seasonal migration plan. Never lower a vault size without deciding what happens to items outside the new capacity.
Ready-to-follow scenarios reduce support tickets and make the product easier to configure.
Use conservative defaults, SQLite or simple file storage, readable messages and relaxed limits for community servers.
Map permissions to progression tiers, test upgrades, then document reset or season migration behavior.
Apply this setup by editing the related config files, assigning permissions and testing the full player workflow.
Map permissions to progression tiers, test upgrades, then document reset or season migration behavior.
Use production SQL, unique server IDs, shared sync secrets and a controlled Redis or proxy transport.
Start with console logs, config diffs, plugin version and reproduction steps.
Confirm the player has vault permission, the team/player vault exists and the menu/storage layer did not fail during startup.
Check vault close/save errors, item serialization compatibility and whether the server shuts down before async saves finish.
Confirm admin spy/edit permission and whether the target vault is locked by another viewer or storage operation.
Check the upgrade tier order, economy provider, permission multipliers and configured price path.
Verify host, port, database name, credentials, firewall access and the storage type in the generated YAML file.
Verify snapshots are enabled, snapshot storage exists and the restore target vault is not open during restore.
Short answers for common buyer and staff questions.
No Folia claim is made for this product page. Run it on the server target listed in Overview.
This page targets Paper 1.21 with Java 21. Legacy 1.8 support is not part of this docs page.
Use single-server SQL/H2/SQLite style storage for a single server. Use MySQL and Redis when network synchronization is enabled and tested.
This product has a small runtime surface; use the listed YAML files and commands rather than a module system.
Yes. Edit messages.yml and reload or restart according to the setting changed.
Yes. The documented identifier and examples are listed in the Placeholders section.
Product release notes grouped by version. Major public changes are written for buyers and server owners, not as raw commit logs.
Latest documented update: 2026-04-28.
Send enough information to reproduce the issue.
Plugin: NexaVaults
Plugin version:
Server version:
Java version:
Server software:
Database type:
Installed hooks:
Error log:
Steps to reproduce:
Expected behavior:
Screenshots/video: