- Rich features:
- Money pay (online/offline)
- Money rank list
- Money management (operator) (change/reset)
- Free of tedious file editing
- Support with full GUI forms
- Support with hot reloading
- Support with localized multi-language
Tips: UMoney is adapted to all versions of Endstone
Check pre-plugins
- Optional pre-plugin
- Ensure you have downloaded the correct version and installed all required pre-plugins
- Place the
.whlfile into your server'spluginsfolder - Restart your server
- Enter the command
/umto call out the main form of UMoney
plugins/
├─ umoney/
│ ├─ config.json
│ ├─ money.json
│ ├─ transactions.json
│ ├─ lang/
│ │ ├─ zh_CN.json
│ │ ├─ en_US.json
config.json
{
"default_money": 5000, // The default money for a new player
"rank_list_display_num": 15 // The max num of players the money rank list can display
}When upgrading from an older UMoney release, existing official language files
(zh_CN.json and en_US.json) are automatically completed with any missing
default keys. Existing translations, old extra keys, and custom language files
are preserved.
The canonical rank-list configuration key is rank_list_display_num. Older
configs that only contain money_rank_display_num are migrated by copying that
value to rank_list_display_num; the old key and any unknown config fields are
left untouched. UMoney's external API methods remain unchanged.
money.json
{
"umaru rize": 113733,
"minokni": 1200,
"TheDeerInDream": 10090,
"SoleWool4183955": 112566,
"BarrelGold90850": 6020
}transactions.json
[
{
"id": "07e51fbf-4d81-43bf-8b7b-3d852d0ac4f2",
"created_at": "2026-06-01T10:00:00Z",
"type": "pay",
"source": "form",
"operator": null,
"payer": "umaru rize",
"payee": "minokni",
"amount": 100,
"balances_before": {
"umaru rize": 113733,
"minokni": 1200
},
"balances_after": {
"umaru rize": 113633,
"minokni": 1300
}
}
]- Currently supported localized languages for UMoney:
-
zh_CN -
en_US
- How to add more languages to UMoney? Here we use Japanese for an example.
- Create a file named
ja_JP.jsonand place it intolangfolder - Copy all key-value pairs from
en_US.jsonand paste them intoja_JP.json - Refer to the English values and translate them all into Japanese, then save the file.
- Restart your server, and you're all done!
- Create a file named
- If you'd like your translated language to be included as one of the official languages of this plugin, feel free to shoot over a PR.
# Get all players' money data
self.server.plugin_manager.get_plugin('umoney').api_get_money_data() -> dict
# Get all money transaction records
self.server.plugin_manager.get_plugin('umoney').api_get_transaction_data() -> list
# Get the target player's money transaction records
self.server.plugin_manager.get_plugin('umoney').api_get_player_transaction_data(player_name: str) -> list
# Get the target player's money
self.server.plugin_manager.get_plugin('umoney').api_get_player_money(player_name: str) -> int
# Get the richest player's money
# return [player_name: str, player_money: int]
self.server.plugin_manager.get_plugin('umoney').api_get_richest_player_money_data() -> list
# Get the poorest player's money
# return [player_name: str, player_money: int]
self.server.plugin_manager.get_plugin('umoney').api_get_poorest_player_money_data() -> list
# Reset the target player's money
self.server.plugin_manager.get_plugin('umoney').api_reset_player_money(player_name: str, money_to_set: int) -> None
# Change the target player's money
# money to change cannot be zero
self.server.plugin_manager.get_plugin('umoney').api_change_player_money(player_name: str, money_to_change: int) -> NoneYou can view related screenshots of UMoney from images folder of this repo.