Sueta

EcoXpert

1.4.0

Take full control of your server’s economy — intelligent, stable, and impossible to break.

·Plugin
  1. 1.4.0latestEcoXpert 1.4.0May 11, 2026

    EcoXpert - Changelog v1.4.0

    Version 1.4.0 - Economic Intelligence Overhaul

    Release Date: May 11, 2026 Compatibility: Minecraft 1.19.4 - 1.21.11+ Java Version: 17+ ---

    🧠 Economic Intelligence — Now Real

    The Economic Intelligence Engine has been completely rewritten. All calculations now use real server data instead of placeholder values.
    What Changed
    - Liquidity injection now calculates the optimal amount based on your server's actual money supply, health deficit, velocity gap, and active player count. Previously it injected a flat $10,000 regardless of conditions. - Player stimulus distribution is now weighted by each player's economic activity and personality. Active traders and investors receive proportionally more; hoarders and exploiters receive less. - Velocity of money is now tracked in real-time from actual transaction volume vs total money supply. This metric was previously never updated. - Economic health is now a composite of 5 real indicators: wealth distribution (Gini), transaction flow, market activity, inflation rate, and player participation. - All economic metrics (total money supply, average balance, transaction volume, market activity) now query the database directly instead of returning hardcoded estimates.
    Persistence Across Restarts
    The intelligence engine no longer loses its memory when the server restarts: - Economic snapshots are saved to the database every 5 minutes and restored on startup (last 24 hours). - Player economic profiles (personality, credit score, risk/trust scores, transaction history) are now persisted and survive restarts. - Old snapshot data is automatically cleaned up after 7 days.
    Pattern Recognition
    The system now identifies real patterns: - Daily activity cycles — detects peak and trough hours on your server. - Volatility periods — flags when the economy is unstable (>10% health swings in 30-minute windows). - Cycle rhythm — tracks average cycle duration and most common transitions to improve predictions.
    Dynamic Interest Rates
    Bank interest rates now respond to economic conditions automatically: - During downturns: rates increase to reward saving. - During booms: rates decrease to encourage spending. - High inflation: rates increase to discourage borrowing. - The adjustment is applied proportionally to all bank tiers. ---

    🗄️ New Database Tables

    Two new tables are created automatically on first startup: | Table | Purpose | |-------|---------| | ecoxpert_economic_snapshots | Stores economic state every 5 minutes for learning | | ecoxpert_player_profiles | Persists player behavior analysis across restarts | No manual migration required — tables are created automatically. ---

    🐛 Bugs Fixed

    - Fixed: Player economic profiles were never saved to database (lost on restart). - Fixed: Velocity of money placeholder always returned 1.0 regardless of actual activity. - Fixed: Economic health calculation used hardcoded values instead of real wealth distribution. - Fixed: Interest rate adjustments were only logged, never applied to the banking system. - Fixed: Liquidity injection always distributed $100 per player regardless of economic conditions. ---

    📦 Update Instructions

    1. Stop server 2. Replace EcoXpert-1.3.1.jar with EcoXpert-1.4.0.jar 3. Start server 4. No configuration changes required — new tables are created automatically
    Notes
    - The intelligence engine will start with a fresh learning state on first boot (no historical snapshots from pre-1.4). After ~1 hour of operation it will have enough data for trend analysis; after ~4 hours for forecasting. - Existing modules/inflation.yml policy parameters are fully compatible. No changes needed. - If you use MySQL, the new tables use the same charset/engine as existing tables. ---

    ⚙️ Compatibility

    - ✅ Minecraft 1.19.4 – 26.2+ - ✅ Spigot / Paper / Purpur / Folia - ✅ Java 17+ - ✅ SQLite and MySQL - ✅ All existing configurations from 1.3.x - ✅ Vault, PlaceholderAPI, DiscordSRV, GeyserMC - ✅ WorldGuard, Lands, Towny, Jobs, Slimefun, mcMMO integrations --- EcoXpert Pro — Because your economy deserves intelligence
    98 downloads
  2. 1.3.1Bug Fixes & StabilityJan 8, 2026

    EcoXpert - Changelog v1.3.1

    Version 1.3.1 - Bug Fixes & Stability

    Release Date: January 8, 2026 Compatibility: Minecraft 1.19.4 - 1.21.11 Java Version: 17+ ---

    🐛 Bug Fixes

    SQLite Database Lock Fix
    - Problem: SQLITE_BUSY - database is locked error under concurrent operations - Solution: SQLite pool size reduced to 1 connection to serialize writes - Details: - SQLite only allows one writer at a time - HikariCP pool was configured with 10 connections causing conflicts - busy_timeout increased to 30 seconds as safety net - MySQL pool remains at 10 connections (handles concurrency properly)
    SQL Compatibility Fix
    - Problem: INSERT OR IGNORE syntax only works in SQLite, not MySQL - Solution: Database-specific SQL syntax detection - Details: - SQLite: INSERT OR IGNORE INTO... - MySQL: INSERT IGNORE INTO... - Affected files: EconomyManagerImpl.java, MarketManagerImpl.java
    Market GUI Click Handler Fix
    - Problem: Clicking "Sell Hand by $" button sent "hand" to chat instead of opening sub-GUI - Solution: Reordered event handlers to check sub-GUI title before marketInv == null - Details: - Sub-GUI was not tracked in openGUIs map - Handler returned early without cancelling the event - Same fix applied to MarketOrdersGUI.java
    Missing Translation Keys Fix
    - Problem: Translation keys displayed as raw text (e.g., market.gui.sell-hand.lore1) - Solution: Added missing keys to correct YAML paths - Added keys: - market.gui.sell-hand.* (title, amount, lore1, lore2) - market.gui.bedrock.action.* (19 keys for Bedrock action GUI) - Files: messages_en.yml, messages_es.yml
    Translation System Fallback Improvement
    - Problem: New translation keys not available if user has old language files - Solution: Improved fallback to always check embedded JAR resources for missing keys - Details: - Local files are checked first (preserves user customizations) - If key not found, automatically loads from JAR embedded resources - Added UTF-8 encoding for proper character support - Debug logging for troubleshooting translation issues
    GUI Item Theft Prevention
    - Problem: Items in GUIs could be moved to player inventory when translation keys failed - Solution: All GUI click handlers now check both translated title AND raw key - Affected GUIs: - MarketGUI: List GUI, Sell Hand sub-GUI - MarketOrdersGUI: Orders list, Select quantity - LoansGUI: Offer preview, Schedule ---

    📦 Update Instructions

    1. Stop server 2. Replace EcoXpert-1.3.0.jar with EcoXpert-1.3.1.jar 3. Start server 4. No configuration changes required --- EcoXpert Pro - Because your economy deserves intelligence
    101 downloads
  3. 1.3EcoXpert 1.3Dec 20, 2025

    EcoXpert - Changelog v1.3.0

    Version 1.3.0 - Balance Leaderboard & Discord Integration

    Release Date: December 19, 2025 Compatibility: Minecraft 1.19.4 - 1.21.8+ Java Version: 17+ ---

    🎯 What's New

    ⭐ Balance Leaderboard System (Baltop)
    Complete leaderboard system with cross-platform support for Java and Bedrock editions. Commands:
    /baltop [page]           - View leaderboard in chat
    /baltop gui [page]       - Open GUI leaderboard
    Aliases: /balancetop, /topbalances Features: - 📊 Console view: 10 entries per page with pagination - 🖥️ GUI view: 45 entries per page with player skulls - 📱 Bedrock Forms: Native Geyser Forms for mobile/console players - 🏆 Self-highlighting: Your position highlighted in gold - 🔄 Real-time data with 30-second smart caching - 📍 Rank display: See your position even when not on current page
    📱 Discord Integration (NEW)
    Full DiscordSRV integration for economy notifications and commands. Discord Commands:
    !balance <player>        - Check player balance
    !market <item>           - Check item prices
    !top [count]             - View top players
    !inflation               - Current inflation rate
    !stats                   - Economy statistics
    Notifications: - 💰 Large transactions (configurable threshold) - 📈 Market price changes (>20% by default) - ⚠️ Inflation alerts (>5% by default) - 📊 Daily economy reports ---

    🔧 Technical Improvements

    Performance & Compatibility
    - Smart caching system reduces database queries - Async operations prevent server lag - 100% Bedrock Edition compatibility maintained - Automatic Geyser Forms detection and fallback
    Cross-Platform Support
    - Java Edition: Full chest GUI support - Bedrock Edition: Native Geyser Forms when available - Automatic Fallback: Chest GUI when Geyser unavailable ---

    🎮 Commands & Permissions

    New Commands
    | Command | Permission | Description | |---------|------------|-------------| | /baltop [page] | ecoxpert.baltop | View balance leaderboard | | /baltop gui [page] | ecoxpert.baltop.gui | Open GUI leaderboard |
    New Permissions
    - ecoxpert.baltop - View balance leaderboard (default: true) - ecoxpert.baltop.gui - Open GUI leaderboard (default: true)

    📊 PlaceholderAPI Integration

    New Placeholders
    %ecox_baltop_balance_<rank>%              - Balance at specific rank
    %ecox_baltop_balance_formatted_<rank>%    - Formatted balance with currency
    %ecox_baltop_player_<rank>%               - Player name at rank
    %ecox_baltop_rank%                        - Your current rank
    Example: %ecox_baltop_player_1% returns the richest player's name ---

    🔧 Configuration

    Discord Setup
    1. Install DiscordSRV plugin 2. Configure channels in modules/discord.yml:
       discord:
         enabled: true
         channels:
           economy: "CHANNEL_ID"
           alerts: "CHANNEL_ID"
       
    3. Reload: /ecoxpert reload
    Baltop Settings
    - Console: 10 entries per page - GUI: 45 entries per page - Cache: 30 seconds TTL - No configuration required - works out of the box ---

    📦 Installation & Update

    New Installation
    1. Download EcoXpert-1.3.0.jar 2. Place in plugins/ folder 3. Install Vault (required) and DiscordSRV (optional) 4. Restart server
    Update from v1.2.x
    1. Stop server 2. Replace JAR file 3. Start server 4. No database changes - fully backward compatible ---

    🐛 Bug Fixes

    - Fixed potential memory leak in leaderboard queries - Improved error handling for empty result sets - Enhanced GUI pagination edge cases - Better Discord integration error handling ---

    🔗 Integration Status

    Fully Supported
    - ✅ Vault - Complete economy integration - ✅ PlaceholderAPI - 50+ placeholders available - ✅ DiscordSRV - Full notification and command support - ✅ GeyserMC - Native Bedrock Forms support - ✅ WorldGuard/Lands - Territory-based bonuses - ✅ Jobs/Towny/Slimefun - Economic adjustments ---

    📞 Support

    - Discord: https://discord.gg/xKUjn3EJzR - Issues: GitHub Issues - Documentation: README.md + in-game help --- EcoXpert Pro - Because your economy deserves intelligence
    33 downloads
  4. 1.2.3EcoXpert 1.2.3Nov 25, 2025

    Changelog - Version 1.2.3

    Release Date: 2025-11-24 Type: Bug Fix & Bedrock Compatibility Update ---

    🐛 Bug Fixes

    #1: SQLite Database Lock Errors
    Issue: - Multiple [SQLITE_BUSY] The database file is locked errors during market transactions - Occurred when many players traded simultaneously - Caused transaction failures and poor user experience Root Cause: - SQLite busy_timeout was set to 5 seconds - High concurrency in market transactions exceeded timeout - Default configuration not optimized for multi-player servers Solution: - Increased SQLite busy_timeout from 5s → 15s (3x improvement) - Applied in both JDBC URL and PRAGMA connection init - Maintains WAL mode for better concurrent access Testing: - Load tested with 10+ concurrent market transactions - Lock errors reduced by ~90% - Recommended migration to MySQL for servers with 50+ players ---
    #2: Bedrock Edition GUI Incompatibility
    Issue: - Bedrock players reported "blocks staying in inventory" when using Market GUI - Items from chest-based GUIs appeared as real items in inventory - Bedrock Edition doesn't support interactive chest GUIs like Java Edition Root Cause: - All GUIs used Bukkit.createInventory() (chest-based GUIs) - Minecraft Bedrock Edition interprets chest GUI items as real items - No Bedrock-native interface (Geyser Forms) implemented Solution - (Market GUI): 1. Geyser Forms API Integration: - Added BedrockFormsManager with full reflection support - Uses Geyser's native SimpleForm and ModalForm APIs - Zero compile-time dependency - loads dynamically at runtime 2. Intelligent Platform Detection: - Detects Bedrock players via Floodgate API (reflection) - Checks if Geyser Forms API is available - Auto-switches between Forms (Bedrock) and Chest GUIs (Java) 3. Fallback System:
    Bedrock Player + Geyser Installed → Native Forms (✅ Fixed)
    Bedrock Player + No Geyser       → Chest GUI (⚠️ Known issue)
    Java Edition Player              → Chest GUI (✅ Works)
    4. ALL GUIs Now Support Bedrock Forms: MarketGUI: - Buy items (1x, 16x, stack) - Sell items (1x, stack, all) - Create market listings - Touch-friendly item selection BankGUI: - Deposit money ($100, $500, $1K, $5K, $10K) - Withdraw money (same amounts) - Check balance in real-time - Automatic menu refresh after transactions LoansGUI: - Request loans ($1K, $2.5K, $5K, $10K, $25K) - Confirmation dialog with offer details - Make payments ($500, $1K, $2.5K, $5K, full amount) - View loan status - Smart credit score integration ProfessionsGUI: - Select from 7 professions - View buy/sell factors - Real-time XP and level display All Forms Include: - Full translation support (EN/ES) - Touch-friendly Bedrock UX - Graceful fallback to chest GUIs if Geyser unavailable - Automatic platform detection Installation Requirements: - Geyser-Spigot plugin (optional but recommended) - Floodgate plugin (optional but recommended) - Auto-detects at runtime - no configuration needed Current Status: - ✅ MarketGUI - Full Geyser Forms support - ✅ BankGUI - Full Geyser Forms support (NEW) - ✅ LoansGUI - Full Geyser Forms support (NEW) - ✅ ProfessionsGUI - Full Geyser Forms support (NEW) ---

    🔧 Technical Improvements

    Dependency Management
    - Geyser/Floodgate APIs loaded via reflection (no compile dependency) - Dependencies marked as provided and optional in pom.xml - Dependencies commented out in pom.xml for easier compilation - Zero JAR size increase - maintains 2.5MB optimized build - Graceful degradation when APIs not available
    Bedrock Forms Architecture
    - SimpleForm - Menu with buttons (main menus, selections) - ModalForm - Yes/No confirmations (loan approval, critical actions) - CustomForm - Input fields (text, dropdowns, sliders, toggles) - Dual implementation pattern (Forms for Bedrock, Chest GUI for Java) - Automatic platform detection via PlatformManager - Translation-first design (all text uses TranslationManager)
    Database Optimization
    - SQLite busy_timeout: 5000ms → 15000ms - Connection pool configuration optimized - Better error handling for concurrent writes
    Platform Detection
    - Enhanced Bedrock player detection via Floodgate reflection - Runtime capability detection (Forms API availability) - Automatic UX adaptation based on client type ---

    📝 Documentation Updates

    README.md
    - Added "Bedrock Edition (GeyserMC) Issues" troubleshooting section - Documented SQLite lock error solutions - Added current Bedrock Forms support status - Included Geyser installation requirements
    Translation Files
    - Added 50+ new translation keys for Bedrock Forms: - Market Forms: market.gui.bedrock.* (13 keys) - Bank Forms: bank.gui.bedrock.* (15 keys) - Loans Forms: loans.gui.bedrock.* (18 keys) - Professions Forms: professions.gui.bedrock.* (4 keys) - Both English and Spanish translations - All Forms use translated text - zero hardcoded strings ---

    🔄 Migration Notes

    From v1.2.2 → v1.2.3
    Automatic (No Action Required): - SQLite timeout increase applies automatically - Bedrock Forms activate if Geyser detected - All existing functionality preserved Optional (Recommended for Bedrock Servers): 1. Install Geyser-Spigot plugin 2. Install Floodgate plugin 3. Restart server 4. Verify log: "Geyser Forms API detected" For High-Traffic Servers (50+ players): - Consider migrating from SQLite to MySQL - MySQL drivers download automatically - Update config.yml:
      database:
        type: "mysql"
      
    ---

    🚀 Performance Impact

    - JAR Size: No change (optimized) - Memory: +0.5MB when Geyser Forms active - CPU: Negligible (<1% overhead for platform detection) - Database: ~90% reduction in SQLite lock errors ---

    ⚠️ Known Issues

    Bedrock Edition (Without Geyser)
    - All main GUIs now work with Geyser installed! ✅ - If Geyser NOT installed: chest GUIs used (items may appear in inventory) - Solution: Install Geyser-Spigot + Floodgate for best experience - Alternative: Use text commands (/bank deposit, /loans request, etc.)
    SQLite Under Extreme Load
    - Lock errors may still occur with 100+ concurrent transactions - Solution: Migrate to MySQL for production servers ---

    🎯 Upgrade Recommendations

    Priority: HIGH for servers with: - Bedrock Edition players (via GeyserMC) - High market trading activity - Frequent SQLite lock errors in logs Priority: MEDIUM for servers with: - Java Edition only - Low-medium player count (<50) - Occasional database warnings Installation: 1. Stop server 2. Replace EcoXpert-1.2.2.jar with EcoXpert-1.2.3.jar 3. (Optional) Install Geyser + Floodgate 4. Start server 5. Verify logs for successful initialization --- Issues: https://github.com/koyere/ecoxpert/issues Discord: https://discord.gg/xKUjn3EJzR
    65 downloads
  5. 1.2.2EcoXpert 1.2.2Nov 17, 2025

    EcoXpert 1.2.2 — Market Safety & Integrity

    - Fixed: hard blockers on market buys/sells/orders when unit price or totals are zero/negative; cache and price calculator now auto-heal corrupt prices back to safe base values so items can’t be bought for free. - Improved: economy operations now require strictly positive amounts, tightening validation across transfers/debits. - Compatibility: Java 17+, Spigot/Paper/Purpur/Folia 1.19.4–1.21.9+ (no API changes). - Update: build or download EcoXpert-1.2.2.jar, replace the old JAR in plugins/, and restart your server. No config changes required.
    26 downloads
  6. 1.2.1EcoXpert 1.2.1Oct 17, 2025

    EcoXpert 1.2.1 — MySQL Schema Finalization

    - Fixed: schema creation now generates valid MySQL DDL (AUTO_INCREMENT, booleans, compatible defaults) and uses dialect-specific upsert logic to avoid syntax errors during startup. - Improved: database initialization chooses the correct SQL dialect (SQLite/MySQL/H2), verifies index existence via metadata, and handles meta-version updates without driver-specific queries. - Fixed: MySQL charset compatibility — added automatic fallback from utf8mb4 to utf8 if server doesn't support utf8mb4. Database is now auto-created if it doesn't exist. - Improved: config.yml now includes MySQL troubleshooting guide with solutions for charset, timeout, and access errors.
    40 downloads
  7. 1.2EcoXpert 1.2Oct 15, 2025

    EcoXpert 1.2 — MySQL Reliability Update

    - Added: full MySQL configuration support driven by config.yml, including optional pool tuning. - Fixed: removed hardcoded credentials to stop "Access denied" errors during MySQL startup. - Improved: MySQL connections now enforce utf8mb4 and validate parameters before building the pool for safer boot.
    23 downloads
  8. 1.1EcoXpert 1.1Oct 12, 2025
    #Version 1.1 > Bug Fixes ##1. Fixed errors in the Spanish and English translation keys. Some GUIs had errors. All translation errors were corrected. ##2. Added the full API methods. The API is now more complete, secure, and robust. You can check the official plugin information. ##Installation: ###1. Replace the plugin. ###2. Delete the messages files. ###3. Restart the server.
    17 downloads
  9. 1.0EcoXpert 1.0Oct 11, 2025
    27 downloads

Similar projects

Plugin →