๐ 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.
No gallery available for this project.
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
ECore 1.0.0 1.0.0 |
1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3
|
bukkit, folia, paper, purpur, spigot
|
Download |