
ECore
ECore is a next-generation, high-performance economy system for Minecraft 1.21+. Multi-currency, Vault support, Auction House, dynamic pricing, banking, taxes, jobs, full transaction logs, and enterprise-level performance — all in one modular core.
💎 ECore — the complete economy for Paper & Folia
ECore is an all-in-one economy plugin for Minecraft 1.21+. It covers money, an auction house, banks, jobs, taxes, a supply-and-demand server shop and Discord logging, all sharing one fast, crash-safe core. Turn on the parts you want and switch the rest off.
Runs on Paper, Purpur and Folia · SQLite, MySQL and MariaDB · works with Vault and PlaceholderAPI · messages in English and Polish
✨ Why ECore?
- One plugin instead of six. Economy, auction house, banks, jobs, taxes and a shop share the same accounts, currencies and database.
- Your players' money is safe. Every balance change is atomic, and money is stored as exact whole numbers, never floating point. The database layer retries until a write succeeds, so a database hiccup doesn't lose money.
- No lag. Balances live in memory and are written to the database in ordered batches in the background. In our tests 8,000 transfers (about 24,000 database writes) reached MySQL in under 2 seconds.
- Folia native. Built on Paper's region-aware schedulers from day one, not patched in later.
- Easy switching. Import balances from EssentialsX or any other Vault economy plugin with one command.
💰 Core economy
- Unlimited currencies (
currencies.yml): symbol, format, 0–2 decimals, starting balance, max balance, per-world use and a permission to use it - Number formatting:
1,234.50, compact1.2k / 3.4M / 1B, and input like/pay Steve 2.5k - Full Vault support, including per-world currencies and Vault banks
- Leaderboard:
/baltopwith clickable pages - Transaction log with
/ecore historyand automatic clean-up - Suspicious activity alerts: large transfers and transfer bursts are reported to admins
🏪 Auction house
- GUI with categories, sorting (newest, oldest, price, ending soon) and search
- Escrow and anti-dupe: a purchase reserves the listing before any money moves, so an item can only be sold once, and every click in the menus is protected
- Collection bin: expired, cancelled and undeliverable items wait here and never get lost
- Listing fee and sale tax as money sinks, min/max price, allowed currencies
- Listing limits by permission (
ecore.auction.limit.<n>) - Blacklist: materials and name patterns, including items hidden in shulker boxes and bundles
- Notifications: sellers are told about sales instantly, or get a summary when they log in
- Sale history with
/ah history
🏦 Banks
- Personal bank: money kept apart from the wallet, with a GUI for quick deposits and withdrawals
- Tiers by permission (
ecore.bank.tier.<name>): each tier has its own capacity and interest rate - Interest at a set interval, with a cap per payout. Banks idle for too long earn nothing, which stops interest farming on alt accounts.
- Shared / guild banks (
/gbank): owner, manager and member roles, invites, kick, promote, a member limit and a creation cost - Deposit and withdrawal fees (money sinks) and a full history for every bank
- Vault bank API, so plugins like Towny can use ECore banks
👷 Jobs
- Five ready jobs: miner, woodcutter, farmer, hunter and fisherman. Add your own in
jobs.yml; wildcards like*_LOGwork. - Levels and XP: every level raises income
- Multipliers: per level, per permission (
ecore.jobs.multiplier.<x>), and server-wide boosts with/jobs boost 2 60 - Daily income limit, which survives restarts
- Anti-exploit:
- placed blocks pay nothing, even after a piston moves them;
- cobblestone, stone and obsidian generators pay nothing;
- crops pay only when fully grown;
- mobs from spawners, eggs and golem farms pay nothing;
- mob grinders are limited per chunk;
- creative mode pays nothing.
- Earnings are paid in batches (one transaction every few seconds instead of one per block), with instant action-bar feedback
📈 Dynamic market
- A server shop with supply and demand: players selling an item lowers its price, players buying it raises it
- Price protection: every price stays between a minimum and maximum of its base price
- Automatic balancing: prices drift back to their base over time
- Money sink: the sell price is a fraction of the buy price, so flipping items never pays
- Splitting trades gives no advantage, because every unit is priced separately
- GUI with categories, live prices and trends, plus
/sell hand,/sell alland/market price <item> - About 60 ready items in five categories
💸 Taxes and inflation control
- Progressive brackets, applied marginally like real income tax
- Transfer tax on
/pay, done in the same atomic operation as the transfer - Per-world multipliers, e.g. double tax in the Nether or a tax-free spawn
- Wealth tax on large balances (optional, active players only)
- Anti-inflation automation: ECore measures the money supply every day. If it grows faster than your target, tax rates rise automatically; if slower, they fall. Market sell prices follow.
- Statistics with
/tax stats, and a preview of any transfer's tax with/tax calc <amount>
🔔 Discord
- Webhooks, no bot needed
- Events: large transfers, suspicious activity, admin balance changes, auction sales and listings, wealth tax and job boosts
- Daily economy report: players, new players, money in circulation, the richest player, taxes, market, auctions and job income
- Mentions are always disabled, so a player named
@everyonecan't ping your server
🧰 For server owners
- Modular: switch each module on or off in
config.yml - Everything configurable: every message uses MiniMessage (English and Polish included); GUI layouts, materials and sounds can be changed
- Automatic database migrations: updating never needs manual SQL
- Update notifications: admins get a clickable chat notice when a new ECore version is out on Modrinth
- Import:
/ecore import essentialsor/ecore import <VaultPlugin>, with a preview before anything changes
🔌 Placeholders (PlaceholderAPI)
| Placeholder | Example |
|---|---|
%ecore_balance%, %ecore_balance_<currency>% | $1,234.50 |
%ecore_balance_compact% | $1.2k |
%ecore_top_<currency>_<rank>_name% / _balance | Steve / $5,300.00 |
%ecore_job_level_<job>%, %ecore_job_progress_<job>% | 12, 57 |
%ecore_jobs_earned% | $1,250.00 |
%ecore_tax_multiplier% | 1.05 |
⌨️ Main commands
| Command | What it does |
|---|---|
/balance, /pay, /baltop | Money |
/ah | Auction house |
/bank, /gbank | Personal and shared banks |
/jobs | Jobs |
/market, /sell | Dynamic market |
/tax | Tax rates and calculator |
/eco give|take|set|reset | Admin balance management |
/ecore reload|info|update|import|discord | Administration |
All limits, tiers and multipliers are permissions, so ECore works with LuckPerms or any other permission plugin.
🧩 Developer API
ECoreAPI eco = ECoreProvider.get();
Currency coins = eco.getDefaultCurrency();
TransactionResult result = eco.withdraw(player.getUniqueId(), coins, Money.toMinor(new BigDecimal("25.50")), "myplugin:shop");
The API includes balances, transfers and currencies, plus cancellable events
(PreTransactionEvent, AuctionListEvent, AuctionPurchaseEvent) and PostTransactionEvent /
AuctionSaleEvent.
📋 Requirements
- Paper, Purpur or Folia 1.21.1 or newer, including 26.x (plain Spigot is not supported)
- Java 21 or newer (Minecraft 26.x servers need Java 25)
- Optional: Vault (needed by other plugins to use ECore money), PlaceholderAPI
Tested on Paper 1.21.11, Paper 26.3 and Folia 1.21.11 with SQLite, MySQL 8.4 and MariaDB 11.4.
📊 Statistics
ECore uses bStats to collect anonymous usage
statistics: server count, player count, versions and which modules are enabled. No player data is
collected. Turn it off with metrics: false in config.yml, or for all plugins in
plugins/bStats/config.yml.
The update notifier contacts the Modrinth API to look for new versions; turn it off with
update-checker.enabled: false.
Сервер для плагина ECore - как у профи
Плагин ECore создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином ECore для друзей можно за пару минут - BungeeHost всё уже подготовил.
