Skip to content

Advanced Personal Storage Solution for Minecraft Servers (Spigot/Paper/PurPur).

License

Notifications You must be signed in to change notification settings

Souldevhub/SRVaults

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SRVaults

Advanced Personal Storage Solution for Minecraft Servers

GitHub release GitHub issues GitHub stars License

SRVaults is a premium Minecraft plugin that provides players with personal storage vaults. With customizable permissions, upgradeable vaults, and an intuitive GUI, it's the perfect solution for any server looking to enhance player storage options.

Discord SupportGitHub RepositoryBuy Me a Coffee

🌟 Features

  • Personal Storage Vaults - Each player gets their own private vaults
  • Permission-Based System - Control vault access with flexible permissions
  • Upgradeable Vaults - Players can upgrade their vaults for more slots
  • Economy Integration - Charge players for vault upgrades (requires Vault)
  • Customizable GUI - Fully customizable menus with MiniMessage support
  • Multi-Vault System - Players can have multiple vaults
  • Data Persistence - All vault data is saved and restored between sessions
  • Performance Optimized - Efficient code with caching for smooth gameplay
  • PlaceholderAPI Support - Integrate vault information into other plugins
  • Multiple Command Aliases - Use /vault, /v, or /pv to open your vaults
  • Geyser Compatibility - Custom skull support for Bedrock players
  • Bedrock Friendly - Fully compatible with Geyser/MCBE players
  • Async Database Operations - Non-blocking database operations for optimal performance
  • Preloading System - Loads player data on join for instant vault access

📋 Requirements

  • Server Software: Paper/Purpur 1.16.5 or higher (1.21.8 recommended)
  • Java: Java 17 or higher
  • Dependencies:
    • Vault (Optional - for economy features)
    • PlaceholderAPI (Optional - for placeholders)
    • LuckPerms (Optional - for advanced permissions)
    • Geyser (Optional - for Bedrock compatibility)

🚀 Installation

  1. Download the latest SRVaults.jar from the releases page
  2. Place the jar file in your server's plugins folder
  3. Restart your server
  4. Configure the plugin in plugins/SRVaults/ as needed
  5. Reload the plugin with /vault reload

🎮 Commands

Command Permission Description
/vault srvaults.player Open your personal vaults
/vault help srvaults.player Show player help
/vault <number> srvaults.player Open a specific vault
/vault reload srvaults.admin Reload plugin configuration
/vault add <player> <amount> srvaults.admin Add vaults to a player
/vault ahelp srvaults.admin Show admin help
/vault debug <on/off> srvaults.admin Enable/disable debug mode
/vault eco srvaults.admin Show economy status
/v srvaults.player Alias for /vault
/pv srvaults.player Alias for /vault

🔐 Permissions

Permission Description Default
srvaults.player Basic permission to use player features true
srvaults.admin Access to all administrative commands op
srvaults.default.# Sets default number of vaults for a player (e.g., srvaults.default.5) -
srvaults.max.# Sets maximum number of vaults a player can have (e.g., srvaults.max.10) -

⚙️ Configuration

Main Configuration (config.yml)

# Debug mode - enables detailed logging
debug: false

# Autosave interval in seconds (0 to disable)
autosave-interval: 60

# Default settings for vaults
settings:
  # Default number of vaults a player gets
  default-vaults: 1
  
  # Default number of slots in a vault when first created
  default-vault-slots: 9
  
  # Maximum slots a vault can be upgraded to
  max-vault-slots: 54
  
  # Maximum number of vaults a player can have (0 for unlimited)
  max-vaults: 0

# Vault upgrade settings
upgrades:
  # Slot counts for each upgrade level
  levels:
    - 9   # Level 1 (default)
    - 18  # Level 2
    - 27  # Level 3
    - 36  # Level 4
    - 45  # Level 5
    - 54  # Level 6 (max)
  
  # Cost to upgrade to next level (if using an economy plugin)
  cost-per-level: 15

GUI Configuration (pv-gui.yml)

The plugin features a fully customizable GUI system with support for MiniMessage formatting:

main-menu:
  title: "<gradient:#6374FF:#2483FF><b>Vault's Menu</b></gradient>"
  stats-button:
    slot: 4
    name: "<gradient:#55FF55:#AAFFAA>{player}'s Stats</gradient>"

vault-menu:
  title: "<gradient:#55FF55:#AAFFAA>Vault</gradient> #{number}"
  
  navigation:
    previous-button:
      name: "<blue>Previous Page"
    
    next-button:
      name: "<blue>Next Page"
    
    back-to-main:
      name: "<gradient:#5555FF:#55FFFF>Back to Main Menu</gradient>"
    
    upgrade-button:
      name: "<gradient:#FFAA00:#FFFF55>Upgrade Vault</gradient>"
      lore:
        - "<gray>Current: {current_slots} slots"
        - "<gray>Next: {next_slots} slots"
        - "<gold>Cost: ${upgrade_cost}"
    
    fully-upgraded:
      name: "<rainbow> Vault Fully Upgraded </rainbow>"
      lore:
        - "<gray>This vault is at maximum size"
        - "<gray>Slots: {current_slots}"

📈 Performance & Compatibility

SRVaults is designed with performance and compatibility in mind:

  • SQLite Database: Uses SQLite for efficient data storage
  • Async Operations: Database operations are performed asynchronously to prevent server lag
  • Memory Efficient: Implements smart caching to reduce memory usage
  • Thread Safe: All operations are thread-safe to prevent data corruption
  • Bedrock Compatible: Fully compatible with Geyser/MCBE players
  • Large Server Ready: Optimized for servers with many players
  • Preloading System: Loads player data on join for instant vault access

🛡️ Security Features

  • Data Safety: All vault data is saved immediately when inventories are closed
  • Crash Protection: Data persistence is designed to be crash-safe
  • Dupe Prevention: Implements multiple safeguards against item duplication
  • Input Sanitization: All user inputs are sanitized to prevent exploits

🆘 Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with a detailed description of your problem
  3. Include your server version, plugin version, and any relevant error messages
  4. Join our Discord Server for real-time support
  5. See SUPPORT.md for additional ways to get help and support development

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Made with ❤️ by SoulDevHub

About

Advanced Personal Storage Solution for Minecraft Servers (Spigot/Paper/PurPur).

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages