XConomy icon

XConomy -----

An economy plugin that supports data synchronization between multiple servers



XConomy.png

Features
The basic economy plugin, supports other plugins that use the Vault API.
Supporting MySQL to save player data, and synchronize data between Bungeecord servers or via Redis.


Notice:
If your server install other Bungeecord sync plugins, please set their Vault function to false.


The difference between Bukkit and Paper version.

  • Bukkit version does not support Folia server
  • Paper version just support 1.20+ Paper or Folia server

Commands
  • Player Command
    • balance/money - Displays your balance
    • balance/money <player> - Displays <player>'s balance
    • pay <player> <amount> - Pay <player> <amount>
    • balancetop - Displays TOP10
    • paytoggle - Toggle accepting payments
    • xconomy help - View help
  • OP Command
    • balance/money give <player> <amount> - give <player> <amount>
    • balance/money take <player> <amount> - take <amount> from <player>
    • balance/money set <player> <amount> - set <player>'s balance to <amount>
    • balance/money give * <all/online> <amount> <reason> - give <all/online player> <amount>
    • balance/money take * <all/online> <amount> <reason> - take <amount> from <all/online player>
    • balancetop hide/display <player> - Hide or display a <player>'s data from TOP10
    • paytoggle <player> - Toggle <player>'s accepting payments
    • paypermission set <player> true/false - Set <player>'s (* represents a global setting) pay permission
    • paypermission remove <player> - Set <player>'s pay permission to default
    • xconomy reload - reload message.yml
    • xconomy deldata <player> - delete player's data
  • Permission
    • xconomy.user.balance - Allows player to look up the balance of yourself and others
    • xconomy.user.balance.other - Allows player to look up the balance of others
    • xconomy.user.pay - Allow player transfers to others
    • xconomy.user.pay.receive - Allow player receive from others (This permission require Luckperms plugin)
    • xconomy.user.balancetop - Allows player to view TOP10 ranking
    • xconomy.user.paytoggle - Allows player to toggle accepting payments
    • xconomy.admin.give - Allows player to give player balance
    • xconomy.admin.take - Allow player to take player balance
    • xconomy.admin.set - Allow player to set player balance
    • xconomy.admin.balancetop - Allow player to hide or display a <player>'s data from TOP10
    • xconomy.admin.paytoggle - Allows set player accepting payments
    • xconomy.admin.permission - Allow setting permissions
    • xconomy.admin.hidden - Hide in Tab list
Requirements
  • Vault or Enterprise
  • If MySQL version is higher than 8.0, DatabaseDrivers needs to be installed (Minecraft server is high than 1.17.X do not require this)
Configuration
Code (Text):
#Default Online Offline SemiOnline
#Default mode will automatically detect the player's UUID(support GeyserMC)
#Online mode is better for servers that enable online-mode(support Yggdrasil)
#Offline mode does not support ignoring username case
#If you use floodgate(GeyserMC) and the option 'username-prefix' is set to empty, Please use SemiOnline mode
UUID-mode: Default
#In convertion mode, can use command '/xconomy' import data from other plugins based on Vault
#Conflicting data will be skipped, The imported data will be saved in XConomy/importdata/data.yml
#In this mode, XConomy will not start normally
#After the conversion, please check data and turn off this mode
#Sponge version does not have this function
Importdata-mode: false


#Settings
Settings:
  #Chinese ChineseTW English French Spanish Russian Turkish Japanese German
  #Indonesia Portuguese Italian
  language: English
  #Whether to check for new version
  check-update: true
  #TOP10 and the Server Total refresh time interval (Seconds)
  refresh-time: 300
    #If set to true, XConomy will register the following commands:
    # - economy
    # - eco
    # - ebalancetop
    # - ebaltop
  # - eeconomy
  #Please keep in mind that if Essentials is installed on your server
  #XConomy will take over these commands.
  eco-command: true
  #XConomy will disable the economic function of Essentials.
  #Just the economic function.
  disable-essentials: true
  #Initial balance
  initial-bal: 0
  #Tax to be paid for pay command (0.5 means 50%, 1 means 100%)
  payment-tax: 0
  #Ranking size (Max value 100)
  ranking-size: 10
  #Rows per page of list (Ranking and help menu)
  lines-per-page: 5
  #If you need to modify the data in the database directly, it is recommended to enable it
  #Asynchronous saving of data is not supported after caching is disabled
  #Disabling caching will increase the pressure on the database
  disable-cache: false
  #Dose save transaction record
  #Only MySQL is supported
  transaction-record: true
  #Record transaction information of pay command while player offline.
  #The player will receive tips when they reconnect.
  #Transaction-record function must be enabled.
  offline-pay-transfer-tips: false
  #Ignore the case of player names
  username-ignore-case: false


#It can solve the problem that some plugins need to create non-player accounts, such as Factions
#==========================================================================================
#Plugins supported by default (no requirement to enable non-player-account)
#Towny
#==========================================================================================
#Non-player account data is not synced with BC
non-player-account:
  #Whether to enable non-player accounts.
  enable: false
  #If the account name contains fields in the whitelist, it will be recognized as non-player accounts.
  #Otherwise, it is recognized as a player account
  #If the player's name contains fields in the whitelist, it will be denied access to the server.
  #This function can reduce the times that reading data from the database.
  whitelist:
    #Whether to enable whitelist.
    enable: false
    fields-list:
      - tax
      - nation-


#The display of the currency
Currency:
  singular-name: dollar
  plural-name: dollars
  #Is the balance an integer
  integer-bal: false
  #Method for rounding off excess digits in the amount
  #0 indicates rounding down, 1 indicates rounding up
  rounding-mode: 0
  thousands-separator: ','
  #%format_balance% indicate the balance after the format
  display-format: '%balance% %currencyname%'
  #Maximum amount (default is maximum)
  max-number: '10000000000000000'
  format-balance:
    1000: k
    1000000: m


#SyncData settings
SyncData:
  #Whether to enable data synchronization between multiple servers
  enable: false
  #BungeeCord Redis
  #================================================== BungeeCord Channel ==================================================
  #After BungeeCord sync is turned on, the console and other plugins will not be able to modify the balance in the server without player
  #Please Set bungeecord to true in the spigot.yml
  #==================================================   Redis  Channel   ==================================================
  #Require 'slf4j' dependencies
  channel-type: BungeeCord
  #Server ID, keep the ID and the MySQL settings is the same between the servers requiring synchronization
  sign: aa


#Region-Thread settings(Only effective for Folia server)
Region-Thread:
  #When executing synchronized threads, a coordinate will be randomly selected within the specified range below to perform.
  world: world
  range-x: 1024
  range-y: 1024
 
Code (Text):
prefix: '&6[XConomy]'
balance: '&aBalance: %balance%'
balance_other: '&a%player%''s balance: %balance%'
top_title: '&e========= TOP10 <Page %page%> ========='
sum_text: '&fServer Total - %balance%'
top_text: '&e%index%: %player% - %balance%'
top_subtitle: '&7TOP10 refreshed every 5 minutes'
top_nodata: '&cNo TOP10 data'
top_out: '&cOut of the TOP10'
top_hidden: '&a%player% is hidden'
top_displayed: '&a%player% is displayed'
pay: '&cYou pay %player% %amount%'
pay_receive: '&aYou receive %amount% from %player%'
pay_fail: '&cYour balance is less than %amount%'
pay_self: '&cYou can''t pay yourself'
paytoggle_true: '&aYou accept payment now'
paytoggle_false: '&aYou refuse payment now'
paytoggle_other_true: '&cYou set %player% accept payment'
paytoggle_other_false: '&cYou set %player% refuse payment'
no_account: '&cTarget account does not exist'
invalid_amount: '&cInvalid amount'
over_maxnumber: '&cThe target account amount over the maximum amount'
over_maxnumber_receive: '&cYour amount has reached the limit'
money_give: '&cYou give %player% %amount%'
money_give_receive: '&aAdministrator give you %amount%'
money_take: '&cYou take %amount% from %player%'
money_take_fail: '&c%player%''s balance is less than %amount%'
money_take_receive: '&cAdministrator take %amount% from your account'
money_set: '&cYou set %player%''s balance to %amount%'
money_set_receive: '&cAdministrator set your balance to %amount%'
no_receive_permission: '&cThe target user can''t receive your payment!'
no_permission: '&cYou don''t have permission to use this command'
no_data: NO DATA
delete_data: '&aYour data is being updated, please login again'
delete_data_admin: '&cYou delete %player%''s data'
global_permissions_change: '&aThe global %permission% permissions has been set to
  %value%'
personal_permissions_change: '&aThe %permission% permission of %player% has been set
  to %value%'
help_title_full: '&6=============== [XConomy] HELP <Page %page%> ==============='
help1: '&6balance/money  -  Displays your balance'
help2: '&6balance/money <player>  -  Displays <player>''s balance'
help3: '&6pay <player> <amount>  -  Pay <player> <amount>'
help4: '&6balancetop  -  Displays TOP10'
help5: '&6balance/money give <player> <amount>  -  give <player> <amount>'
help6: '&6balance/money take <player> <amount>  -  take <amount> from <player>'
help7: '&6balance/money set <player> <amount>  -  set <player>''s balance to <amount>'
help8: '&6balance/money give * <all/online> <amount> <reason>  -  give <all/online
  player> <amount>'
help9: '&6balance/money take * <all/online> <amount> <reason>  -  take <amount> from
  <all/online player>'
help10: '&6balancetop hide/display <player>  -  Hide or display a <player>''s data
  from TOP10'
help11: '&6paytoggle  -  Toggle accepting payments'
help12: '&6paytoggle <player>  -  Toggle <player>''s accepting payments'
help13: '&6paypermission set <player> True/False  -  Set <player>''s (* represents
  a global) pay permission'
help14: '&6paypermission remove <player>  -  Set <player>''s pay permission to default'

 
Code (Text):
Settings:
  #SQLite MySQL
  storage-type: SQLite
  #Use connection pool or not
  #Require 'slf4j' dependencies
  #At least java version 11 is required
  usepool: false


#SQLite settings
SQLite:
  #Address is the folder path
  path: Default


#MySQL settings
MySQL:
  host: localhost
  port: 3306
  user: root
  pass: root
  database: data
  #auto add "_", can use %sign% to indicate Server ID (BungeeCord settings)
  table-suffix: ''
  property:
    usessl: false
    encoding: utf8
    timezone: ''
    allowPublicKeyRetrieval: false


#Connection pool settings
Pool-Settings:
  maximum-pool-size: 10
  minimum-idle: 10
  maximum-lifetime: 180000
  idle-timeout: 60000


#Redis settings
Redis:
  host: localhost
  port: 6379
  db-index: 1
  pool-settings:
    max-total: 10
    max-idle: 10
    min-idle: 0
  auth:
    user: ''
    pass: ''
 

BungeeCord
Install this plugin on the sub-servers and BungeCord.
Then enable BungeeCord mode in the configuration file. (There is no configuration file on the BungeeCord side)

Screenshot
screenshot.jpg

PlaceholderAPI:
%xconomy_balance% indicate balance
%xconomy_balance_value% indicate balance value
%xconomy_balance_formatted% indicate formatted balance
%xconomy_top_hidden% indicate whether to hide the player's ranking
%xconomy_top_player_#% indicate the player name of the ranking #
%xconomy_top_balance_#% indicate the player balance of ranking #
%xconomy_top_balance_value_#% indicate the player balance value of ranking #
%xconomy_sum_balance% indicate the balance of server total
%xconomy_sum_balance_value% indicate the balance value of server total
%xconomy_top_rank% indicate the rank of the player
%xconomy_top_rank_#% indicate the rank of the player#
%xconomy_global_paypermission% show global pay permission
%xconomy_paypermission% show the player pay permission
%xconomy_paytoggle% show the player's accepting payments status


Resource Information
Author:
----------
Total Downloads: 113,550
First Release: Mar 2, 2020
Last Update: Jun 17, 2024
Category: ---------------
All-Time Rating:
67 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings