⭐️ TheosisEconomy ⭐️ [1.7 - 1.21.4] icon

⭐️ TheosisEconomy ⭐️ [1.7 - 1.21.4] -----

Your go-to plugin for a simple, yet fully customisable and robust, Vault-based economy provider!




Added configurable default values for these placeholders...
  • %theosiseconomy_richest_<position>_name%
  • %theosiseconomy_richest_<position>_uuid%
  • %theosiseconomy_richest_<position>_balance%
  • %theosiseconomy_richest_<position>_balance_formatted%
... for when the <position> value does not correspond to a player.

By default they will resolve to "N/A" - in order to configure them, either regenerate your config.yml or add this section to your current config.yml:
Code (Text):
settings:
 
  # Settings related to PlaceholderAPI placeholders
  placeholders:
   
    # What the %theosiseconomy_richest_<position>_name% placeholder will be replaced with if there is no player in the specified position on "/balancetop"
    baltop-position-name-none: "N/A"
   
    # What the %theosiseconomy_richest_<position>_uuid% placeholder will be replaced with if there is no player in the specified position on "/balancetop"
    baltop-position-uuid-none: "N/A"
   
    # What the %theosiseconomy_richest_<position>_balance% placeholder will be replaced with if there is no player in the specified position on "/balancetop"
    baltop-position-balance-none: "N/A"
   
    # What the %theosiseconomy_richest_<position>_balance_formatted% placeholder will be replaced with if there is no player in the specified position on "/balancetop"
    baltop-position-balance_formatted-none: "N/A"
----------, Oct 13, 2024

Added the placeholder %theosiseconomy_accepting_payments% which returns either "true" or "false" depending on whether a given player is accepting payments.
----------, Oct 11, 2024

Added a new permission theosiseconomy.balancetop.exclude which, when a player has it, excludes them from the /balancetop list.
----------, Sep 30, 2024

  • Removed the configuration setting settings.currency.symbol because all it was used for was replacing the <symbol> placeholder in the settings.currency.format setting. So instead, if you want a currency symbol, just insert it directly into there.
  • Changed the default value of the configuration setting settings.currency.format from <symbol><amount> <name> to £<amount> <name>.
----------, May 27, 2024

  • Added a configuration option called rounding-mode, where you can specify how TheosisEconomy should round monetary amounts when they use more decimal places than your currency is configured to use - you'll have to reset your config.yml file or manually copy the option across in order to utilise it.
  • Monetary amounts in log messages will no longer be formatted, and instead be raw numbers.
  • Fixed rare instances of displaying monetary amounts in scientific notation instead of plain numbers.
  • Slightly modified some of the default logging messages to make them more concise and descriptive.
  • Changed the level of "fail" logs to WARNING instead of INFO.
  • Changed the default value of the settings.logging.log-file configuration option to true.
  • Changed some comments in the configuration file to make them more descriptive.
  • Updated Kyori Adventure to 4.17.0
  • Updated Apache Commons Text to 1.12.0
Since many of these changes are related to the configuration file, I would recommend resetting your config.yml file.
----------, May 24, 2024

Removed instances of CommandSender#spigot from the code and packaged the Google Gson library into the jar in order to allow TheosisEconomy to work on Minecraft versions 1.8 to 1.11. You may need to use an older version of Vault if you're using these versions though.

TheosisEconomy may also work on versions prior to 1.8, but I have not tested this. Feel free to test and let me know!
----------, May 1, 2024

Fixed issue where the logs.log file was overwritten with a blank file each time the server loaded. Sorry!
----------, Apr 23, 2024

Added the ability to log to a file named "logs.log", as well as the console. To control these options, either reset your config.yml file, or add the following options to it:
  • settings.logging.log-console: true/false
  • settings.logging.log-file: true/false
----------, Apr 18, 2024

Made it so that if a message is blank ( "") in the config.yml file, it does not get sent at all (previously, it would send a blank message).
----------, Apr 11, 2024

Added back the negative-amount error message, as it is still applicable to /economy set <amount> when <amount> is negative.

Changed some error message calls from negative-amount to not-greater-than-zero-amount where it makes sense.
----------, Mar 31, 2024

There was an internal error message, as well as a configurable error message ( messages.error.negative-amount), that was used when an amount was not greater than zero and needed to be, but it was mislabelled and written as if the amount had to just not be negative. This update fixes that. The new configurable message is messages.error.not-greater-than-zero-amount.
----------, Mar 28, 2024

Fixed small issue where if the default balance had trailing zeros after the decimal point that were more than the number of decimal places that the currency is configured to use, it would fail to create an account for joining players.
----------, Mar 24, 2024

All log messages are now configurable within the config.yml file. You can choose to enable or disable each individual log message (all are enabled by default), and customise them to your liking. :)

You will have to delete your current config.yml file and let TheosisEconomy generate a fresh one to see these changes, or you can just copy them from the default config shown in the Overview section.
----------, Mar 23, 2024

Fixed issue where the baltop update task wasn't scheduled on startup.
----------, Mar 22, 2024

  • Switched from using Java double to BigDecimal wherever possible. Vault still uses double for its methods, meaning the maximum balance still should not be increased from its default value, but all calculations are done using BigDecimal and balances are stored using the string representation of BigDecimal. This means that there should never be any rounding errors or precision loss.
  • Added back /economy reload. It now reloads changes made to the config file and the data file, and re-schedules the repeating baltop update task.
  • Added console logging. Now any changes that are made to a player's balance will be logged to the console, with the exception of manual data.yml editing.
  • Added a few more error handlers and corresponding messages into the config file, and removed some redundant ones. Also made some slight tweaks to some comments. You will have to delete your current config and let TheosisEconomy generate a fresh one in order to see these changes.
  • Made it so that the total combined balance value that shows when /balancetop is used still shows even if there are no players in the list.
  • Other under-the-hood code improvements.
----------, Mar 22, 2024

This update makes it so that hover events in messages using MiniMessage work in Minecraft versions prior to 1.16.
----------, Mar 21, 2024

  • Added new placeholder: %theosiseconomy_richest_<position>_uuid%
  • Restored compatibility with Minecraft versions 1.13 to 1.17 - these versions required the plugin to be compiled with older versions of the JDK, and in the last few updates, I completely forgot this and compiled it with JDK 17. In this update, I compiled the plugin using JDK 8. The plugin is now once again compatible with Minecraft versions 1.13 onwards. Sorry for any inconvenience caused by this mistake!
----------, Mar 21, 2024

Fixed error with the previous update where a couple of messages' placeholders didn't resolve because I didn't reference them correctly in the code. :)
----------, Mar 20, 2024

Another update where I would STRONGLY recommend deleting your current config.yml file and letting the plugin generate a new one (sorry!)

Here are the additions and changes in this update:
  • The placeholders in the messages in the config have been changed to use <> instead of %% - e.g. %amount% is now <amount>. This is because messages are now constructed and sent purely using components instead of strings.
  • Added two new PlaceholderAPI placeholders; %theosiseconomy_combined_total_balance% and %theosiseconomy_combined_total_balance_formatted%.
  • Added PreBaltopSortEvent. Plugins can listen for this event and set a list of players who they wish to exclude from /baltop.
  • Added click and hover events to the output of /economy using MiniMessage in the default config.
  • Fixed the messages.error.too-small-amount message using the formatted version of the amount instead of the raw argument. Also fixed a typo in the comment for this message in the config.
----------, Mar 20, 2024

Added the following PlaceholderAPI placeholders:
  • %theosiseconomy_richest_<position>_name%
  • %theosiseconomy_richest_<position>_balance%
  • %theosiseconomy_richest_<position>_balance_formatted%
<position> represents a position from richest to poorest, i.e. 1 represents the richest player, 2 represents the second-richest player, and so on...
----------, Mar 9, 2024

A lot of code changes happened in this update. It is now a lot cleaner, more optimised, and follows better practice than it previously did.

It is pretty much ESSENTIAL that you delete your current config.yml file if you already have one and let the plugin generate a new one.

While most changes were just under-the-hood code improvements, there were some that users will probably care about. These are:
  • The /balancetop command now also shows the combined total balances of all players.
  • Added PlayerPayPlayerEvent for developers. You will have to add the TheosisEconomy jar to your plugin in order to listen for it.
  • Switched from the legacy colour code format (e.g. &4Hello world!) to the MiniMessage format (e.g. <red>Hello world!</red>). This allows users to have way more customisability over their messages, including click events, hover text, etc. Read more about the MiniMessage format here: https://docs.advntr.dev/minimessage/format.html.
  • Changed the include-banned-players configuration option to exclude-banned-players. It just makes more sense to have it this way in my brain. This setting also doesn't cause the server to appear to hang on startup anymore (see previous update).
  • Removed the /economy reload command. I did this because it wasn't really thorough enough for my liking. I may re-add it back in the future, in a more complete state.
  • The data.yml file now also stores the last known username of each player.
  • Fixed some typos in comments in the config.yml file, and changed some default values. Once again, you pretty much NEED to reset your config.yml file after this update.
----------, Mar 9, 2024

  • Changed the default config option settings.baltop.
    include-banned-players
    to false because if it is true, it can cause the server to appear to hang on startup when it is checking the banned status of every player.
  • Added a warning message to let the user know that the server has not crashed, and is just checking the banned status of every player and that it can take a while (only present if the aforementioned config option is true).
----------, Oct 13, 2022

----------, Jan 3, 2022

  • Re-added load: STARTUP to plugin.yml, due to some plugins such as Command Panels not detecting an economy provider when it wasn't there.
  • Moved the code that initially caches offline players to a ServerLoadEvent listener instead of inside onEnable to fix this issue TheosisEconomy was having with Spigot 1.13.2 and potentially other versions below 1.16.
----------, Jan 3, 2022

  • Removed load: STARTUP from plugin.yml, as it caused issues with Spigot 1.13.2 and potentially some other older versions.
  • Since the check for whether or not players are vanilla-banned is no longer done repeatedly in an asynchronous task, it is now only done on startup and reload. This means that the output of /balancetop will not reflect changes regarding vanilla-bans until a plugin reload or server restart is done. This is irrelevant if you use LiteBans or you have the
    settings.baltop.include-banned-players
    configuration option set to true. I may try to come up with a better solution for this in the future.
----------, Dec 28, 2021

  • Changed Spigot API version to 1.13 and Java version to Java 8, so the plugin should now work on all Spigot versions from 1.13
  • Updated LiteBans API version to 0.3.5
  • Removed OfflinePlayer#isBanned call from the asynchronous baltop sorting code, due to it potentially causing unusual issues
  • Improved baltop sorting code a lot, making it more efficient
  • Improved some other bits and pieces of code
----------, Dec 28, 2021

  • Added more null checks to prevent a NPE error that could occur if an offline player somehow doesn't have a known username
----------, Nov 27, 2021

  • Made it so that the success message for /economy reload is actually sent to the command sender :)
----------, Oct 31, 2021

  • Added reload command (/economy reload) (this will only reload the "config.yml" file, not the "data.yml" file - you should never edit the "data.yml" file while your server is running, use the /economy command to modify players' balances instead) and updated configuration file accordingly
  • Improved tab completion for the /economy command
  • Improved asynchronous code for updating baltop - this should have fixed the errors reported by @Adixe and @DariusTK, but if not, please let me know!
----------, Oct 31, 2021

  • Fixed a fairly harmless exception that would occur upon a new player joining a server for the first time
----------, Aug 4, 2021

  • Added LiteBans compatibility - TheosisEconomy will now take LiteBans bans into account when determining whether or not to show banned players on /balancetop
  • Removed a Bukkit API call from inside an asynchronous repeating task because apparently that's bad
  • Fixed a bug where /balancetop would show no balances if it was executed at a specific time during the update task
  • Fixed a small typo in a comment of the configuration file
  • Improved some code
----------, Jul 28, 2021

  • Added a null check to prevent a NPE error that could occur if an offline player somehow doesn't have a known username
----------, Jun 22, 2021

Resource Information
Author:
----------
Total Downloads: 7,363
First Release: Jun 18, 2021
Last Update: Oct 13, 2024
Category: ---------------
All-Time Rating:
12 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings