Features
Vault Compatible
PlaceholderAPI
Paper 1.21+
Async Storage
- 💰 Per-player balances stored in YAML with in-memory write-back cache
- 🏦 Physical money checks — withdraw balance into tradeable in-game items
- 🏆 Async leaderboard (
/money top) with configurable refresh interval - 🔔 Admin join notifications with automatic update detection via Modrinth
- 🎵 Fully configurable per-event sounds via
sounds.yml - ✏️ All messages in
messages.ymlusing MiniMessage format - ⚡ Shorthand amount parsing:
1k,1m,1b,1t…
Commands
| Command | Description | Permission |
|---|---|---|
| /money | Show your balance | kmoney.command.money |
| /money balance <player> | View another player's balance | kmoney.command.money |
| /money pay <player> <amount> | Send money to a player | kmoney.command.money.pay |
| /money top [page] | Paginated rich list | kmoney.command.money.top |
| /money withdraw <amount> [notes] | Convert balance into money checks | kmoney.command.money.withdraw |
| /money add/remove/set <player> | Admin balance management | kmoney.admin |
| /money reload | Reload all config files live | kmoney.command.money.reload |
Integrations
- 🔗 Vault — registers as a Vault Economy provider; any plugin using the Vault API works out of the box
- 📊 PlaceholderAPI —
%kMoney_balance%,%kMoney_balance_formatted%,%kMoney_symbol%
Architecture
- YAML files per player under
plugins/kMoney/players/<uuid>.yml - In-memory write-back cache — reads are instant, dirty entries flushed every 30 s
- All leaderboard work runs asynchronously — no main thread blocking
- Money checks protected against duplication via hoppers, villager trades & piglin bartering
- Three config files:
config.yml,messages.yml,sounds.yml