This update introduces a highly requested virtual sale economy system, architectural unifications, performance safety enhancements, and expanded multi-language support.
What is New:
- Virtual Economy (/isf sell slot amount / all): Players can now safely sell customized quantities of stored vanilla items directly from their virtual stock. The command accepts exact amounts or the "all" argument to clear a slot completely. It queries strict raw prices from prices.yml and rejects fallback prices during manual player sales to preserve economy balance.
- Automated Shift & Database Safety: Selling the entire stock of a filter automatically triggers a safe row reorganization (removeAndShift) inside the SQLite tables, keeping slots compact and clean. Transactions process item deductions prior to depositing Vault funds, serving as an bulletproof anti-duplication shield.
- Unified Execution System: Cleaned up command handlers by routing menu visualization, item withdrawals, and physical economy sales through a unified executor. Typing just "/isf" gracefully preserves the original behavior by opening the visual inventory GUI.
- Tokenized Maven Filters: The plugin.yml version tag is now dynamically dynamically captured from the pom.xml main build variables using token filtering (${project.version}). No more manual version tracking across resource files.
- Extended Multi-Language Suite: New native translation matrices compiled for English (messages_en.yml), Spanish (messages_es.yml), and Russian (messages_ru.yml). The core localization engine now boots and populates missing files dynamically upon startup.
- TabCompletion Reinforcements: Smarter tab hints that adapt when the "sell" argument is typed, immediately filtering occupied numeric slots and toggling amount options.
Migration Steps for Server Administrators:
- Turn OFF your server.
- Remove the old VirtualFilter.jar from the plugins folder and upload this new build.
- Delete ONLY the old 'messages_en.yml' and 'messages_pt.yml' files from the 'plugins/VirtualFilter/' directory to allow the engine to regenerate the new localizations keys required by the sell subcommand.
- Do NOT delete 'config.yml', 'prices.yml' or your '.db' files. Your configurations, pricing rules, and current player inventories are 100% safe and fully compatible.
- Turn the server back ON.