π₯₯CocoVaults
CocoVaults-Premium is an advanced and powerful virtual vault plugin for Minecraft servers. This premium plugin provides players with personal storage containers accessible from anywhere, featuring multiple storage backends, advanced caching systems, database integrity checks, and comprehensive administrative tools for optimal performance.
Main Features
π¦ Advanced Virtual Storage System
Personal Vaults: Each player gets their own set of virtual storage containers
GUI Management: Intuitive graphical interface for vault access and management
Unlimited Capacity: Each vault provides 54 slots of storage (double chest size)
Permission-based System: Configure vault quantity and access based on player permissions
Vault Unlocking: Special permission system for unlocking specific vault numbers
πΎ Multiple Storage Backends
YAML: Simple file-based storage for small servers
JSON: Modern file-based storage with better performance
SQLite: Local database storage for better reliability
MySQL: Remote database storage for multi-server setups
MariaDB: Alternative MySQL-compatible database support
Connection Pooling: Advanced database connection management
β‘ Premium Performance Features
Smart Caching: Intelligent cache system with automatic expiration
Async Operations: Non-blocking database operations for optimal performance
Database Integrity: Automatic data corruption detection and recovery
Backup System: Automatic data backup and recovery mechanisms
Cache Maintenance: Automated cache cleanup and optimization
π¨ Advanced Customization & Management
Custom Vault Icons: Players can personalize their vault appearances
Vault Renaming: Custom names with color code support
Item Blacklist: Prevent specific items from being stored
Admin Tools: Complete administrative control over player vaults
Cooldown System: Configurable vault access cooldowns
Configuration
Complete Configuration File
Configuration Options
Storage Settings
Storage-Mode
Mode:
YAML/JSON/SQLite/MySQL/MariaDB- Choose your preferred storage backendYAML: Simple file-based storageJSON: Optimized file-based storageSQLite: Local database storageMySQL: Remote MySQL databaseMariaDB: Remote MariaDB database
Connection-Pool-Settings (Database only)
max-connections:
20- Maximum simultaneous database connectionsmin-idle:
5- Minimum inactive connections to maintainconnection-timeout:
30000- Maximum wait time for connection (milliseconds)max-lifetime:
1800000- Maximum lifetime of a connection (milliseconds)
Database Configuration
MySQL-Data / MariaDB-Data:
host: Database server hostname
port: Database server port (3306 for MySQL, 3310 for MariaDB)
name: Database name
user: Database username
password: Database password
SQLite-Data:
file:
Storage/database.db- Path to SQLite database file
Plugin Permissions
Permission Nodes
ALL:
cocovaults.*- All plugin permissionsOpen-Vaults:
cocovaults.open- Permission to open vaultsAdmin-Vaults:
cocovaults.admin- Administrative vault accessChange-Icons:
cocovaults.icons- Permission to change vault iconsRename:
cocovaults.rename- Permission to rename vaultsRename-Color:
cocovaults.rename.color- Permission to use color codes in namesGUI-Access:
cocovaults.gui- Permission to access GUI
Plugin Messages
All plugin messages support MiniMessage formatting and include:
Prefix: Plugin message prefix with color formatting
No-Perms: No permission message
No-Subcmd: Invalid subcommand message
No-Player-Found: Player not found message
Reloading: Plugin reload in progress message
Reloaded-Success: Successful reload message
Only-players: Player-only command message
Full-Space: Vault full message
No-More-Vaults: Maximum vaults reached message
No-Admin: No admin permission message
Blacklisted-Item: Blacklisted item message
Opened-Vault: Vault opened message (supports
%vault%variable)Changed-Icon: Icon changed message
Analysis-Error: Error analysis message
Saved-Vault: Vault saved message
Invalid-Material: Invalid material message
Vault-Deleted: Vault deleted message
Vault-Restored: Vault restored message
Data-Loading-Error: Data loading error message
Data-Loading-Please-Wait: Data loading wait message
GUI-Item-Name: GUI item display name (supports
%vault%variable)Vault-Closed-Due-To-Inactivity: Inactivity closure message
No-Valid-Count-Give: Invalid vault count message
Gived-Vaults: Vaults given message (supports
%count%and%player%variables)Conversion-Started: Conversion start message
Conversion-Complete: Conversion complete message (supports
%vaults%and%players%variables)Import-Confirmation: Import confirmation message
Specify-Vault: Specify vault message
Vault-Renamed: Vault renamed message (supports
%vault%variable)Invalid-Vault: Invalid vault message
Removed-Vaults: Vaults removed message (supports
%count%and%player%variables)No-Valid-Count-Remove: Invalid remove count message
Not-Enough-Vaults-To-Remove: Insufficient vaults message (supports
%current%and%requested%variables)Vault-Removed: Single vault removed message (supports
%vault%variable)Additional-Vaults-Updated: Vault count updated message (supports
%current%variable)Vault-Closed-Due-To-Deletion: Vault deleted by admin message
Storage-Mode-Invalid: Invalid storage mode message
Opened-Vault-Admin: Admin vault access message (supports
%Vault%and%Player%variables)Vault-Closed: Vault closed message
Wait-Cooldown: Cooldown wait message (supports
%seconds%variable)Import-Not-Possible: Import failed message
Vault-Locked-By-Admin: Admin locked vault message
Vault-Updated-By-Admin: Admin updated vault message
Vault-Locked: Locked vault access message
GUI Settings
GUI Names
Vault-List-GUI:
<black>CocoVaults GUI - Page %page%- Main GUI title (supports%page%variable)GUI-Item-Name:
<white>CocoVault <green>%vault%- Vault item name (supports%vault%variable)Player-Vault:
<black>CocoVault %vault%- Individual vault title (supports%vault%variable)Next-Page-Button:
<white>Next Page β‘- Next page button textPrevious-Page-Button:
<white>β¬ Previous Page- Previous page button text
GUI Items
Default-Vault:
CHEST- Default vault icon materialLore-Vaults: List of lore lines for vault items (supports
%usage%and%free%variables)Decoration:
BLACK_STAINED_GLASS_PANE- GUI decoration itemNext-Page-Item:
ARROW- Next page button materialPrevious-Page-Item:
ARROW- Previous page button material
Miscellaneous Settings
Misc-Settings
Max-Vaults:
100- Maximum number of vaults per playerOpen-Cooldown:
1- Cooldown in seconds between vault openings (-1 to disable, accepts decimals)Close-Opens-Main-GUI:
false- Whether closing a vault opens the main GUIOpen-Sound:
BLOCK_ENDER_CHEST_OPEN- Sound played when opening a vaultClose-Sound:
BLOCK_ENDER_CHEST_CLOSE- Sound played when closing a vault
Item Blacklist
Item-BlackList
List of materials that cannot be stored in vaults:
Example items:
DIAMOND_BLOCK,DIAMONDSupports any valid Minecraft material name
Case-sensitive material names
Commands
/cocovaults or /cv
/cocovaults or /cvMain command for all vault operations.
Basic Commands
/cv
Description: Open the vault GUI
Permission:
cocovaults.openUsage:
/cvor/cocovaults
/cv <number>
Description: Open a specific vault by number
Permission:
cocovaults.openUsage:
/cv 1,/cv 5Note: Vault number must be within player's limit or unlocked
/cv reload
Description: Reload plugin configuration
Permission:
cocovaults.adminUsage:
/cv reload
Administrative Commands
/cv admin <player> <vault>
Description: Open another player's vault (admin mode)
Permission:
cocovaults.adminUsage:
/cv admin PlayerName 1Effect: Opens player's vault with admin access
/cv give <player> <amount>
Description: Give additional vaults to a player
Permission:
cocovaults.adminUsage:
/cv give PlayerName 5Effect: Adds extra vaults to player's limit
/cv remove <player> <amount>
Description: Remove vaults from a player
Permission:
cocovaults.adminUsage:
/cv remove PlayerName 2Effect: Reduces player's vault count
/cv delete <player> <vault>
Description: Delete a specific vault
Permission:
cocovaults.adminUsage:
/cv delete PlayerName 3Effect: Permanently deletes the specified vault
/cv rename <vault> <name>
Description: Rename a vault
Permission:
cocovaults.renameUsage:
/cv rename 1 "My Storage"Effect: Changes vault display name
/cv icon <vault>
Description: Change vault icon to held item
Permission:
cocovaults.iconsUsage: Hold desired item and use
/cv icon 1Effect: Changes vault icon in GUI
/cv convert playervaultsx
Description: Import data from PlayerVaultsX
Permission:
cocovaults.adminUsage:
/cv convert playervaultsxEffect: Migrates data from PlayerVaultsX plugin
/cv storage <mode>
Description: Switch storage backend
Permission:
cocovaults.adminUsage:
/cv storage JSON,/cv storage MySQLEffect: Changes active storage system
Permissions
Basic Permissions
cocovaults.open
Open personal vaults
All Players
cocovaults.gui
Access vault GUI
All Players
cocovaults.rename
Rename vaults
All Players
cocovaults.rename.color
Use color codes in vault names
All Players
cocovaults.icons
Change vault icons
All Players
Administrative Permissions
cocovaults.admin
All administrative functions
OP
cocovaults.*
All plugin permissions
OP
Vault Quantity Permissions
cocovaults.quantity.<number>
Access to specific number of vaults
None
cocovaults.unlocked.<number>
Unlock specific vault number
None
Examples:
cocovaults.quantity.5- Player can have 5 vaultscocovaults.quantity.20- Player can have 20 vaultscocovaults.unlocked.50- Player can access vault #50 specifically
Available Variables
In messages and GUI elements you can use the following variables:
%vault%- Vault number or name%player%- Player name%page%- GUI page number%usage%- Number of used slots in vault%free%- Number of free slots in vault%count%- Count of vaults%current%- Current number of vaults%requested%- Requested number of vaults%vaults%- Total vaults converted%players%- Total players processed%seconds%- Cooldown time in seconds%Vault%- Vault number (capitalized)%Player%- Player name (capitalized)
Premium Features
Database Integrity System
Corruption Detection: Automatic detection of corrupted vault data
Data Recovery: Automatic recovery from backup data
Integrity Verification: Real-time data integrity checks
Backup Creation: Automatic backup before critical operations
Advanced Caching
Smart Cache: Intelligent caching with automatic expiration
Cache Versioning: Version control for cache consistency
Memory Optimization: Efficient memory usage with cleanup
Thread Safety: Concurrent access protection
Connection Management
Connection Pooling: Optimized database connection pooling
Connection Monitoring: Real-time connection health checks
Auto-reconnection: Automatic reconnection on connection loss
Connection Limits: Configurable connection limits
Administrative Tools
Vault Locking: Temporary vault locking during admin edits
Real-time Updates: Live updates when admins modify vaults
Data Migration: Easy migration between storage backends
Import/Export: Data import from other vault plugins
Storage Backend Comparison
File-based Storage
YAML
β Simple configuration
β Human-readable format
β Slower performance
β Limited scalability
JSON
β Better performance than YAML
β Lightweight format
β Good for small-medium servers
β Limited multi-server support
Database Storage
SQLite
β No external dependencies
β Better performance than files
β ACID compliance
β Single-server limitation
MySQL/MariaDB
β Multi-server support
β Excellent performance
β Advanced features
β Professional scalability
β Requires external database
How It Works
Vault Access System
Permission Check: Verifies player has access to requested vault
Cache Validation: Checks if vault data is cached and valid
Data Loading: Loads vault data from storage if needed
Integrity Verification: Verifies data integrity (Premium feature)
GUI Creation: Creates and displays vault interface
Activity Tracking: Tracks player activity for inactivity management
Caching System
Smart Loading: Loads vault data on demand
Cache Validation: Automatic cache expiration and validation
Memory Management: Intelligent memory cleanup
Thread Safety: Concurrent access protection
Data Synchronization: Real-time data synchronization
Database Operations
Connection Pooling: Efficient connection management
Async Operations: Non-blocking database operations
Integrity Checks: Data corruption detection and recovery
Backup Management: Automatic backup creation and restoration
Migration Tools: Easy data migration between backends
Installation
Basic Installation
Download CocoVaults-Premium plugin
Place the
.jarfile in your server'splugins/folderRestart the server
Configure the generated
config.ymlfileSet up permissions as needed
Use
/cv reloadto apply changes
Database Setup (Optional)
MySQL/MariaDB Setup
Create a database for CocoVaults
Create a user with appropriate permissions
Configure database settings in config:
Reload the plugin to activate database storage
SQLite Setup
Configure SQLite in config:
Reload the plugin to create the database file
Migration from Other Plugins
Install CocoVaults-Premium
Use the import command:
/cv convert playervaultsxVerify data migration was successful
Remove the old vault plugin
Troubleshooting
Common Issues
Vaults not loading
Check storage backend configuration
Verify database connection settings
Check server logs for error messages
Ensure proper permissions are set
Database connection errors
Verify database server is running
Check connection settings in config
Ensure database user has proper permissions
Check network connectivity
Permission issues
Verify permission nodes are correctly set
Check vault quantity permissions
Ensure players have basic access permissions
Test with admin permissions first
Performance issues
Check cache settings and expiration
Monitor database connection pool
Review server resources
Consider storage backend upgrade
Debug Information
Plugin logs important events to console
Configuration validation on startup
Database connection monitoring
Cache performance metrics
Performance Optimization
Recommended Settings
Small Servers (1-50 players)
Medium Servers (50-200 players)
Large Servers (200+ players)
Support
For support, bug reports, or feature requests:
Discord: https://fruitforge.com/discord
Premium plugin developed by FruitForge Studio
Last updated