RedisEconomy⚡| UNLIMITED-CURRENCIES | CROSS-SERVER | OPEN-SOURCE icon

RedisEconomy⚡| UNLIMITED-CURRENCIES | CROSS-SERVER | OPEN-SOURCE -----

Unlimited currencies, the fastest economy solution on the market, proxy-wide economy



RedisEconomy (1).png
A "multi-server" Economy Plugin (Powered by Lettuce)

WIKI PAGE


[​IMG]
Any proxy (Bungee,Velocity...)
Any Spigot (Paper,Purpur...)
6.png
To enable migration on startup:

  • Code (YAML):
    migration-enabled : true #Set this to true
  • Keep in mind that vault economy is disabled during migration
3.png
  1. You do not need to put the plugin in your proxy.
  2. Just drop it in your Spigot's plugins folder
  3. Then modify redis credentials in config.yml (leave blank user or password if you do not have it set)
  4. Choose a server-id different for every instance of Spigot in config.yml Now it is automatic
4.png
  • You can configure multiple currencies in config.yml
  • But keep in mind that only the "vault" currency would be used by other plugins
  • It is not possible to delete the vault currency: it is the default one
  • You can use abbreviations in commands with thousands, millions, ecc. (ex. 40k or 2m)
  • All currencies support offline payments!
  • You can charge a fee on payments sent
  • High compatibility with Vault: all currencies are Vault's Economy instances
5.png
  • Player Command
    • balance/money - Displays your balance (vault/default currency)
    • balance/money <player> [currency] - Displays <player>'s balance
    • pay <player> <amount> [currency] - Pay <player> <amount>. you can specify the currency used
    • balancetop/baltop <page> <currency> - Displays the top 10 richest accounts (with vault/default currency)
    • toggle-payments <player or * or all> - Blocks payments incoming from <player>
    • toggle-payments - Shows blocked accounts list
  • OP Command
    • rediseconomy reload - reloads config.yml
    • rediseconomy editmessage <configField> - Edit a language field with a convenient web UI
    • balance/money <player> <currency> give <amount> [reason...]
    • balance/money <player> <currency> take <amount> [/command... or reason...] - Takes money from a player. It is possible to specify a command to execute if the player has sufficient funds
    • balance/money <player> <currency> set <amount> - Purely for moderation
    • transaction <player> <transaction-id> [revert] - Rollback a transaction with another transaction
    • browse-transactions <player> [beforedate] [afterdate] - View transactions of a player (you can navigate inside it: all the playernames are clickable)
    • archive-transactions <filename> - Dump all transaction data to a file. Use it when your transaction db is too big
    • purge-balance <player-regex> - Purges the balance of the players matching the regex (ex. Steve(.*) matches SteveCarell and Steve_)
    • switch-currency <currency> <newcurrency> - Switches currency accounts with another one. You have to restart each instance of RedisEconomy to apply the changes
    • backup-economy <filename> - backups the economy system to a file
    • restore-economy <filename> - restores the economy system from a file
    • More commands are coming...
  • Permissions
    • rediseconomy.pay - Allows the use of /pay
    • rediseconomy.balance - Allows player to look up balances
    • rediseconomy.balance.currencyname - Allows player to look up balances with that currencyname
    • rediseconomy.toggle-payments - Allows a player to use /toggle-payments
    • rediseconomy.balancetop - Allows a player to use /balancetop
    • rediseconomy.admin - Allows to use OP commands
    • rediseconomy.purge-balance - Allows player to use /purge-balance
    • rediseconomy.admin.browse-transactions - Allows a player to use /browse-transactions
    • rediseconomy.admin.transaction - Allows player to use /transaction
    • rediseconomy.pay.currencyname - Allows player to pay with that currency and specify a reason for the payment
    • rediseconomy.admin.editmessage - Allows player to use the Web UI to edit messages
    • rediseconomy.admin.giveall - Allows player to give money to all online players through balance command with *
2.png
Vault
Spigot (1.17+)
Redis server (Guide: Click here)
7.png

Code (YAML):

# This is automatically generated on server startup
# Change it only if you have disabled plugin messages on the proxy
serverId
: server1
# Language file
lang
: en-US
# Activate this before reporting an issue
debug
: false
# if true, migrates the bukkit offline uuids accounts to the new system
# During the migration, the plugin will be disabled. Restart all RedisEconomy instances after the migration.
migrationEnabled
: false
# Leave password or user empty if you don't have a password or user
# Don't use the default credentials in production!! Generate new credentials on RedisLabs -> https://github.com/Emibergo02/RedisEconomy/wiki/Install-redis
# Default credentials lead to a non-persistent redis server, only for testing!!
redis
:
  host
: localhost
  port
: 6379
  user
: ''
  password
: ''
  database
: 0
  timeout
: 2000
  clientName
: RedisEconomy
timeout=20s&clientName=RedisEconomy
# How many chars are needed for a command autocompletion
tab_complete_chars
: 0
# Default currency name (must be the same as the currency name in the currencies list)
defaultCurrencyName
: vault
# Currencies
currencies
:
- currencyName
: vault
  currencySingle
: euro
  currencyPlural
: euros
  decimalFormat
: ' #.##'
  languageTag
: 'en-US'
  startingBalance
: 0.0
  payTax
: 0.0
  bankEnabled
: true     #enables bank support
- currencyName
: dollar
  currencySingle
: $
  currencyPlural
: $
  decimalFormat
: ' #.##'
  languageTag
: 'en-US'
  startingBalance
: 0.0
  payTax
: 0.0
  bankEnabled
: false

 

Language messages formatting:
[​IMG]
  • %rediseco_bal_<currency>% - returns the balance with 2 decimals
  • %rediseco_bal_formatted_<currency>% - returns the balance with 2 decimals with currency symbol
  • %rediseco_bal_short_<currency>% - returns the balance with the unit symbol specified in the config (millions,billions,thousands...)
  • You can use both of them toghether (ex. %rediseco_bal_formatted_short_vault%)
  • %rediseco_totsupply_<currency>% - all the circulating money of this currency (you can use _formatted and _short parameters)
  • %rediseco_top_1_bal_<short/formatted>_<currency>% - displays the player balance at position 1
  • %rediseco_top_1_name_<short/formatted>_<currency>% - displays the player name at position 1
  • %rediseco_top_1_playerprefix_<currency>% - displays the vault prefix of the player at position 1
  • %rediseco_top_1_playersuffix_<currency>% - displays the vault suffix of the player at position 1
  • %rediseco_top_position_<currency>% - Shows in which position the player is in the baltop
  • %rediseco_maxbal_<currency>% - Shows the current max balance for the currency specified
  • %rediseco_bal_decformat<decimal-format>_<currency>% - shows your balance based on a DecimalFormat (ex. %rediseco_bal_decformat_#.#0_vault% will show 6.5323555 as 6.50)
[​IMG]
image.png
[​IMG]
https://github.com/Emibergo02/RedisEconomy#api-usage
Code (Java):
// Access Point
RedisEconomyAPI api = RedisEconomyAPI. getAPI ( ) ;
if (api == null ) {
    Bukkit. getLogger ( ). info ( "RedisEconomyAPI not found!" ) ;
}

//get a Currency
Currency currency = api. getCurrencyByName ( "vault" ) ; //Same as api.getDefaultCurrency()
api. getCurrencyBySymbol ( "€" ) ; //Gets the currency by symbol

//Currency is a Vault Economy https://github.com/MilkBowl/VaultAPI/blob/master/src/main/java/net/milkbowl/vault/economy/Economy.java,
//same methods and everything
currency. getBalance (offlinePlayer ) ;
currency. withdrawPlayer (offlinePlayer, 100 ) ;

//Modify a player balance (default currency)
api. getDefaultCurrency ( ). setPlayerBalance (player. getUniqueId ( ), 1000 ) ;

//Get all accounts from currency cache
api. getDefaultCurrency ( ). getAccounts ( ). forEach ( (uuid, account ) -> {
    Bukkit. getLogger ( ). info ( "Account: " +uuid + ", Balance: " +account ) ;
} ) ;

//Direct data from redis. (Not recommended)
api. getDefaultCurrency ( ). getOrderedAccounts ( ). thenAccept (accounts -> {
    accounts. forEach (account -> {
        Bukkit. getLogger ( ). info ( "UUID: " +account. getElement ( ) + ", Balance: " +account. getScore ( ) ) ;
    } ) ;
} ) ;
api. getDefaultCurrency ( ). getAccountRedis (uuid ). thenAccept (account -> {
    Bukkit. getLogger ( ). info ( "Balance: " + account ) ;
} ) ;
[​IMG]
Resource Information
Author:
----------
Total Downloads: 3,986
First Release: Oct 28, 2022
Last Update: Dec 19, 2024
Category: ---------------
All-Time Rating:
13 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings