14 Default Configurations
Tan Jin edited this page 2024-07-15 03:21:34 +08:00

On this page, you will find default configurations for the files generated by the plugin. Note that signs.yml is not included here as it is a file that should not be modified. Files below are updated as of version 1.8.0.

config.yml

#####################################################################################
#                                                                                   #
#                               General Configurations                              #
#                                                                                   #
#####################################################################################

# language file to use (feel free to add your own lang file within the lang folder of the plugin and put the name here)
lang-file: 'en.yml'

# if true, will play a sound to the player when tax is collected
enable-sound: true
# sound to play (requires enable-sound to be true)
# list of supported sound: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
play-sound: ENTITY_PLAYER_LEVELUP

# debt mode is used to determine what happens if a player does not have enough money to pay tax
# 0 - player will not be taxed at all (exempted)
# 1 - player will be taxed all current balance (balance will essentially be set to 0)
# 2 - player will be taxed the full amount (player will end up with a negative balance)
debt-mode: 0

# commands to run if a player does not have enough money to pay taxes, use %player% for player name
# note: commands also support papi placeholders
debt-commands:
  - broadcast &b%player% &cdoes not have enough money to pay taxes!

# note: tax exemptions can be done via the following 6 permission nodes:
# quicktax.exempt.*
# quicktax.exempt.collectname
# quicktax.exempt.collectall
# quicktax.exempt.collectbal
# quicktax.exempt.collectrank
# quicktax.exempt.collectactivity
# more information here: https://github.com/tjtanjin/QuickTax/wiki/Tutorial#commands--permissions

#####################################################################################
#                                                                                   #
#                             Leaderboard Configurations                            #
#                                                                                   #
#####################################################################################

# interval (in seconds) between updating the leaderboard (set to -1 to disable)
# not recommended updating too frequently, especially if you have a large player-base
# plugin reloads will restart/update this interval count from the point of reload
update-interval: 3600

# if true, will first update leaderboard on server start
# if false, will first update leaderboard upon reaching the specified interval
update-on-start: true

#####################################################################################
#                                                                                   #
#                              Storage Configurations                               #
#                                                                                   #
#####################################################################################

# whether to write updated player data to file/mysql or not at all
# options here include: MySQL, YAML and None
# The use of storage allows monitoring of taxes paid by players which is required for the following functions:
#   - checking player and server stats
#   - leaderboard (/qt top, signs and heads)
#   - withdrawing money from the server balance
# disable this if you have a huge player-base and notice performance issues
storage-type: None

# mysql connection details (ignore if not using)
host: 127.0.0.1
port: 3306
user: quicktax
password: password
database-name: quicktax
table-name: quicktax

#####################################################################################
#                                                                                   #
#                           Grief Prevention Integration                            #
#                                                                                   #
#####################################################################################

# whether to tax player balance depending on claimblocks as well (ratio set in respective sections)
# if true, additional tax will be imposed on players depending on the total amount of claimblocks they have
tax-claims: false

# whether to tax based on claimblocks that are used only
# applicable only when tax-claims is true as well
active-claims-only: false

# whether to remove all claims belonging to player if player does not have enough money to pay taxes
# requires tax-claims to be true as well
# test and use this with caution since removing player claims is a destructive action!
auto-remove-claims: false

#####################################################################################
#                                                                                   #
#                    Section for configuring tax on all players                     #
#                                                                                   #
#####################################################################################

# the options here apply when the /quicktax collectall command is used
all:
  # if true, the values used for bal-amount will be in percentage (0.1 = 10%)
  # note that if player balance is negative, then percentage will default to 0% (no tax)
  use-percentage: false

  # amount of balance to tax
  bal-amount: 100
  # the amount of tax per claimblock (0.1 = tax $0.1 for every 1 claimblock the player has)
  claims-ratio: 0.0

#####################################################################################
#                                                                                   #
#                Section for configuring tax on players based on rank               #
#                                                                                   #
#####################################################################################

# the options here apply when the /quicktax collectrank command is used
rank-bracket:
  # if true, the values used for bal will be in percentage (0.1 = 10%)
  use-percentage: false

  # list down your ranks in order of priority (players will be taxed based on first matched rank)
  # the example below lists 3 ranks, each specified with the amount of balance to tax (claim is optional)
  ranks:
    # rank knight
    Knight:
      bal: 300
      claims-ratio: 0.0
      use-percentage: false # optional, if set will apply only to this specific rank
    # rank apprentice
    Apprentice:
      bal: 200
      claims-ratio: 0.0
    # rank novice
    Novice:
      bal: 100
      claims-ratio: 0.0

#####################################################################################
#                                                                                   #
#              Section for configuring tax on players based on balance              #
#                                                                                   #
#####################################################################################

# the options here apply when the /quicktax collectbal command is used
bal-bracket:
  # if true, the values used for bal will be in percentage (0.1 = 10%)
  use-percentage: false

  # list down your balance threshold to tax from (inclusive)
  # the example below lists 3 balance thresholds, each specified with the amount of balance to tax (claim is optional)
  amount:
    # balance 100000 or more
    100000:
      bal: 300
      claims-ratio: 0.0
      use-percentage: false # optional, if set will apply only to this specific balance bracket
    # balance 10000 or more
    10000:
      bal: 200
      claims-ratio: 0.0
    # balance 1000 or more
    1000:
      bal: 100
      claims-ratio: 0.0

#####################################################################################
#                                                                                   #
#             Section for configuring tax on players based on activity              #
#                                                                                   #
#####################################################################################

# the options here apply when the /quicktax collectactivity command is used
activity-bracket:
  # if true, the values used for bal will be in percentage (0.1 = 10%)
  use-percentage: false

  # list down your last seen activity (in seconds) threshold to tax from (inclusive)
  # the example below lists 3 activity thresholds, each specified with the amount of balance to tax (claim is optional)
  last-seen:
    # last seen more than 1 week ago
    604800:
      bal: 300
      claims-ratio: 0.0
      use-percentage: false # optional, if set will apply only to this specific activity bracket
    # last seen more than 1 day go
    86400:
      bal: 200
      claims-ratio: 0.0
    # currently active
    0:
      bal: 100
      claims-ratio: 0.0

#####################################################################################
#                                                                                   #
#            Section for PAPI placeholders (ignore section if not using)            #
#                                                                                   #
#####################################################################################
# list of PAPI placeholders are provided below
# {} brackets indicate variable names e.g. {scheduleName} represents a valid schedule name and {rank} represents a player position

# %qtax_server_tax_collected% - total server tax collected
# %qtax_server_tax_balance% - total server tax balance
# %qtax_player_total_paid% - player's total tax paid
# %qtax_player_last_paid% - player's last tax paid
# %qtax_schedule_type_{scheduleName}% - get the schedule type
# %qtax_schedule_freq_{scheduleName}% - get the schedule frequency (seconds)
# %qtax_schedule_next_run_{scheduleName}% - get the time for schedule's next run
# %qtax_schedule_timezone_{scheduleName}% - get the schedule timezone
# %qtax_schedule_last_collected_{scheduleName}% - get the last collected tax amount for schedule
# %qtax_top_name_{rank}% - get the player name at specified rank
# %qtax_top_tax_{rank}% - get the player total tax paid at specified rank

schedule.yml

#####################################################################################
#                                                                                   #
#                               Global Configuration                                #
#                                                                                   #
#####################################################################################

# this is a global enable/disable option for all schedules (and is of the highest priority)
# if this is false, none of the schedules will run even if they are enabled in their own sections
enabled: false

# if true and there are schedules enabled, they will automatically run on server start or plugin reload
# otherwise it will only start with the schedule start command
autostart: false

################################## VERY IMPORTANT NOTES ########################################################
# users unsure of the schedule config are advised to try this on a test server before actual use
# catastrophic damage can be done to the server economy if you accidentally set tax collections to be done every second!
# read through the entire schedule config carefully before use, including the examples!

# you should always enable and start a collection task within a 24-hour window of your intended first run because
# specifying the start date/month for the first run of a collection is not supported
# in other words, DO NOT enable and run the schedule more than 24 hours before your intended start year/month/date/time

# to those who wonder why date/month is not supported, it adds a lot more confusion for players who may treat it
# as a repeating month/date - should you still be confused on how to schedule long term tasks, please contact me on
# discord at: FrozenFever#8284

# a full wiki will be written to better explain all these in the near future
################################################################################################################

#####################################################################################
#                                                                                   #
#                              Schedule Configuration                               #
#                                                                                   #
#####################################################################################

# the section below is to be used for scheduling repeated tax collections (3 examples have been provided)
# you may use other unique names for your own schedules
schedules:
  # example1 shows how to repeat a tax collection from all players daily at 12 midnight from GMT+8 timezone
  example1:
    # whether to use this schedule - note that if schedules are globally disabled this value will be ignored
    enabled: false

    # whether to start repeating the task from a fixed time
    # if true, will begin running the task the next time the clock reaches the timestamp configured below

    # if false, the repeating task will start count from every plugin load/server start
    # note that false is not recommended in most situations (better to specify exact timings for easier management)
    startFromFixedTime: true
    # timings below (24-hour format) are ignored if startFromFixedTime is set to false
    # a list of supported timezone is provided at the end of the config
    timezone: "GMT+8" # indicates timezone being used
    hour: 0 # 12am
    minute: 0 # 0 minute
    second: 0 # 0 second

    # interval between collecting tax (in seconds)
    frequency: 86400 # everyday

    # which tax command to run (collectall, collectrank or collectbal)
    type: collectall

    # whether to update the leaderboard after scheduled collection run (storage-type cannot be none for this to work)
    update-leaderboard-on-run: false

    # commands to run after scheduled collection is complete (e.g. broadcast, reward players)
    # papi placeholders may also be used here (e.g. %qtax_top_name_1%, %qtax_top_tax_1%)
    commands:
      - broadcast &aTax Collection Completed!
      - broadcast &b%qtax_top_name_1% &apaid the most tax at &e%qtax_top_tax_1%&a!

  # example2 shows how to collect tax based on rank at 1 hour intervals from the time the plugin is loaded
  example2:
    enabled: false
    startFromFixedTime: false
    timezone: "GMT+8" # does not matter for this example since startFromFixedTime is false
    hour: 0 # does not matter for this example since startFromFixedTime is false
    minute: 0 # does not matter for this example since startFromFixedTime is false
    second: 0 # does not matter for this example since startFromFixedTime is false


    frequency: 3600 # every 1 hour
    type: collectrank
    update-leaderboard-on-run: false
    commands:
      - broadcast &aTax Collection Completed!

  # example3 shows how to collect tax based on balance at weekly intervals at 3pm (GMT+4)
  example3:
    enabled: false
    startFromFixedTime: false
    timezone: "GMT+4"
    day:
    hour: 15 # 3pm
    minute: 0 # 0 minute
    second: 0 # 0 second


    frequency: 604800 # every week
    type: collectbal
    update-leaderboard-on-run: false
    commands:
      - broadcast &aTax Collection Completed!

# supported timezones

#  GMT-12
#  GMT-11
#  GMT-10
#  GMT-9
#  GMT-8
#  GMT-7
#  GMT-6
#  GMT-5
#  GMT-4
#  GMT-3
#  GMT-2
#  GMT-1
#  GMT+0
#  GMT+1
#  GMT+2
#  GMT+3
#  GMT+4
#  GMT+5
#  GMT+6
#  GMT+7
#  GMT+8
#  GMT+9
#  GMT+10
#  GMT+11
#  GMT+12

en.yml

# plugin prefix
prefix: '&6[&bQuickTax&6] '

# messages that support placeholders have them listed as comments on the right of the message

# general messages
reload-success: '&aQuickTax has been reloaded!'
reload-fail: '&cFailed to load config/message files. Check for error/missing fields in them or contact the author if you believe this to be an error.'
invalid-command: '&cInvalid command, type &6/quicktax help&c!'
invalid-syntax: '&cInvalid syntax, type &6/quicktax help&c!'
invalid-schedule: '&cAn invalid schedule was found, please check your schedule file!'
no-permission: '&cYou do not have the permission to run this command!'
storage-disabled: '&cA valid storage type must be set in config for this feature to work!'
player-not-exist: '&cThe player name you entered does not exist!' # %player%
player-load-in-progress: '&cLoading player data, please try again later.'

# tax payment/withdrawal messages
tax-collect-individual-in-progress: '&aStarting tax collection from %player%' # %player%
tax-collect-all-in-progress: '&aStarting tax collection from all players...'
tax-collect-rank-in-progress: '&aStarting tax collection from players based on rank...'
tax-collect-bal-in-progress: '&aStarting tax collection from players based on balance...'
tax-collect-activity-in-progress: '&aStarting tax collection from players based on activity...'
tax-collect-success-individual: '&aTax collected from &b%player%&a!' # %player%
tax-collect-success-all: '&aTaxes collected for all players!'
tax-collect-success-rank: '&aTaxes collected for players by rank!'
tax-collect-success-bal: '&aTaxes collected for players by balance!'
tax-collect-success-activity: '&aTaxes collected for players by activity!'
tax-withdraw-success: '&aBalance withdrawn successfully!'
tax-withdraw-fail: '&cThere is insufficient server tax balance!'
tax-collect-fail-individual: '&b%player% &chas no money to pay tax!' # %player%
tax-collect-already-running: '&cAn existing tax collection is ongoing, please try again later!'
tax-exempt: '&cThe player &b%player% &cis exempted from your tax collection!'
player-pay-tax-fail: '&cYou have insufficient balance to pay tax!' # %player%
player-pay-tax-success: '&aTax was collected from you and you have paid $%amount%!' # %player%, %amount%
player-receive-tax-money: '&aYou received $%amount% from the server tax balance!' # %amount%

# admin modify server balance messages
admin-add-server-balance: '&aYou have added $%amount% to the server balance!' # %amount%
admin-take-server-balance: '&aYou have taken $%amount% from the server balance!' # %amount%
admin-set-server-balance: '&aYou have set $%amount% as the server balance!' # %amount%

# scheduling messages
schedule-disabled: '&cThis command requires schedule to be enabled in its config!'
schedule-not-found: '&cThere are no tax collection schedules to run!'
schedule-run: '&aTax collection schedule now loaded and running!'
schedule-stop: '&cTax collection schedule has been stopped!'
schedule-already-running: '&cTax collection schedule is already running!'
schedule-not-running: '&cTax collection is not running!'
schedule-not-exist: '&cThe schedule you entered does not exist!' # %schedule%

# leaderboard messages
update-started: '&aStarted tax payer leaderboard update.'
update-in-progress: '&cUpdate is currently in progress, please try again later.'
update-complete: '&aThe leaderboard update is complete!'
no-updated-leaderboard: '&cThere is no updated leaderboard yet!'
quicktax-sign-placed: '&aLeaderboard sign for rank %rank% has been placed!' #%rank%
quicktax-sign-broken: '&aLeaderboard sign for rank %rank% has been broken!' #%rank%
no-quicktax-sign-add-permission: '&cYou do not have permission to create a leaderboard sign!'
no-quicktax-sign-remove-permission: '&cYou do not have permission to break a leaderboard sign!'

# format for help command
help-header: '&b----- &6Commands &b-----'
help-body: |
  &a/quicktax help &b- view a list of help options
  &a/quicktax pay <amount> &b- pay tax to the server
  &a/quicktax top &b- view tax payer leaderboard
  &a/quicktax stats &b- view your own tax stats
  &a/quicktax stats <name> &b- view a specific player's tax stats
  &a/quicktax collectall &b- tax all players
  &a/quicktax collectrank &b- tax players based on rank
  &a/quicktax collectbal &b- tax players based on balance
  &a/quicktax collectactivity &b- tax players based on activity
  &a/quicktax collectname <name> <amount> &b- tax a specific player
  &a/quicktax server stats &b- view the server total tax stats
  &a/quicktax server withdraw <amount> &b- withdraw money to self from server tax balance
  &a/quicktax server withdraw <amount> <name> &b- withdraw money to player from server tax balance
  &a/quicktax server admin add <amount> &b- add money to the server tax balance
  &a/quicktax server admin take <amount> &b- take money from the server tax balance
  &a/quicktax server admin set <amount> &b- set the server tax balance
  &a/quicktax schedule start &b- start tax collection schedule
  &a/quicktax schedule stop &b- stop tax collection schedule
  &a/quicktax schedule view &b- view all schedules
  &a/quicktax schedule view <name> &b- view a specific schedule
  &a/quicktax update &b- manually trigger an update for the leaderboard
  &a/quicktax reload &b- reloads the plugin
help-footer: '&6Type &e/quicktax help %page% &6to view next page' # %page% is the next page number

# format for showing playerstats
# supports the following placeholders:
  # %player%
  # %latesttaxpaid%
  # %totaltaxpaid%
player-stats: |
  &b----- &6%player% Stats &b-----
  &aLatest Tax Paid: &b%latesttaxpaid%
  &aTotal Tax Paid: &b%totaltaxpaid%

# format for showing serverstats
# supports the following placeholders:
  # %totaltaxcollected%
  # %totaltaxbalance%
server-stats: |
  &b----- &6Server Stats &b-----
  &aTotal Tax Collected: &b%totaltaxcollected%
  &aTotal Tax Balance: &b%totaltaxbalance%

# format for showing schedules
# supports the following placeholders:
  # %schedulename%
  # %enabled%
  # %fixedstarttime%
  # %timezone%
  # %hour%
  # %minute%
  # %second%
  # %frequency%
  # %type%
  # %nextruntime%
schedule-view: |
  &b----- &6%schedulename% &b-----
  &aEnabled: &b%enabled%
  &aFixed Start Time: &b%fixedstarttime%
  &aTimezone: &b%timezone%
  &aStart Time: &b%hour%h %minute%m %second%s
  &aFrequency: &b%frequency%s
  &aType: &b%type%
  &aNext Run: &b%nextruntime%

# format for leaderboard sign message (line 1 and 2 are fixed, only line 3 and 4 are customizable)
# supports the following placeholders:
# %player%
# %totaltaxpaid%
leaderboard-sign: |
  &a&l%player%
  &c&l%totaltaxpaid%

# format for leaderboard
leaderboard-header: |
  &b----- &6Tax Payer Leaderboard &b-----

# %num% is rank position, %player% is player name and %totaltaxpaid% is player total tax paid
leaderboard-body: |
  &a%num% &b%player%: &e%totaltaxpaid%

# %page% is the next page number
leaderboard-footer: |
  &6Type &e/qt top %page% &6to view next page