QuickTax icon

QuickTax -----

Schedule tax collections and protect your economy with the most powerful and flexible tax plugin!




Added:
  • Added a new papi placeholder that retrieves the last collected tax amount for a schedule:
    • qtax_schedule_last_collected_{scheduleName}
Fixed:
  • Fixed a bug with hex color code not applying correctly to help and leaderboard messages.
----------, Apr 24, 2024

Fixed:
  • Removed unintended whitespace appended at the end of messages
----------, Feb 15, 2024

Fixed:
  • Fixed a critical grief prevention integration issue introduced in version 1.5.0
----------, Feb 5, 2024

Added:
  • Plugin now supports hex color codes as shown here
Fixed:
  • Permission nodes are now prompted properly when setting up the plugin with permission plugins
----------, Dec 30, 2023

Added:
  • 3 new commands have been added to allow admins to modify server tax balance directly:
    • qt server admin add <amount>
    • qt server admin take <amount>
    • qt server admin set <amount>
  • In lieu of the above additions, 6 new lines have been added to en.yml - if you wish to use this feature, please regenerate the language file
Note:
  • Wiki has been updated to provide even clearer tutorials/instructions on plugin usage

----------, Dec 24, 2023

Fixed:
  • Fixed an issue where plugin dependencies were not being loaded in versions 1.8-1.10.
----------, Dec 21, 2023

Added:
  • Plugin now supports 1.8+ (Previously only from 1.11+)
  • Grief Prevention integration now has an additional field active-claims-only that if set to true, will only tax players based on the claims actively used (wiki has been updated)
Fixed:
  • Fixed an issue where collectactivity cannot be used in schedule
----------, Dec 20, 2023

Added:
  • Users can now optionally specify use-percentage within each tax bracket as well if they only wish to apply percentage tax to certain brackets.
Note:
  • Existing users do not need to make any changes if they don't need this new feature.
  • Although not an encouraged use-case, it is now also possible to set negative values for balance amount which will give money from the server tax account to the players instead. Use this cautiously!
----------, Dec 16, 2023

Added:
  • 3 new options have been added into config.yml to provide more control over penalizing players with not enough balance to pay taxes. For instructions on how to use the following new options, please refer to the wiki tutorial:
    • debt-mode
    • debt-commands
    • auto-remove-claims
Note:
  • For existing users who are uninterested in the above additions, you do not have to make any changes to your config file as the default behavior of not having these new options remain compatible with older versions.
  • For existing users who are interested in the above additions, you need to either regenerate your config.yml or manually add these new options in. Again, refer to the wiki tutorial for a guide on using these new options.
----------, Dec 12, 2023

Added:
  • Now supports tax exemptions via the following 6 permission nodes:
    • quicktax.exempt.*
    • quicktax.exempt.collectname
    • quicktax.exempt.collectall
    • quicktax.exempt.collectbal
    • quicktax.exempt.collectrank
    • quicktax.exempt.collectactivity
  • Updated wiki to include more information on these new permission nodes.
  • New "tax-exempt" field added into lang/en.yml, intended to notify command sender when a user is tax-exempted. Recommended to regenerate your language file or refer to the default configurations and add in this one new line.
----------, Dec 2, 2023

Added:
  • New collectactivity command that allows collecting of taxes based on player last seen activity (regenerate your config or refer to the wiki to paste the configuration section for this into your config.yml).
Note:
  • Minor configuration change for better structure in config.yml, no changes required (but you should paste in the new collect activity section if you intend to use it).
----------, Nov 27, 2023

Added:
  • Now properly supports 1.20
  • A new commands attribute has been added inside schedule.yml that allows users to run commands post-collection (check new schedule config for details)
  • New command alias for plugin added (qtax)
----------, Nov 26, 2023

Fixed:
  • Fixed a bug that sometimes occur with collectbal command.
----------, Nov 21, 2022

Fixed:
  • Fixed decimal places for some collect commands.
  • Collect command now properly says invalid command if not used with any of its sub-commands.
  • An extra check has been added for a rare bug related to vault. No guarantees it will resolve the rare bug occurrence but a good check to have nonetheless.
Notes:
  • The QuickTax plugin will be receiving a huge rewrite in part to improve the plugin and make it more maintainable/extensible for new features. There will be some configuration changes as well which will all be part of QuickTax 2.0.0 - a better version of the plugin that I hope to release sometime later this month or early December.
----------, Nov 11, 2022

Fixed:
  • Resolved an issue where schedule.yml file was not being created for users who had storage type set to None.
----------, Nov 7, 2022

Added:
  • Now properly supports 1.18 and 1.19.
Fixed:
  • Decimal values are now trimmed to 2 decimal-places.
----------, Nov 5, 2022

Fixed:
  • Fixed a minor annoying bug where leaderboard sign place and break messages are sent multiple times after plugin reload.
  • Fixed a bug where leaderboard signs may only be done with oak signs (now allows for all sign types).
----------, Oct 29, 2021

Notes:
  • Today's update cleans up the code and improves config/schedule file comments to better guide new users (no action required for existing users except dropping in the new jar file).
  • Barring any severe bugs that require urgent fixing, the next update for this plugin (version 1.4.0) will happen around the end of November when my winter break begins. As a heads up, updates in the winter are planned to introduce the following features (some of them may drop in 1.4.1 instead):
    • Allow users to specify commands to run at the end of scheduled tax collection/at the end of a leaderboard update. This will also support PAPI variables to be used in the commands, useful for broadcasting, rewarding players etc.
    • GUI (inventory playerhead) option for leaderboard instead of just chat.
    • A QuickTax addon that will allow the collection of taxes based on other values such as SurvivalTop wealth. There is a possibility that current support for GriefPrevention will also be shifted into the new addon to keep things more organised.
    • A github wiki for the plugin will be added!
  • I hope users are looking forward to the above improvements for the winter update. If you have any suggestions, please do not hesitate to hop into our discord and share them. Thank you for all the support for this plugin thus far, cheers!^^
----------, Oct 28, 2021

Added:
  • Users can now specify their MySQL port as a separate parameter (previously you would have to append the port to the end of the host). Simply use the following to specify MySQL port in config.yml:
    • port: 3306 (3306 is the default if not specified)
Fixed:
  • Fixed an issue where collectrank may not tax players who are offline. If your server actively uses collectrank, do update!
----------, Oct 25, 2021

Fixed:
  • Fixed a rare bug where scheduled collections are collected twice.
  • Fixed a rare bug where attempting to collectrank without a proper permissions plugin throws a plugin error (now handles error correctly instead of spamming console).
Notes:
  • Important fixes, do update!
----------, Oct 24, 2021

Fixed:
  • Fixed an issue where taxes paid is shown in scientific notation for large values.
  • Fixed a minor bug with leaderboard introduced in a previous update.
Notes:
  • Apologies for the many bugs introduced and I'll try to do more thorough testing in future ;-; As of this latest update, most of the important bugs should have been fixed. Thank you for your continued support^^
----------, Oct 22, 2021

Fixed:
  • Fixed a rare bug where some economy plugins might throw an error on async tax collections. This was first discovered with XConomy raising such an error so if you are using this as your economy plugin, you will need this patch.
----------, Oct 22, 2021

Fixed:
  • Fixed a bug introduced alongside MySQL support where player data folder (if using yaml) would not be created. This bug does not affect previous users who already have player data files so existing users need not take any action. For new users having issues with player data files, please update to this version. Apologies for the inconvenience :cry:
----------, Oct 22, 2021

Fixed:
  • A leaderboard bug may occur if a world folder is deleted (along with player data) and re-generated. Just found this bug a moment ago while fixing other bugs so many apologies for the back-to-back update ;-;
----------, Oct 21, 2021

Fixed:
  • Minor bug fix for a rare SQL error.
  • Minor bug fix for leaderboard signs.
  • Minor bug fix for error message of collectname.
Notes:
  • Plugin should now work for servers running Java 8 as well.
  • No action required from users, just drop this latest jar file into your server!^^
----------, Oct 21, 2021

Added:
  • Now supports MySQL as a storage-type within config.yml. You will have to regenerate or add the following fields into your config to use MySQL:
  • Code (Text):
    host: 127.0.0.1
    user: quicktax
    password: password
    database-name: quicktax
    table-name: quicktax
Notes:
  • Unfortunately, the plugin does not currently provide a method for migrating data across different storage types. However, I promise to add this feature in a future update when I have more free time^^
  • Several optimizations have been done to improve plugin performance (particularly for loading and checking of player stats).
  • Multiple collections are now prevented from running at the same time due to possible unexpected behaviors (e.g. a collectrank collection running at the same time as a collectbal collection may lead to unexpected tax amounts). In other words, if an existing collection is ongoing, a new collection cannot be run until the current collection is complete.
  • 2 new lines have been added into the language file to reflect the above changes:
  • Code (Text):
    tax-collect-already-running: '&cAn existing tax collection is ongoing, please try again later!'
    player-load-in-progress: '&cLoading player data, please try again later.'
  • Lastly, if you do encounter any bugs or have any suggestions, please do not hesitate to reach out on discord^^
----------, Oct 20, 2021

Fixed:
  • Fixed a rare bug that causes leaderboard signs to overwrite each other if they are placed in the same xyz locations but in different worlds. This bug is a rare occurrence but it is still recommended to delete your signs.yml file and re-setup your leaderboard signs to be 100% sure that you will not run into this bug in future. Many apologies for this inconvenience >.<
----------, Oct 18, 2021

Added:
  • New leaderboard feature (/qt top) that allows players to view the top tax payers! Note that this feature requires the new option storage-type (which replaces track-stats) to be set in config.yml.
  • The leaderboard feature also comes with signs + heads that allows admins to designate a physical leaderboard area. Click on the spoiler below to see how to add yours today! If you are updating from a previous version, there are new lines you need to add to the language file so do read the notes at the end of this post^^
[​IMG]
  • Place a wall sign and type the following:
    • 1st line of sign: [quicktax]
    • 2nd line of sign: <rank>
  • Note that the <rank> above refers to the leaderboard rank that you wish to set the sign for. So for example, here is what you will type exactly for a leaderboard rank 1 sign:
    • 1st line of sign: [quicktax]
    • 2nd line of sign: 1
  • The 3rd and 4th line will be automatically updated with the player at that particular position.
  • Player heads are optional and should you wish to include them, you may place any player head one block directly above the sign or one block above the block on which the wall sign is being placed on.
  • The leaderboard signs and heads will then automatically update themselves on every leaderboard update whose interval can be configured inside the config.yml file.
  • Alternatively, leaderboard updates can also be set to run after a scheduled tax collection via the new update-leaderboard-on-run option.

Notes:
  • Changes have been made to config.yml, schedule.yml and language files. It is recommended to regenerate them due to the plentiful updates but you may also read on the changes below and manually update those files if you wish. You may also refer to the newly updated default files on the main page if you need examples.
  • 4 new permission nodes have been added:
    • quicktax.sign.add (adding a leaderboard sign)
    • quicktax.sign.remove (removing a leaderboard sign)
    • quicktax.top (for viewing the leaderboard)
    • quicktax.update (for manually updating the leaderboard)
  • 3 new options have been added in config.yml:
    • update-interval (the interval between leaderboard updates)
    • update-on-start (true/false to indicate whether a leaderboard update should run on server start)
    • storage-type (to indicate the type of storage used)
    • Note that track-stats has now been replaced with storage-type to facilitate the eventual support for MySQL.
  • 1 new option has been added into schedule.yml:
    • update-leaderboard-on-run (true/false to indicate whether a leaderboard update should run after a scheduled collection)
  • 2 new PAPI placeholders:
    • %qtax_top_name_{rank}% (retrieve the name of the player at a particular leaderboard rank)
    • %qtax_top_tax_{rank}% (retrieve the total tax paid by the player at a particular leaderboard rank)
  • Again, due to the significant amount of changes above, it is recommended to regenerate your language file for the new messages to be applied. However, should you insist, you may also manually update your language file by copy and pasting the following lines:
  • Code (Text):
    storage-disabled: '&cA valid storage type must be set in config for this feature to work!'
    # 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!'
    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 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
----------, Oct 17, 2021

Fixed:
  • Fixed an issue with PAPI placeholders that threw an error when getting schedule information while the scheduler is not running.
Notes:
  • I have just released my second plugin, SurvivalTop! If you've been enjoying QuickTax, then SurvivalTop might just be another economy plugin that you will be interested in :p Do give it a look!^^
----------, Oct 9, 2021

Added:
  • Plugin now automatically checks for updates on server start and pops up a prompt in the console to inform if a new update is available^^
Fixed:
  • Fixed a bug where if claim-ratio was set above 1.0 then it would not work.
  • Added error handling for a seemingly rare bug that can occur with essentials economy. If you do bump into such issues, please do reach out to me on discord with the logs^^
Notes:
  • Further minor optimizations were done to shift some work into compilation-time instead of runtime.
  • No other action required from users other than downloading and dropping the new JAR into the server^^
----------, Oct 8, 2021

Fixed:
  • Fixed a minor bug with the reload command introduced in the previous update, sorry! >.<
----------, Oct 7, 2021

Added:
  • 4 additional PAPI placeholders for schedules have been added. Note that {scheduleName} is a variable and has to be the name of a valid schedule configured:
    • %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
  • New /quicktax schedule view <name> command to allow viewing the details of a specific schedule (obeys current permission nodes). You no longer have to scour through a list of schedules to find the one you are interested in!
  • The help command is now listed in pages for easier reading!
  • Additional messages have been added to improve clarity with the use of certain commands such as reload.
  • Removed a massive dependency that was resulting in more than thrice the size of the plugin size than necessary (yay!)^^
Fixed:
  • Fixed an incorrect error message related to the /quicktax collectname command.
  • Fixed a bug in scheduling logic where the scheduling may not be precise down to the seconds as provided in the config.
  • Fixed a bug in /quicktax schedule view where the "next run" field is not immediately updated upon starting the scheduler.
Notes:
  • With this update, majority of the bugs/issues have been fixed and QuickTax is now considerably stable with plenty of features and flexibility (YAY)^^
  • That said, I will still continue to update and maintain the plugin so feel free to keep any suggestions coming!
  • Lastly, I have updated the config.yml and en.yml yet again. While there is no need to regenerate the config file, the language file has to be regenerated as there are significant changes. Alternatively, you may manually edit your language file with the new fields (but that's really troublesome :3)
----------, Oct 7, 2021

Added:
  • Several players have requested for PAPI support so here it is! With that said, the following 4 placeholders are now available:
    • %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
Notes:
  • I have updated certain portions of the code that should slightly improve performance^^
  • I have also updated the bottom of config.yml to include the new placeholder references.
  • Do keep your suggestions coming!
----------, Oct 6, 2021

Fixed:
  • The last update introduced a bug in the group of collect commands which incorrectly threw an "invalid command" message. I've since patched up the issue! Sorry for the inconvenience >.<
  • Fixed a typo in a message key within the language file:
    • tax- oollect -success-rank -> tax- collect -success-rank
----------, Oct 6, 2021

Added:
  • A new option has been added to configure whether players will hear a sound play when tax is collected from/paid by them. The following 2 fields will have to be added into config.yml (or you could delete and regenerate the config):
    • enable-sound: true
    • play-sound: ENTITY_PLAYER_LEVELUP (sound can be changed!)
  • Schedule view now comes with the following 3 permission nodes:
    • quicktax.schedule.view.* (view all schedules)
    • quicktax.schedule.view.enabled (view enabled schedules)
    • quicktax.schedule.view.disabled (view disabled schedules)
  • With the above changes, you have more flexibility to provide your users with information^^
Notes:
  • Permissions have been updated on the main page.
  • You will need to regenerate your config.yml file or add in the 2 fields specified above.
  • I will be looking to add PAPI support soon!^^
  • I will be looking to create a wiki for this plugin as well!^^
----------, Oct 5, 2021

Many apologies for the double update, the previous update contained the wrong JAR.

Fixed:

  • Fixed an issue with fixed-time collection tasks being thrown off by server restarts/plugin reloads (this bug only affected scheduled collections with intervals more than a day).
  • Please do read the notes below.
Notes:
  • Both config.yml and schedule.yml have been updated to provide much more guidance to plugin setup. If you are still confused about scheduling collections, do consider regenerating your schedule.yml file (by deleting it and reloading the plugin) for better explanations.
  • After this update, users will notice a new schedules folder. Do not edit the files within this folder unnecessarily because they are used to properly maintain and persist repeated task timings even through server failures, crashes or any reloads (basically a safety mechanism of sorts)
  • If you need any help with scheduling, please do not hesitate to reach out to me on my discord. Enjoy the update!^^
----------, Oct 2, 2021

Fixed:
  • Fixed an issue with fixed-time collection tasks being thrown off by server restarts/plugin reloads (this bug only affected scheduled collections with intervals more than a day).
  • Please do read the notes below.
Notes:
  • Both config.yml and schedule.yml have been updated to provide much more guidance to plugin setup. If you are still confused about scheduling collections, do consider regenerating your schedule.yml file (by deleting it and reloading the plugin) for better explanations.
  • After this update, users will notice a new schedules folder. Do not edit the files within this folder unnecessarily because they are used to properly maintain and persist repeated task timings even through server failures, crashes or any reloads (basically a safety mechanism of sorts)
  • If you need any help with scheduling, please do not hesitate to reach out to me on my discord. Enjoy the update!^^
----------, Oct 2, 2021

Fixed:
  • Schedule view now correctly shows the next run time of the tax collection if enabled!
  • Minor cosmetic updates to timezone and frequency field as well for increased readability.
----------, Sep 30, 2021

Major Scheduling Update:
  • Huge feature addition that allows highly customisable scheduling of tax collections within the schedule.yml file!
  • Detailed explanations and examples have been provided in schedule.yml itself but this change adds the following 3 new commands:
    • /quicktax schedule start
    • /quicktax schedule stop
    • /quicktax schedule view
  • This adds a whole lot of convenience for managing the economy on your server, just make sure to read the documentation in detail to not misconfigure your schedules! Owing to the complexity of this scheduling, if you bump into any issues or need help, do reach out to me on discord!
Minor Additions:
  • The collect command has been removed and is replaced with 3 separate new commands: collectall, collectrank and collectbal
  • Given the change in the above collect command, users no longer have to specify the type of tax collection to use in the config (much easier to do it through commands!)
  • The collectname command now takes in a name argument and amount argument instead of using the default config for collectall (much more convenient!)
  • Spanish translation is now included with the plugin - simply change en.yml to es.yml in the config
  • The /qt alias has been added as a shorthand for the plugin base command (even more convenience!)
Fixed:
  • Many miscellaneous bug fixes, frankly too hard and many to keep track off but I've fixed up quite a couple of things along the way^^
Notes:
  • You will have to regenerate your config file and language file or manually add in the missing fields for this update. I apologise for the many inconvenience but I've restructured the code a bit and future updates should be much less troublesome^^
  • Permissions and commands have also been updated on the main page
  • Lastly, this update brings about the long awaited schedule feature that should bring about a lot of convenience. I have also refactored various parts of the code to streamline and improve performance^^
  • Should you have any suggestions or issues, again please do reach out to me on discord. I really hope you will all find this plugin useful!^^ Cheers!
----------, Sep 30, 2021

Added:
  • New server stats included to track total taxes collected and total tax balance in the server - requires track-stats to be true.
  • New feature that allows withdrawing money from the server tax balance (to self and to others) - requires track-stats to be true.
  • New feature for players to directly pay tax to the server.
Fixed:
  • Fixed a bug where a successful tax collection message is shown even if a player has no balance left.
Notes:
  • The language file has been updated and improved so do delete your language file for the updated one to be regenerated.
  • Permissions and commands have also been updated on the main page.
  • Over the next couple of days, I will be working on a new minor release for a scheduling function for this plugin (to collect tax daily, weekly etc).
  • Do feel free to keep your suggestions coming in the meantime! If you have any issues, please reach out to me via discord!^^
----------, Sep 28, 2021

Added:
  • New stats feature to track the amount of taxes paid (toggle-able if you are worried about performance, disabled by default)
  • New editable message file (with minimal placeholders) to customize your own plugin messages (or provide translations)!
  • Plugin now supports 1.11-1.17!
Fixed:
  • Fixed a bug where a success message is shown despite collecting tax from non-existent player.
  • Fixed an error related to the plugin not loading grief prevention properly.
  • Fixed an error which allowed for negative taxes.
Notes:
  • If you were using the previous version, this update introduces 2 new lines of configurations into the config.yml file:
    • track-stats (a boolean indicating whether you want stats to be tracked)
    • lang-file (a string indicating the language file to use)
  • It is important that you include these 2 new lines into your existing configuration file. Alternatively, you may refer to the updated default configuration file on the plugin main page.
  • Permissions and commands have also been updated on the main page.
  • Lastly, do feel free to share any suggestions/improvements for the plugin!
----------, Sep 28, 2021

Fixed:
  • Fixed an overlooked issue with using tab to complete commands.
----------, Sep 27, 2021

Resource Information
Author:
----------
Total Downloads: 2,543
First Release: Sep 27, 2021
Last Update: Apr 24, 2024
Category: ---------------
All-Time Rating:
16 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings