Overview
HytaleVault is a personal numbered vault storage plugin for Hytale servers. It provides players with expandable, multi-slot storage containers that can be progressively unlocked and managed by administrators.
Key Features
- Up to 9 numbered vaults per player
- 54 storage slots per vault (configurable)
- Intuitive vault selector UI with statistics
- Progressive vault unlocking via permissions
- Admin commands to grant, set, or clear vaults
- JSON-based persistent storage with auto-save
- Thread-safe Developer API
Installation
- Download HytaleVault from your BuiltByBit purchase
- Stop your Hytale server
- Place the JAR file in your server's
mods/directory - Start your server
- Configure the plugin in
mods/HytaleVault/config.json - Use
/vaultadmin reloadto apply changes
Requirements: Hytale Server, Java 25+
Commands
Player Commands
| Command | Description |
|---|---|
/vault | Open the vault selector UI |
/vault <number> | Open a specific vault (1-9) |
/v | Alias for /vault |
/vaultinfo | Display vault statistics |
Admin Commands
| Command | Description |
|---|---|
/vaultadmin | Open the admin panel UI |
/vaultadmin give <player> <amount> | Grant additional vaults to a player |
/vaultadmin set <player> <amount> | Set a player's total vault count |
/vaultadmin clear <player> | Clear all items from a player's vaults |
/vaultadmin reload | Reload configuration from disk |
Permissions
Vault Access Permissions
| Permission | Description | Default |
|---|---|---|
hytalevault.vault.1 | Access vault 1 | true |
hytalevault.vault.2 | Access vault 2 | false |
hytalevault.vault.3 | Access vault 3 | false |
| ... | ... | ... |
hytalevault.vault.9 | Access vault 9 | false |
hytalevault.vault.* | Access all vaults (wildcard) | false |
Admin Permissions
| Permission | Description |
|---|---|
hytalevault.admin | Access to all admin commands |
Permission-Based Unlocking
Players unlock vaults by being granted the corresponding permission. This integrates well with rank systems - simply add vault permissions to your ranks:
- Default:
hytalevault.vault.1 - VIP:
hytalevault.vault.2,hytalevault.vault.3 - MVP:
hytalevault.vault.*(all vaults)
Configuration
Main configuration file: mods/HytaleVault/config.json
Vault Settings
{
"vault": {
"defaultVaults": 1,
"maxVaults": 9,
"slotsPerVault": 54
}
}defaultVaults- Starting vaults for new players (default: 1)maxVaults- Maximum vaults per player (default: 9)slotsPerVault- Storage slots per vault (default: 54)
Storage Settings
{
"storage": {
"type": "json",
"directory": "playerdata",
"saveIntervalSeconds": 300
}
}type- Storage backend (currently JSON)directory- Subdirectory for player data filessaveIntervalSeconds- Auto-save interval (default: 300 = 5 minutes)
Customizable Messages
{
"messages": {
"vaultOpened": "&aOpened Vault #%vault%",
"vaultUnlocked": "&aYou have unlocked Vault #%vault%!",
"noPermission": "&cYou don't have permission to access this vault!",
"playerNotFound": "&cPlayer not found!",
"vaultsGranted": "&aGranted %amount% vaults to %player%",
"vaultsSet": "&aSet %player%'s vaults to %amount%",
"vaultsCleared": "&aCleared all vaults for %player%"
}
}Developer API
HytaleVault provides a thread-safe API for other plugins to integrate with vault storage.
Getting the API
VaultAPI api = VaultAPI.getInstance();Vault Access Methods
// Get a player's vault data
PlayerVault vault = api.getVault(player);
PlayerVault vault = api.getVault(uuid);
// Check how many vaults a player has unlocked
int unlocked = api.getUnlockedVaults(uuid);
// Check if a specific vault is unlocked
boolean hasVault3 = api.isVaultUnlocked(uuid, 3);
// Grant additional vaults to a player
api.grantVaults(uuid, 2); // Grants 2 more vaultsItem Management
// Get an item from a vault
ItemStack item = api.getItem(uuid, vaultNumber, slot);
// Set an item in a vault
api.setItem(uuid, vaultNumber, slot, itemStack);
// Get total items stored across all vaults
int totalItems = api.getTotalItems(uuid);
// Force save a player's vault data
api.saveVault(uuid);Configuration Access
// Get configuration values
int maxVaults = api.getMaxVaults();
int slotsPerVault = api.getSlotsPerVault();Thread Safety: All VaultAPI methods are thread-safe and can be called from async tasks.