1.0.0
Compatibility
Changes
EconomySystem
Complete Economy Plugin for Minecraft 1.20.4 β 1.21.10
β¨ Features
- π° Full economy system with balances, payments, and administration
- π Multi-language support β German, English, French, Russian, Ukrainian
- ποΈ Multi-database support β YAML, MySQL, MongoDB
- π Transaction history β full logging of every transaction
- π― Vault integration β compatible with all Vault-based plugins
- π PlaceholderAPI support β many placeholders for Scoreboards, Chat, etc.
- π Event system β other plugins can react to transactions
- β‘ Performance optimized β efficient storage and queries
- π Security β advanced permission system
- π Top players list β shows the richest players
- π Reload system β reload the config without restarting the server
π¦ Requirements
-
Minecraft Server: 1.20.4 β 1.21.10 (Paper/Spigot)
-
Java: Version 21 or newer
-
Optional:
- Vault for plugin compatibility
- PlaceholderAPI for placeholders
π Installation
- Download the latest version of EconomySystem
- Place the
.jarfile into your serverβspluginsfolder - Restart the server
- The plugin will auto-create all configuration files
- Edit
config.ymlto your needs - Use
/economyreloadto reload the config
βοΈ Configuration
Basic Setup
The config.yml contains all important settings:
# Currency settings
currency:
name: "Coin"
name-plural: "Coins"
symbol: "$"
starting-balance: 100.0
min-balance: 0.0
max-balance: 0.0 # 0 = unlimited
decimals: 2
# Database settings
database:
type: YAML # YAML, MYSQL or MONGODB
# General settings
settings:
language: en
top-players-per-page: 10
log-transactions: true
save-transaction-history: true
max-transaction-history: 100
vault-integration: true
MySQL Example
database:
type: MYSQL
mysql:
host: localhost
port: 3306
database: economy
username: root
password: "your-password"
table-prefix: economy_
MongoDB Example
database:
type: MONGODB
mongodb:
connection-string: "mongodb://localhost:27017"
database: economy
collection: balances
use-ssl: false
π Commands
Player Commands
| Command | Aliases | Description | Permission |
|---|---|---|---|
/balance [player] |
/bal, /money |
Shows your balance | economy.balance |
/pay <player> <amount> |
/send |
Pay another player | economy.pay |
/top [page] |
/topbalance |
Shows the richest players | economy.top |
/history [player] [amount] |
/hist |
Shows transaction history | economy.history |
Admin Commands
| Command | Description | Permission |
|---|---|---|
/economy set <player> <amount> |
Set a player's balance | economy.admin |
/economy give <player> <amount> |
Give money | economy.admin |
/economy take <player> <amount> |
Remove money | economy.admin |
/economy reset <player> |
Reset to starting balance | economy.admin |
/economyreload |
Reload config | economy.reload |
π Permissions
economy.balanceβ View own balanceeconomy.balance.othersβ View othersβ balanceeconomy.payβ Send moneyeconomy.topβ View top listeconomy.historyβ Show own historyeconomy.history.othersβ Show other playersβ historyeconomy.adminβ All admin commandseconomy.reloadβ Reload the plugineconomy.*β All permissions
π PlaceholderAPI
Balance
%economy_balance%%economy_balance_formatted%%economy_balance_formatted_symbol%
Currency
%economy_currency_name%%economy_currency_name_plural%%economy_currency_symbol%
Top List
%economy_top_1%%economy_top_1_balance%%economy_top_1_balance_formatted%- Works for positions 1β1000
Other
%economy_rank%%economy_has_account%
Example
You have %economy_balance_formatted% in your account!
Your rank: #%economy_rank%
Richest player: %economy_top_1% with %economy_top_1_balance_formatted%
π» API for Developers
EconomyAPI
double balance = EconomyAPI.getBalance(player);
EconomyAPI.deposit(player, 100.0);
EconomyAPI.withdraw(player, 50.0);
EconomyAPI.transfer(player1, player2, 25.0);
String formatted = EconomyAPI.format(100.0);
Events
@EventHandler
public void onBalanceChange(BalanceChangeEvent event) {
// React to balance changes
}
@EventHandler
public void onTransaction(TransactionEvent event) {
// React to successful transactions
}
Vault Integration
Economy economy = Bukkit.getServicesManager()
.getRegistration(Economy.class)
.getProvider();
economy.depositPlayer(player, 100.0);
double bal = economy.getBalance(player);
ποΈ Database Support
YAML
- No need for setup
- Stored in
data.yml
MySQL
- Requires MySQL server
- Perfect for large servers
MongoDB
- Requires MongoDB server
- Ideal for very large servers and distributed systems
π Multi-Language Support
Languages available:
- π©πͺ German (default)
- π¬π§ English
- π«π· French
- π·πΊ Russian
- πΊπ¦ Ukrainian
Change language in config:
settings:
language: en
Custom translations:
Add a file like lang_en.yml, copy structure, translate, reload plugin.
π Transaction History
- Player payments
- Admin actions
- Deposits / withdrawals
- Timestamp + reason
Config:
settings:
save-transaction-history: true
max-transaction-history: 100
Usage:
/history/history 20/history PlayerName
π Supported Versions
β 1.20.4 β 1.21.10 Automatic version checking included.
π Known Issues
- MySQL driver must be installed manually
- MongoDB driver must be installed manually
π Support
- GitHub Issues
- GitHub Wiki
- Discord Server
π License
Licensed under MIT License.
π Credits
- Built for Paper/Spigot
- Compatible with Vault + PlaceholderAPI
π Changelog
Version 1.0.0
- Initial Release
- Full Economy System
- Multi-language (5 languages)
- Multi-database (YAML/MySQL/MongoDB)
- Transaction history
- Vault support
- PlaceholderAPI support
- Event system
- Version checking
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:eU6drJr9:tZfxX9PN"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:eU6drJr9:tZfxX9PN"
}
