Coinsystem ★ Economy Plugin ★ Vault & Papi Support
3.3.0-BetaEconomy Plugin, Economy, Coins CoinSystem, Vault, Performant, API
CoinSystem
A fast, modern economy implementation built for multi-server networks and standalone Minecraft instances.
Key Features
- Database Storage: Works with MySQL or local SQLite databases. Switches automatically if your main connection drops.
- Smart Caching: Balance changes run in the background so your server main thread never freezes or drops TPS.
- Physical Items: Let users turn their coins into physical bank note items with a simple command.
- Full Configuration: Change currency names, change formatting symbols, and set custom default starting coins.
- Payment Limits: Set max pay limits per transaction using permission nodes.
- ClanSystem Hook: Out of the box integration with ClanSystem plugins.
Vault Support CoinSystem includes an internal Vault Bridge. When you run Vault on your server, CoinSystem registers itself right away as the main economy plugin. Works instantly with chest shops, trade plugins, and GUIs.
Tip: Want to run another economy provider instead? Just set settings.vault.enable to false in your config file.
PlaceholderAPI Integration
Integrate live balance data directly into scoreboards, tablists, and chat formats using our optimized placeholders:
| Placeholder | Description |
| %coinsystem_balance% | Raw player balance value |
| %coinsystem_balance_formatted% | Formatted balance display (e.g., 1,234.50) |
| %coinsystem_rank% | Current leaderboard position (e.g., 5) |
| %coinsystem_top_balance% | Highest individual balance on the server |
| %coinsystem_top_balance_formatted% | Formatted top player balance |
| %coinsystem_top_1_name% | Username of the highest-ranking player |
| %coinsystem_server_balance_total% | Sum of all economy balances on the server |
| %coinsystem_server_balance_total_formatted% | Formatted total server balance |
| %coinsystem_default_balance% | Configured starter balance for new accounts |
| %coinsystem_next_rank_balance_formatted% | Currency needed to reach the next leaderboard rank |
| %coinsystem_pay_limit_formatted% | Maximum allowed amount per /pay execution |
| %coinsystem_total_players% | Total registered economy accounts in storage |
Commands & Permissions
Clean command structures with deep permission nodes for fine-tuning administration:
| Command | Description | Permission Node |
| /coins [name / uuid] | Check coin balance | system.commands.coins.display (.others) |
| /coins help [--all] | View help menu | system.commands.help.all |
| /pay <name / uuid> <amount> | Pay a player | system.commands.coins.pay |
| /updatecoins <name / uuid> <amt> | Admin: Set/Add/Remove coins | system.commands.coins.update |
| /withdraw <amount> | Convert coins to physical item | system.commands.coins.withdraw |
| /topcoins | View richest players | system.commands.coins.top |
| /coinlog [type] [name / uuid] | View transaction logs | system.commands.coinlog (.payments/.update_coins/.cache) |
Developer API
Make your own addons with our asynchronous API framework.
1. Dependency Setup (plugin.yml)
depend: [CoinSystem]
2. Accessing the Hook
CoinSystemAPI coins = CoinSystemAPI.get();
if (coins != null) {
double balance = coins.getBalance(uuid);
coins.deposit(uuid, 100.0);
// Returns false on insufficient funds or cancellation
boolean success = coins.withdraw(uuid, 50.0);
// Detailed transaction results (e.g. SUCCESS, INSUFFICIENT_FUNDS, LIMIT_REACHED)
TransferResult result = coins.transfer(fromUuid, toUuid, 25.0);
}
3. Asynchronous Operations (Main-Thread Safe)
coins.getBalanceAsync(uuid).thenAccept(balance -> {
// Thread-safe logic here
});
coins.transferAsync(fromUuid, toUuid, 25.0).thenAccept(result -> {
if (result.isSuccess()) {
// Handle completed transfer
}
});
4. Custom Events
// Fired before a player-to-player payment executes (Cancellable)
@EventHandler
public void onPay(PlayerPayPlayerEvent event) {
CoinPlayer payer = event.getCoinPlayer();
double amount = event.getPayedCoins();
Bukkit.getLogger().info(payer.getName() + " initiated a transfer of " + amount + " coins.");
}
Terms of Service: By downloading or using this plugin you agree to these rules:
- Do not reupload this plugin. Sell this plugin or share this plugin on other websites.
- Do not post bug reports or stacktraces, in the review section. Use Discord or private messages instead.
- Do not decompile this plugin. Share modified jar files of this plugin.
- Do not claim this plugin or its code as your own.
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
26.2MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.9MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
4.7MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta