EzEconomy
PluginMIT

EzEconomy

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 size.

4.0K
Downloads
9
Followers
1 months ago
Updated
📦
30
Versions

📖About EzEconomy

EzEconomy is a 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 size. Proven to be to 50x faster then other populair economy plugins.

EzEconomy Icon

Available languages: English, Español, Nederlands, 中国人, Français

ez economy plugin documentation button
ez economy plugin support button


★ Our key economy features

EzEconomy is built for performance, flexibility, and ease of use. Highlights include:

  • Vault API compatible: Works with any Vault-based plugin
  • YML, MySQL, SQLite, MongoDB, or custom storage: Flexible, production-ready storage options
  • Thread-safe: Robust error handling and concurrency
  • Multi-currency support: Optional, per-player, fully configurable
  • Async caching: Optimized for large servers
  • Comprehensive commands: /balance, /eco, /baltop, /bank, /pay, /currency
  • Granular permissions: Per-command and per-bank action

⚡ Commands

  • /balance: View your balance
  • /balance : View another player's balance (ezeconomy.balance.others)
  • /eco <give|take|set> : Admin control (ezeconomy.eco)
  • /eco gui: Show balance GUI
  • /baltop [amount]: Show top balances
  • /bank <create|delete|balance|deposit|withdraw|addmember|removemember|info> ...: Bank management (ezeconomy.bank.*)
  • /pay : Pay another player (ezeconomy.pay)
  • /currency [currency]: Set or view your preferred currency (ezeconomy.currency)
  • /ezeconomy cleanup: Remove orphaned player data (ezeconomy.admin)
  • /ezeconomy daily reset: Reset all daily rewards (ezeconomy.admin)
  • /ezeconomy reload: Reload plugin configuration (ezeconomy.admin)
  • /ezeconomy reload messages: Reload only the message file (ezeconomy.admin)
  • /ezeconomy database info: Show database connection info (ezeconomy.admin)
  • /ezeconomy database test: Test the database connection (ezeconomy.admin)
  • /ezeconomy database reset: Reset all database tables (DANGEROUS) (ezeconomy.admin)
  • /tax: Removed — tax functionality moved to EzTax (https://modrinth.com/plugin/eztax)

🛡️ Permissions

  • ezeconomy.balance.others: View other players' balances

  • ezeconomy.eco: Use /eco admin command

  • ezeconomy.pay: Use /pay command

  • ezeconomy.currency: Use /currency command

  • ezeconomy.admin: Use /ezeconomy admin commands (cleanup, reload, database, daily reset)

  • Bank Permissions:

    • ezeconomy.bank.create: Create a new bank
    • ezeconomy.bank.delete: Delete a bank
    • ezeconomy.bank.balance: View bank balance
    • ezeconomy.bank.deposit: Deposit to a bank
    • ezeconomy.bank.withdraw: Withdraw from a bank
    • ezeconomy.bank.addmember: Add a member to a bank
    • ezeconomy.bank.removemember: Remove a member from a bank
    • ezeconomy.bank.info: View bank info
    • ezeconomy.bank.admin: All bank admin actions

⚙️ Configuration Example

config.yml (Only global settings):

storage: yml
multi-currency:
  enabled: false
  default: "dollar"
  currencies:
    dollar:
      display: "Dollar"
      symbol: "$"
      decimals: 2
    euro:
      display: "Euro"
      symbol: "€"
      decimals: 2
  # Tax configuration has been removed from EzEconomy and moved to EzTax.
  # EzTax on Modrinth: https://modrinth.com/plugin/eztax
  conversion:
    dollar:
      euro: 0.95
      gem: 0.01
    euro:
      dollar: 1.05
      gem: 0.012
    gem:
      dollar: 100
      euro: 80

config-yml.yml (YML storage settings):

yml:
  file: balances.yml
  per-player-file-naming: uuid
  data-folder: data

config-mysql.yml (MySQL storage settings):

mysql:
  host: localhost
  port: 3306
  database: ezeconomy
  username: root
  password: password
  table: balances

config-sqlite.yml (SQLite storage settings):

sqlite:
  file: ezeconomy.db
  table: balances
  banksTable: banks

config-mongodb.yml (MongoDB storage settings):

mongodb:
  uri: mongodb://localhost:27017
  database: ezeconomy
  collection: balances
  banksCollection: banks

⬇️ Installation

  1. Place EzEconomy.jar in your plugins folder
  2. Configure config.yml and the appropriate config-*.yml file for your storage type
  3. Restart your server

🔗 Integration

  • EzEconomy automatically registers as a Vault provider
  • No extra setup required for Vault-compatible plugins
  • PlaceholderAPI support:
    • Use placeholders in chat, scoreboard, and other plugins:
      • %ezeconomy_balance% – Your balance
      • %ezeconomy_balance_<currency>% – Your balance in a specific currency (e.g., %ezeconomy_balance_euro%)
      • %ezeconomy_bank_<bank>% – Balance of a specific bank
      • %ezeconomy_top_1% – Top 1 player balance (replace 1 with rank)
      • %ezeconomy_currency% – Your preferred currency
    • Works with all PlaceholderAPI-compatible plugins

🛠️ Developer: Custom Storage Providers

EzEconomy supports custom storage backends (YML, MySQL, SQLite, MongoDB, or your own)! You can implement your own provider for any database or storage system.

How to add a custom provider:

  1. Implement the StorageProvider interface in your plugin or module.
  2. Register your provider before EzEconomy loads:
    EzEconomy.registerStorageProvider(new YourProvider(...));
    
  3. Only one provider can be registered. If set, EzEconomy will use it instead of YML/MySQL.
  4. See the full StorageProvider reference for required methods and implementation details.

This allows you to use SQLite, MongoDB, Redis, or any other system for player balances and banks!


Performance benchmark

Economy Benchmark Summary

Plugin Version Storage Redis Status Run time (s) Deposit avg (ms) Withdraw avg (ms) Balance/Has avg (ms) RAM avg (MiB) RAM peak (MiB) ? vs EzEconomy baseline
essentialsx 2.21.1 file off ok 1.021 0.483072 0.276326 0.005248 465.76 466.50 N/A
ezeconomy 3.1.2 mysql off ok 0.090 0.008794 0.007697 0.004436 415.20 415.50 1.00x deposit
ezeconomy 3.1.2 mysql on ok 0.098 0.012991 0.008751 0.004505 405.67 406.02 1.48x deposit
ezeconomy 3.1.2 sqlite off ok 0.034 0.008090 0.003718 0.003299 420.58 420.78 1.00x deposit
ezeconomy 3.1.2 sqlite on ok 0.036 0.007114 0.004541 0.003127 447.34 447.37 0.88x deposit
xconomy 2.26.3 mysql off ok 0.547 0.164429 0.129993 0.191681 465.28 467.52 18.70x deposit
xconomy 2.26.3 sqlite off ok 0.290 0.109194 0.061594 0.080283 428.20 430.39 13.50x deposit

Bank Operation Benchmarks

Plugin Version Storage Redis Status Run time (s) BankDeposit avg (ms) BankWithdraw avg (ms) BankBalance/Has avg (ms) RAM avg (MiB) RAM peak (MiB)
essentialsx 2.21.1 file off skipped (Vault bank API not supported by this economy provider) N/A N/A N/A N/A N/A N/A
ezeconomy 3.1.2 mysql off ok 3.330 1.225967 1.153788 0.567417 449.95 458.75
ezeconomy 3.1.2 mysql on ok 3.090 1.122824 1.078041 0.516253 440.06 448.27
ezeconomy 3.1.2 sqlite off ok 2.126 0.960253 0.838308 0.061351 463.86 469.28
ezeconomy 3.1.2 sqlite on ok 1.864 0.827309 0.747836 0.064934 490.66 496.37
xconomy 2.26.3 mysql off skipped (Vault bank API not supported by this economy provider) N/A N/A N/A N/A N/A N/A
xconomy 2.26.3 sqlite off skipped (Vault bank API not supported by this economy provider) N/A N/A N/A N/A N/A N/A

❓ Support


🔗 Related Plugins

Try the other Minecraft plugins in the EzPlugins series