Inventory Security: Implementation of a custom InventoryHolder to ensure the plugin only saves data from its own chests, eliminating conflicts with third-party menus.
Hybrid Storage System: Native and switchable support between SQLite (local) and MySQL (remote) via a dedicated DatabaseConnector.
Intelligent Backup Management: Automatic creation of safety copies (.db) on startup, featuring a rotation system that keeps only the most recent files (configurable).
Migration Engine: Automatic mass conversion of legacy .yml files to the SQL database, including safety renaming to .bak for data preservation.
Command Hardening: Dynamic TabCompleter and rigorous validation (try-catch) to prevent any console exceptions, such as NullPointerException or NumberFormatException.
Registration Priority: Injection logic via CommandMap to ensure the /pv command belongs to VirtualChest, even if other plugins attempt to register it.
Internationalization (i18n): Complete centralization of all messages and logs (including console output) into YAML files for four supported languages.
Performance Optimization: Database-heavy tasks (saving/loading) are executed via AsyncScheduler to prevent any impact on the server's TPS.
The high-performance virtual storage solution with regional multithreading support. Optimized for Folia and Paper 1.20.1 - 1.21.1+.
Main Features │➜
Folia Native Support: Engineered with Regional and Async
│➜ Schedulers to ensure 100% stability on multithreaded cores.
│➜
Smart Storage Engine: Optimized YAML mapping that skips
│➜ empty slots, reducing database file size by up to 80%.
│➜
Dynamic Permission Limits: Automatically calculates chest
│➜ access based on numeric permissions (e.g., virtualchest.10).
│➜
Async I/O Operations: Saving and loading processes run
│➜ in background threads to prevent TPS spikes and lag.
│➜
Multi-language System: Fully externalized message files
│➜ (PT-BR and EN-US) including translatable console logs.
│➜
Administrative Inspection: Professional GUI for admins to
│➜ inspect or modify any player's virtual chest in real-time.
│➜
Command Aliases: Flexible command system supporting
│➜ /pv, /vc, and /virtualchest for faster access.
Changelog │➜
v1.3: Added /pv reload command and /vc aliases.
│➜ Moved 100% of logs and errors to external language files.
│➜
v1.2: Implemented external messages_en.yml and
│➜ messages_pt.yml system with dynamic loading.
│➜
v1.1: Migrated to Slot-based Mapping storage and added
│➜ initial Folia/Paper regional scheduler support.
│➜
v1.0: Initial release with basic virtual chest logic.
Commands │➜
/pv [id] Opens a specific virtual chest based on your
│➜ permission limit (Alias: /vc).
│➜
/pv admin [player] [id] Inspected a specific chest from
│➜ another player (Admin only).
│➜
/pv reload Reloads all configurations, language files,
│➜ and internal caches (Alias: /vc reload).
Permissions │➜
virtualchest.use Permission to use the basic /pv command.
│➜
virtualchest.[number] Sets the maximum number of chests
│➜ a player can open (e.g., virtualchest.5).
│➜
virtualchest.admin Permission to inspect others, reload
│➜ the plugin, and bypass all chest limits.
│➜
Permission Change: The permission format has changed from
│➜virtualchest.pv.X to
virtualchest.X │➜ Example: Granting
virtualchest.10 now dynamically allows access
│➜ to chests 1 through 10.
│➜ Please update your permission plugin (LuckPerms/FoliaPerms)
│➜ accordingly.