{"id":63858,"date":"2026-06-03T19:25:52","date_gmt":"2026-06-03T16:25:52","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/"},"modified":"2026-06-03T19:25:52","modified_gmt":"2026-06-03T16:25:52","slug":"enderchestvault","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/","title":{"rendered":"EnderChestVault"},"content":{"rendered":"<p>****** EnderChestVault &#8211; Complete Plugin Documentation<\/p>\n<p>&#8212;<\/p>\n<p> \ud83d\udccb Overview<\/p>\n<p>**EnderChestVault** is a premium-quality, open-source Minecraft plugin that completely replaces and enhances the vanilla Ender Chest system with a powerful, customizable, and persistent storage solution.<\/p>\n<p>| Property | Value |<br \/>\n|&#8212;&#8212;&#8212;-|&#8212;&#8212;-|<br \/>\n| **Plugin Name** | EnderChestVault |<br \/>\n| **Version** | 1.0.0 |<br \/>\n| **Minecraft Versions** | 1.21.1 &#8211; 1.21.11 |<br \/>\n| **Server Software** | Paper, Spigot, Purpur |<br \/>\n| **Java Version** | Java 21+ |<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udfaf What Does This Plugin Do?<\/p>\n<p>EnderChestVault intercepts vanilla Ender Chest interactions and replaces them with a **custom GUI-based vault system** that offers:<\/p>\n<p>&#8211; **Variable storage sizes** based on player permissions<br \/>\n&#8211; **Multiple database backends** for data persistence<br \/>\n&#8211; **Cross-server compatibility** via MySQL<br \/>\n&#8211; **Offline player vault access** for admins<br \/>\n&#8211; **Pagination** for vaults larger than 54 slots<\/p>\n<p>&#8220;`<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502  VANILLA ENDER CHEST          \u2192    ENDERCHESTVAULT          \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502  \u2022 Fixed 27 slots             \u2192    \u2022 27 to 54 slots       \u2502<br \/>\n\u2502  \u2022 No permission control      \u2192    \u2022 Permission-based sizes \u2502<br \/>\n\u2502  \u2022 Local storage only         \u2192    \u2022 PDC\/SQLite\/MySQL       \u2502<br \/>\n\u2502  \u2022 No admin access            \u2192    \u2022 View offline vaults    \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p> \u2728 Key Features<\/p>\n<p> 1. \ud83d\uddc4\ufe0f Multiple Storage Backends<\/p>\n<p>| Storage Type | Description | Best For |<br \/>\n|&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;-|<br \/>\n| **PDC** | PersistentDataContainer (stored on player) | Small servers, simplicity |<br \/>\n| **SQLite** | Local database file | Medium servers, single instance |<br \/>\n| **MySQL** | Remote database server | Networks, BungeeCord\/Velocity |<\/p>\n<p> 2. \ud83d\udce6 Variable Vault Sizes<\/p>\n<p>&#8220;`<br \/>\nPermission              Slots    Rows<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\necvault.size.9           9       1<br \/>\necvault.size.18         18       2<br \/>\necvault.size.27         27       3<br \/>\necvault.size.36         36       4       1<br \/>\necvault.size.45         45       5<br \/>\necvault.size.54         54       6<br \/>\n&#8220;`<\/p>\n<p> 3. \ud83d\udcc4 Ender Vault <\/p>\n<p>Vaults maximum 54 slots :<\/p>\n<p>&#8220;`<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502                   Ender Vault                       \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502  [Item] [Item] [Item] [Item] [Item] [Item] [Item]  \u2502<br \/>\n\u2502  [Item] [Item] [Item] [Item] [Item] [Item] [Item]  \u2502<br \/>\n\u2502  [Item] [Item] [Item] [Item] [Item] [Item] [Item]  \u2502<br \/>\n\u2502  [Item] [Item] [Item] [Item] [Item] [Item] [Item]  \u2502<br \/>\n\u2502  [Item] [Item] [Item] [Item] [Item] [Item] [Item]  \u2502<br \/>\n\u2502  [Item] [Item] [Item] [Item] [Item] [Item] [Item]  \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<\/p>\n<p>&#8220;`<\/p>\n<p> 4. \ud83c\udf10 Online\/Offline Server Support<\/p>\n<p>&#8220;`yaml<br \/>\n config.yml<br \/>\nserver:<br \/>\n  use-uuids: true    Online mode (premium)<br \/>\n  use-uuids: false   Offline mode (cracked)<br \/>\n&#8220;`<\/p>\n<p> 5. \ud83d\udc41\ufe0f Admin Vault Access<\/p>\n<p>Administrators can view and modify any player&#8217;s vault, even when offline:<\/p>\n<p>&#8220;`<br \/>\n\/ec open Notch        \u2192 Opens Notch&#8217;s vault (even if offline)<br \/>\n\/ec open Steve        \u2192 Opens Steve&#8217;s vault for inspection<br \/>\n&#8220;`<\/p>\n<p> 6. \ud83d\udd04 Async Database Operations<\/p>\n<p>All database reads\/writes are **asynchronous** to prevent server lag:<\/p>\n<p>&#8220;`java<br \/>\n\/\/ Non-blocking vault loading<br \/>\nCompletableFuture<VaultData> loadVault(Player player);<\/p>\n<p>\/\/ Non-blocking vault saving<br \/>\nCompletableFuture<Void> saveVault(Player player, VaultData data);<br \/>\n&#8220;`<\/p>\n<p> 7. \ud83c\udfa8 Fully Customizable GUI<\/p>\n<p>&#8220;`yaml<br \/>\ngui:<br \/>\n  title: &#8220;&#038;5&#038;lEnder Vault&#8221;<br \/>\n  admin-title: &#8220;&#038;c&#038;l{player}&#8217;s Vault&#8221;<br \/>\n  sounds:<br \/>\n    open:<br \/>\n      sound: &#8220;BLOCK_ENDER_CHEST_OPEN&#8221;<br \/>\n    page-turn:<br \/>\n      sound: &#8220;ITEM_BOOK_PAGE_TURN&#8221;<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udfae Commands<\/p>\n<p>| Command | Description | Permission |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `\/ec` | Open your own vault | `ecvault.use` |<br \/>\n| `\/enderchest` | Alias for \/ec | `ecvault.use` |<br \/>\n| `\/ec open <player>` | Open another player&#8217;s vault | `ecvault.admin` |<br \/>\n| `\/ec reload` | Reload configuration | `ecvault.admin.reload` |<\/p>\n<p>&#8212;<\/p>\n<p> \ud83d\udd10 Permissions<\/p>\n<p> Player Permissions<\/p>\n<p>| Permission | Description | Default |<br \/>\n|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;|<br \/>\n| `ecvault.use` | Use the Ender Vault | `true` |<br \/>\n| `ecvault.size.27` | 27 slot vault (3 rows) | `true` |<br \/>\n| `ecvault.size.54` | 54 slot vault (6 rows) | `false` |<\/p>\n<p> Admin Permissions<\/p>\n<p>| Permission | Description | Default |<br \/>\n|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;|<br \/>\n| `ecvault.admin` | Open other players&#8217; vaults | `op` |<br \/>\n| `ecvault.admin.reload` | Reload plugin config | `op` |<br \/>\n| `ecvault.admin.bypass` | Bypass restrictions | `op` |<br \/>\n| `ecvault.*` | All permissions | `op` |<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udfaf Use Cases<\/p>\n<p> 1. \ud83c\udfe0 Survival Servers<\/p>\n<p>**Problem**: Players want more storage, but vanilla ender chest is limited.<\/p>\n<p>**Solution**: Grant donors\/ranks larger vault sizes as perks.<\/p>\n<p>&#8220;`<br \/>\nDefault Player  \u2192 27 slots (free)<br \/>\nVIP Rank        \u2192 54 slots<br \/>\n&#8220;`<\/p>\n<p> 2. \ud83c\udf10 Server Networks (BungeeCord\/Velocity)<\/p>\n<p>**Problem**: Ender chest contents don&#8217;t sync across servers.<\/p>\n<p>**Solution**: Use MySQL backend for cross-server vault synchronization.<\/p>\n<p>&#8220;`<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510     \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502 Lobby   \u2502     \u2502 Survival\u2502     \u2502 Skyblock\u2502<br \/>\n\u2502 Server  \u2502\u2500\u2500\u2500\u2500\u25b6\u2502 Server  \u2502\u2500\u2500\u2500\u2500\u25b6\u2502 Server  \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2518     \u2514\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2518     \u2514\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2518<br \/>\n     \u2502               \u2502               \u2502<br \/>\n     \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n                     \u25bc<br \/>\n              \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n              \u2502   MySQL     \u2502<br \/>\n              \u2502  Database   \u2502<br \/>\n              \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n&#8220;`<\/p>\n<p> 3. \ud83d\udee1\ufe0f Admin Moderation<\/p>\n<p>**Problem**: Need to check if a player is storing illegal items.<\/p>\n<p>**Solution**: Use `\/ec open <player>` to inspect any vault.<\/p>\n<p>&#8220;`<br \/>\n\/ec open SuspiciousPlayer<br \/>\n\u2192 Opens their vault for inspection<br \/>\n\u2192 Works even if player is offline<br \/>\n\u2192 Can remove contraband items<br \/>\n&#8220;`<\/p>\n<p> 4. \ud83d\udcb0 Economy Servers<\/p>\n<p>**Problem**: Want to sell storage upgrades for in-game currency.<\/p>\n<p>**Solution**: Integrate with permission plugins + economy.<\/p>\n<p>&#8220;`<br \/>\n\/buy vault-upgrade 54   \u2192 Grants ecvault.size.54<\/p>\n<p>&#8220;`<\/p>\n<p> 5. \ud83c\udfaeSupports all Servers<\/p>\n<p>**Problem**: UUID-based storage fails on offline servers.<\/p>\n<p>**Solution**: Toggle to name-based identification.<\/p>\n<p>&#8220;`yaml<br \/>\nserver:<br \/>\n  use-uuids: false   Use player names instead<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p> \ud83d\udcca Comparison: Vanilla vs EnderChestVault<\/p>\n<p>| Feature | Vanilla Ender Chest | EnderChestVault |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|<br \/>\n| Storage Size | Fixed 27 slots | 27-54 slots |<br \/>\n| Permission Control | \u274c None | \u2705 Full control |<br \/>\n| Database Options | World file only | PDC\/SQLite\/MySQL |<br \/>\n| Cross-Server Sync | \u274c No | \u2705 Via MySQL |<br \/>\n| Admin Inspection | \u274c No | \u2705 Full access |<br \/>\n| Offline Access | \u274c No | \u2705 Yes |<br \/>\n| Pagination | \u274c No | \u2705 Automatic |<br \/>\n| Custom GUI | \u274c No | \u2705 Fully customizable |<br \/>\n| Async Operations | \u274c No | \u2705 Yes |<br \/>\n| Sound Effects | \u274c Basic | \u2705 Customizable |<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udfd7\ufe0f Technical Architecture<\/p>\n<p>&#8220;`<br \/>\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n\u2502                        EnderChestVault                           \u2502<br \/>\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u2502<br \/>\n\u2502  \u2502   Command   \u2502  \u2502  Listener   \u2502  \u2502      VaultManager       \u2502  \u2502<br \/>\n\u2502  \u2502   Handler   \u2502  \u2502   Layer     \u2502  \u2502   (Core Logic + Cache)  \u2502  \u2502<br \/>\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2502<br \/>\n\u2502         \u2502                \u2502                      \u2502                \u2502<br \/>\n\u2502         \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518                \u2502<br \/>\n\u2502                          \u25bc                                       \u2502<br \/>\n\u2502              \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510                          \u2502<br \/>\n\u2502              \u2502    StorageManager     \u2502  \u2190 Interface             \u2502<br \/>\n\u2502              \u2502     (Abstraction)     \u2502                          \u2502<br \/>\n\u2502              \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518                          \u2502<br \/>\n\u2502                          \u2502                                       \u2502<br \/>\n\u2502         \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510                     \u2502<br \/>\n\u2502         \u25bc                \u25bc                \u25bc                     \u2502<br \/>\n\u2502  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510             \u2502<br \/>\n\u2502  \u2502     PDC     \u2502  \u2502   SQLite    \u2502  \u2502    MySQL    \u2502             \u2502<br \/>\n\u2502  \u2502   Storage   \u2502  \u2502   Storage   \u2502  \u2502   Storage   \u2502             \u2502<br \/>\n\u2502  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518             \u2502<br \/>\n\u2502                          \u2502                \u2502                     \u2502<br \/>\n\u2502                          \u25bc                \u25bc                     \u2502<br \/>\n\u2502                   \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510             \u2502<br \/>\n\u2502                   \u2502 vaults.db   \u2502  \u2502 Remote DB   \u2502             \u2502<br \/>\n\u2502                   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518             \u2502<br \/>\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p> \ud83d\udcc8 Performance Characteristics<\/p>\n<p>| Metric | Value |<br \/>\n|&#8212;&#8212;&#8211;|&#8212;&#8212;-|<br \/>\n| Memory Footprint | ~5-15 MB (depending on cache) |<br \/>\n| Vault Load Time | <50ms (cached), <200ms (database) |\n| Save Operation | Async, non-blocking |\n| Max Concurrent Users | Unlimited (connection pool limited) |\n| Cache Hit Rate | >95% for active players |<\/p>\n<p> Connection Pool Settings (MySQL)<\/p>\n<p>&#8220;`yaml<br \/>\nmysql:<br \/>\n  pool:<br \/>\n    maximum-pool-size: 10     Max database connections<br \/>\n    minimum-idle: 2           Keep 2 connections ready<br \/>\n    connection-timeout: 5000  5 second timeout<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p> \ud83d\udd27 Installation Guide<\/p>\n<p> Step 1: Download &#038; Install<\/p>\n<p>&#8220;`bash<br \/>\n Place JAR in plugins folder<br \/>\ncp EnderChestVault-1.0.0.jar \/server\/plugins\/<\/p>\n<p> Start server to generate config<br \/>\njava -jar paper.jar<br \/>\n&#8220;`<\/p>\n<p> Step 2: Configure Storage<\/p>\n<p>&#8220;`yaml<br \/>\n plugins\/EnderChestVault\/config.yml<br \/>\nstorage:<br \/>\n  type: &#8220;SQLITE&#8221;   or &#8220;PDC&#8221; or &#8220;MYSQL&#8221;<br \/>\n&#8220;`<\/p>\n<p> Step 3: Set Permissions<\/p>\n<p>Using LuckPerms:<br \/>\n&#8220;`bash<br \/>\n Give VIP rank 54 slots<br \/>\n\/lp group vip permission set ecvault.size.54 true<\/p>\n<p> Give staff admin access<br \/>\n\/lp group staff permission set ecvault.admin true<br \/>\n&#8220;`<\/p>\n<p> Step 4: Reload &#038; Test<\/p>\n<p>&#8220;`bash<br \/>\n\/ec reload<br \/>\n\/ec         Open your vault<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udf81 Feature Summary Card<\/p>\n<p>&#8220;`<br \/>\n\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557<br \/>\n\u2551                    ENDERCHESTVAULT                        \u2551<br \/>\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563<br \/>\n\u2551  \u2713 Variable vault sizes (9-27-54 slots)                  \u2551<br \/>\n\u2551  \u2713 Three storage backends (PDC\/SQLite\/MySQL)             \u2551<br \/>\n\u2551  \u2713 Permission-based access control                       \u2551<br \/>\n\u2551  \u2713 Smart pagination for large vaults                     \u2551<br \/>\n\u2551  \u2713 Async database operations (no lag)                    \u2551<br \/>\n\u2551  \u2713 Admin vault inspection (online\/offline)               \u2551<br \/>\n\u2551  \u2713 Online &#038; offline server support                       \u2551<br \/>\n\u2551  \u2713 Cross-server sync via MySQL                           \u2551<br \/>\n\u2551  \u2713 Customizable GUI &#038; sounds                             \u2551<br \/>\n\u2551  \u2713 Full NBT\/component preservation                       \u2551<br \/>\n\u2551  \u2713 HikariCP connection pooling                           \u2551<br \/>\n\u2551  \u2713 Caffeine in-memory caching                            \u2551<br \/>\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563<br \/>\n\u2551  Target: Minecraft 1.21.1 &#8211; 1.21.11 | Paper\/Spigot API   \u2551<br \/>\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d<\/p>\n<p>&#8212;<\/p>\n<p>This documentation provides a complete overview of the EnderChestVault plugin, its features, use cases, and technical details!**<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tired of vanilla ender chest get upto 6 rows and total of 52 slots on enderchest&#8230;&#8230;.<\/p>\n","protected":false},"featured_media":63859,"template":"","meta":{"_minecraft_slug":"enderchestvault","_minecraft_project_id":"9wX8pg4e","_minecraft_author":"geturplugins","_minecraft_license":"MIT","_minecraft_downloads":1000,"_minecraft_follows":2,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"enderchestvault.zip","_minecraft_size_bytes":65797,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T08:38:38.005556Z","_minecraft_date_created":"2026-01-05T23:37:15.377361Z","_minecraft_date_modified":"2026-01-03T05:03:33.904715Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/enderchestvault","_minecraft_icon_attachment_id":63859,"_minecraft_imported_at":"2026-06-03T16:25:52+00:00","_minecraft_import_hash":"7f6b12516dce9955655c145ec97b3630","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[126,127,129,91,92],"mod_loader":[132,134],"minecraft_version":[37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-63858","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-management","mod_category-paper","mod_category-spigot","mod_category-storage","mod_category-utility","mod_loader-paper","mod_loader-spigot","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>EnderChestVault - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"EnderChestVault - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Tired of vanilla ender chest get upto 6 rows and total of 52 slots on enderchest.......\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/enderchestvault\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/enderchestvault\\\/\",\"name\":\"EnderChestVault - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/enderchestvault\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/enderchestvault\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/enderchestvault-icon-6cc36f26baea3088106f7e672ccb093bb6e63799_96.webp\",\"datePublished\":\"2026-06-03T16:25:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/enderchestvault\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/enderchestvault\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/enderchestvault\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/enderchestvault-icon-6cc36f26baea3088106f7e672ccb093bb6e63799_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/enderchestvault-icon-6cc36f26baea3088106f7e672ccb093bb6e63799_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/enderchestvault\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"EnderChestVault\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"EnderChestVault - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/","og_locale":"en_US","og_type":"article","og_title":"EnderChestVault - Minecraft","og_description":"Tired of vanilla ender chest get upto 6 rows and total of 52 slots on enderchest.......","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/","name":"EnderChestVault - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/enderchestvault-icon-6cc36f26baea3088106f7e672ccb093bb6e63799_96.webp","datePublished":"2026-06-03T16:25:52+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/enderchestvault-icon-6cc36f26baea3088106f7e672ccb093bb6e63799_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/enderchestvault-icon-6cc36f26baea3088106f7e672ccb093bb6e63799_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/enderchestvault\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"EnderChestVault"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/63858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/63859"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=63858"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=63858"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=63858"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=63858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}