Sueta

EzEconomy

3.1.2

Modern, fast, and flexible Vault economy provider for Minecraft servers. Supports YML, MySQL, SQLite, MongoDB, and custom storage. Multi-currency, async caching, and robust permissions for any server

·Plugin
  1. 3.1.2latestEzEconomy 3.1.2May 30, 2026
    Added
    - Performance and reliability improvements to balance fast-path caching and background persistence.
    Changed
    - Reduced DB contention and improved fast-path caching semantics for balances to provide more consistent immediate responses under load. - Withdraw fast-path: added per-key striped locking to prevent concurrent over-reservations. - Shutdown ordering: background persistence flush now runs before closing JDBC pools to guarantee pending deltas are persisted. ![EzEconomy benchmark](https://i.ibb.co/9HnrVq30/image.png) - Configuration: moved MySQL tuning keys into performance.mysql in the main config.yml. The plugin now prefers performance.mysql.* with fallbacks to mysql.* in config-mysql.yml; documentation and default configs were updated. - Added MySQL tuning options and safer defaults: background persistence batching/queueing settings and additional Hikari pool tuning keys (leak-detection-threshold-ms, validation-timeout-ms, initialization-fail-timeout-ms, auto-commit). JDBC params now include UTF-8 encoding by default. - Security: /eco command permissions tightened. New granular permission nodes added: ezeconomy.eco.give, ezeconomy.eco.take, ezeconomy.eco.set, ezeconomy.eco.gui (GUI opens require ezeconomy.eco.gui), and ezeconomy.eco remains the umbrella admin node. Console execution still allowed.
    Fixed
    - Race conditions where multiple concurrent withdraws could exceed the persisted balance. - Background flush failures during shutdown caused by closed connections. ---
    1704 downloads
  2. 3.1.1EzEconomy 3.1.1May 28, 2026
    Added
    - Global `debug` flag: new top-level debug: false option in config.yml controls all verbose/diagnostic logging in one place. When enabled, Jaloquent's internal SQL logging and plugin-level debug messages (cross-server messaging, daily-reward diagnostics) are written to the server console.
    Changed
    - DailyRewardManager and MessagingService now respect the unified debug flag instead of the previous per-feature toggles (daily-reward.debug and cross-server.verbose-logging).
    Removed
    - Per-feature debug flags daily-reward.debug and cross-server.verbose-logging from config.yml - superseded by the new top-level debug option. ---
    74 downloads
  3. 3.1.0EzEconomy 3.1.0May 28, 2026
    ![Bungeecord and Velocity support](https://i.ibb.co/cXcFX7g9/velocity-and-bungeecord.png)
    Added
    - Velocity proxy support - New ezeconomy-velocity module provides a Velocity proxy plugin for cross-server payment notifications and global player list broadcasting. Deploy ezeconomy-velocity.jar on your Velocity proxy alongside the main plugin on backend servers. - Cross-server messaging layer - New MessagingService, MessagingTransport, and MessageType abstractions in core. Supports three transports: Velocity plugin messaging, BungeeCord plugin messaging, and Redis pub/sub. - Redis pub/sub messaging - New RedisMessagingTransport in the ezeconomy-redis module enables proxy-independent cross-server messaging via Redis pub/sub. Ideal for multi-proxy setups or networks already running Redis. - Pending notifications - Payment notifications for offline players are now stored in the database and delivered on next join. Implemented in all four storage backends (YML, MySQL, SQLite, MongoDB). - Player info persistence - StorageProvider.persistPlayerInfo() stores UUID/name/display name on join, enabling resolvePlayerByName() for cross-server name lookups. - Configurable lock timing - New locking section in config.yml with ttl-ms, retry-ms, and max-attempts settings, replacing hardcoded values. - VaultEconomyImpl distributed locking - Withdraw and bank withdraw operations now acquire distributed locks (with local fallback) to prevent race conditions in multi-server environments. - Cross-server documentation - New docs/feature/cross-server.md and docs/integration/velocity.md covering all three messaging transports, configuration, and deployment. - Velocity CI workflow - GitHub Actions workflow for the ezeconomy-velocity module. - MessagingComponent - Bootstrap component that initialises cross-server messaging during plugin startup. - New message keys: eco_give, baltop_footer, payment_cancelled, recipient_offline_queued. - /pay alias: ezpay. - MySQLStorageProvider.persistPlayerInfo() implementation for explicit player data upserts.
    Changed
    - BungeeCord proxy overhaul - EzBungeeProxyPlugin now implements Listener, registers both ezeconomy:locks and ezeconomy:notify channels, handles payment notification forwarding, sends RECIPIENT_OFFLINE responses, and broadcasts the global player list every 3 seconds. - BungeeCord proxy plugin.yml - Fixed main class reference, added description, enabled resource filtering for ${project.version}. - All sub-module POM versions now inherit from the parent (removed explicit <version> tags). - Updated README with cross-server messaging, Velocity integration, and distributed locking documentation links. - Updated docs/feature/proxy-network.md and docs/integration/bungeecord.md to reflect Velocity support and cross-server messaging. - StorageProvider.transfer() now uses configurable lock timing via EzEconomyPlugin.getLockTtlMs/RetryMs/MaxAttempts().
    Fixed
    - BungeeCord proxy `plugin.yml` - Main class was pointing to the wrong class (EzBungeeProxy instead of EzBungeeProxyPlugin). - BungeeCord channel mismatches - Unified lock and notification channels across server and proxy modules. - PaymentExecutor cross-server notifications - Offline recipients now receive payment notifications via cross-server messaging instead of silently dropping the message. - Cross-server `/pay` failing silently - Payments to players on other backend servers failed because the recipient was looked up only in Bukkit's local player cache. PayCommand now checks MessagingService.isNetworkPlayer() and StorageProvider.resolvePlayerByName() when local lookups fail. - Incorrect UUID for cross-server recipients - PaymentExecutor was using Bukkit.getOfflinePlayer(name) which generates an offline-mode UUID for players who have never joined the local server. It now resolves the correct UUID from the messaging service or shared database. - `MySQLStorageProvider.resolvePlayerByName()` not implemented - The default no-op from the StorageProvider interface was being used. Now queries the players table by name to return the correct UUID. ---
    57 downloads
  4. 3.0.4EzEconomy 3.0.4May 17, 2026
    Fixed
    - Folia compatibility — plugin.yml now declares folia-supported: true so EzEconomy loads on Folia servers without being rejected as an unsupported plugin. - API version format — api-version changed from 26.1.2 to 1.21 in both the main and PAPI module plugin.yml files. Paper build 69 introduced strict Minecraft-version format validation that rejected the old dotted build-number form. - Java 21 runtime compatibility — The jdk25 Maven profile was setting maven.compiler.release=25, producing class file version 69 that Java 21 JVMs cannot load (UnsupportedClassVersionError). Lowered the release target to 21 (class file version 65) in both the default properties and the profile; the build JDK requirement ([25,)) is unchanged. ---
    2061 downloads
  5. 3.0.3-nightly.20260517EzEconomy 3.0.3-nightly.20260517May 17, 2026
    Added
    Changed
    Fixed
    Removed
    ---
    71 downloads
  6. 3.0.3-nightly.20260516EzEconomy 3.0.3-nightly.20260516May 16, 2026
    Added
    Changed
    Fixed
    Removed
    ---
    47 downloads
  7. 3.0.3-nightly.20260515EzEconomy 3.0.3-nightly.20260515May 15, 2026
    Added
    Changed
    Fixed
    Removed
    ---
    45 downloads
  8. 3.0.3-nightly.20260514EzEconomy 3.0.3-nightly.20260514May 14, 2026
    Added
    Changed
    Fixed
    Removed
    ---
    47 downloads
  9. 3.0.3-nightly.20260513EzEconomy 3.0.3-nightly.20260513May 13, 2026
    Added
    Changed
    Fixed
    Removed
    ---
    58 downloads
  10. 3.0.3EzEconomy 3.0.3May 13, 2026
    Added
    - Auto-create bank on join - Players now automatically get a personal bank named after themselves on first join. Controlled by banking.auto-create-on-join (default true); respects the existing banking.enabled gate. Idempotent: no duplicate bank is created if one already exists. - `bank_not_found` message key - "Bank does not exist" errors now route through a localised bank_not_found message key (&c prefix) instead of a raw white string. Added to both en and nl locales. - `/bank deposit` / `/bank withdraw` optional name - Both commands now accept [name] <amount> [currency] so players can run /bank deposit 100 to deposit into their own bank without having to type their name. - `usage_bank_deposit` / `usage_bank_withdraw` message keys - Matching usage hint messages added to en and nl locales.
    Fixed
    - Server deadlock - callSyncMethod(...).get() was called unconditionally from the main thread during bank commands, causing the server to hang indefinitely. An isPrimaryThread() guard now ensures events fired from the main thread are dispatched directly, while background-thread calls still schedule and await a sync task. - `autoCreateBank` early-return bug - autoCreateBank() was placed after the store-on-join gate in PlayerJoinListener, meaning it was never called when store-on-join.enabled is false (the default). It now runs independently of that gate.
    Refactored
    - Introduced util/EventDispatcher - a single, reusable utility class that encapsulates the thread-safe Bukkit event dispatch pattern (fireSync / fireSyncAndAllow). All storage providers and PaymentExecutor now delegate to this class instead of duplicating the guard inline.
    Tests
    - Added PlayerJoinListenerAutoCreateBankTest (4 tests) covering: bank created on join, creation skipped when auto-create-on-join: false, creation skipped when banking.enabled: false, and no duplicate creation for a pre-existing bank. ---
    123 downloads
  11. 3.0.2EzEconomy 3.0.2May 9, 2026
    ## What's Changed * cd: added Modrinth release in https://github.com/ez-plugins/EzEconomy/pull/139 * fixed: issue #138 (3.0.1 not released to Github Packages) Full Changelog: https://github.com/ez-plugins/EzEconomy/compare/3.0.1...3…
    92 downloads
  12. 3.0.0EzEconomy 3.0.0Apr 21, 2026
    - Updated to Minecraft 26.1 - Updated to Java 25 - Refactored back-end to [Jaloquent](https://github.com/EzFramework/Jaloquent) - Added Github Pages documentation: https://ez-plugins.github.io/EzEconomy
    196 downloads
  13. 2.5.0EzEconomy 2.5.0Mar 28, 2026
    Make sure with upgrading to this version you renew the main configuration file and your messages file.
    For a [more stable version](https://modrinth.com/plugin/ezeconomy/version/2.4.3) recommended for now to use 2.4.3. The `2.5.0` is still in testing phase
    * Banking toggle by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/65 * Added redis lock support for proxy networks by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/62 * Bungeecord locking strategy by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/67 * Added locking-strategy configuration option to config.yml * Added caching-strategy configuration option to config.yml * Up version to 2.5.0 by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/66 Full Changelog: https://github.com/ez-plugins/EzEconomy/compare/2.4.3...2…
    725 downloads
  14. 2.4.3EzEconomy 2.4.3Mar 26, 2026
    - Fix BigDecimal for currency conversion by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/63
    173 downloads
  15. 2.4.2EzEconomy 2.4.2Mar 25, 2026
    - Added prevention zero-rounded currency conversions ([#59](https://github.com/ez-plugins/EzEconomy/pull/59))
    53 downloads
  16. 2.4.1EzEconomy 2.4.1Mar 25, 2026

    What's Changed

    * docs: add /currency convert usage to commands.md by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/49 * Fix BalanceCommand: prefer currency arg and avoid Mojang lookups; add… by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/52 * Create user account through provider on join by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/53 * Improve Spigot update check by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/54 * Store player display names for easier cached display by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/55 * fix: check if balance is available before convertion by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/57 Full Changelog: https://github.com/ez-plugins/EzEconomy/compare/2.4.0...2…
    61 downloads
  17. 2.4.0EzEconomy 2.4.0Mar 23, 2026
    Recommended to reset your configuration files and check differences when using custom configurations and doing a bigger update from earlier versions.
    - Separated PlaceholderAPI to it's own .jar file
    67 downloads
  18. 2.3.1EzEconomy 2.3.1Mar 15, 2026
    - Fixed issue storage type loading the wrong path resulting in yml being chosen by default
    154 downloads
  19. 2.3.0EzEconomy 2.3.0Mar 2, 2026

    What's Changed

    * feat: added player eco GUIs by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/35 * Refactor: moved bootstrap logic by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/42 * Add configurable price_message_format for message templates by @ez-plugins in https://github.com/ez-plugins/EzEconomy/pull/45 Full Changelog: https://github.com/ez-plugins/EzEconomy/compare/2.2.4...2…
    221 downloads
  20. 2.2.4EzEconomy 2.2.4Feb 9, 2026
    Feature changes - Added <currency> argument to /balance <player> [<currency>] - Added <currency> argument to /pay <player> [<currency>] - Added new conversion calculation subcommand /currency convert <fromCurrency> <toCurrency> <amount> - Added new messages and placeholders to give better support for multi-currency usage Code changes - Improved feature tests - Added CurrencyUtil for easier reusage
    376 downloads
  21. 2.2.3EzEconomy 2.2.3Feb 6, 2026
    - Split the messages.yml into .yml file per language - Implemented the new message construction in the plugin
    76 downloads
  22. 2.2.2EzEconomy 2.2.2Jan 31, 2026
    - Fixed issue in async handling / sync availability - Added feature tests for YML / MySQL / MongoDB storage providers
    103 downloads
  23. 2.2.1EzEconomy 2.2.1Jan 31, 2026
    - Fixed issue in finding offline player in /pay command
    30 downloads
  24. 2.2.0EzEconomy 2.2.0Jan 24, 2026
    Summary - Expose cancellable transaction events via the API so external plugins can intercept/abort economy operations. Added - TransactionType.java - PreTransactionEvent.java (cancellable) - PostTransactionEvent.java - PlayerPayPlayerEvent.java (cancellable) - docs/api/event/*.md (documentation for each event)
    146 downloads
  25. 2.1.2EzEconomy 2.1.2Jan 23, 2026
    - Added /bal alias for the /balance command
    52 downloads
  26. 2.1.1EzEconomy 2.1.1Jan 22, 2026
    - Fixed player check on /pay command
    46 downloads
  27. 2.1.0EzEconomy 2.1.0Jan 21, 2026
    - Added new database documentation in docs/database.md: https://github.com/ez-plugins/EzEconomy/blob/main/docs/da… - Added new improved subcommand structure - Refactored existing subcommands into the new subcommand structure - Cleaned up main plugin class - Cleaned up Vault implementation class - Added new /ezeconomy reload subcommand to reload all configuration files - Added new /ezeconomy database subcommand to check the information of the database - Added new /ezeconomy database test subcommand to test every feature quickly on your database - Added new /ezeconomy database reset subcommand to reset the database more easily - Improved autocomplete of the /ezeconomy command - Implemented init() and load() functions of the StorageProvider's over connection building in constructor - Added new overridable isConnected() function to StorageProvider class to make connection status available per storage provider
    52 downloads
  28. 2.0.6EzEconomy 2.0.6Jan 21, 2026
    - Added missing translations to messages.yml - Added /ezeconomy reload --- Needs `messages.yml` reset for new messages to be added automaticly
    39 downloads
  29. 2.0.5EzEconomy 2.0.5Jan 19, 2026
    - Added PlaceholderAPI in softdepend list to make sure it loads first
    49 downloads
  30. 2.0.4EzEconomy 2.0.4Jan 17, 2026
    - Added storage provider unavailable to configurable messages - Added multi currency disabled to configurable messages - Added cleanup messages to configurable messages - Fixed code styling
    75 downloads
  31. 2.0.3EzEconomy 2.0.3Jan 17, 2026
    - Added default messages to messages.yml for French support
    29 downloads
  32. 2.0.2EzEconomy 2.0.2Jan 16, 2026
    - Fixed issue in /baltop retrieving offline player names - Added cleanup process to clean up non-existing accounts with /ezeconomy cleanup
    37 downloads
  33. 2.0.1EzEconomy 2.0.1Jan 16, 2026
    - Added baltop placeholders, by example %ezeconomy_top_1%
    18 downloads
  34. 2.0.0EzEconomy 2.0.0Jan 14, 2026
    * Updated source code to 1.4.0 (missing since Github was suspended) * Added EzEconomyAPI class * Improved markdown documentation in the Github project * Added multiple DTOs for better API responses
    42 downloads
  35. 0.2.0EzEconomy 0.2.0Dec 22, 2025

    ★ EzEconomy Changelog ~ Tax System Update

    - Configurable Tax System: Server admins can now enable and configure taxes on player transactions, bank interest payouts, and currency exchanges. - Tax Exemption Permissions: Grant specific players or groups exemption from all economy taxes via permissions. - Multi-Currency Support: Taxes and interest are now calculated and displayed per currency, supporting complex server economies. - Admin Tax Ledger: Track total tax collected from transactions, interest, and exchanges. View and reset totals with the /tax admin command. - PlaceholderAPI Integration: New placeholders for player and bank balances, including multi-currency support, for use in chat, GUIs, and other plugins. - Configurable Messages: All tax-related messages are now fully customizable in messages.yml. - Configurable Interest Interval: The bank interest payout interval is now settable in config.yml.
    31 downloads

Similar projects

Plugin →