⭐️ TheosisEconomy ⭐️ [1.7+]
1.46The go-to plugin for a simple, yet fully customisable and robust, Vault-based economy provider!
1.46latestSmall Logging ImprovementDec 16, 2025 Resulting balances are now included in the vault-withdraw-success and vault-deposit-success log messages by default.1.45Config comment additionSep 21, 2025 Added a comment to the messages.error.no-baltop-entries config option.1.44Merge "total" text into `/balancetop headerSep 21, 2025 This update makes it so that the /balacetop header contains the "total" text, instead of them being separate, allowing you to remove said text if you wish, without it leaving a blank line. I would strongly recommend deleting your config.yml file and allowing a new one to generate after updating. Also: · Updated LiteBans API from 0.5.0 to 0.6.1 · Update Google Gson from 2.13.1 to 2.13.2 · Update Apache Commons Text from 1.13.1 to 1.14.0 · Update Kyori Adventure from 4.20.0 to 4.24.0 Full changes: https://github.com/OfficialTheosis/TheosisEconomy/commit/…1.43Baltop Entry AlignmentMay 31, 2025 This update adds a new placeholder, <dots>, which can be used in the configuration options, messages.baltop.entry and messages.baltop.entry-you. It will resolve to a number of dots (".") which will (approximately) align the content of an entry after the placeholder with that of other entries, making baltop much more easily readable. The default config has been updated to include the placeholder, so you can either manually include it in your own config.yml, or delete it and allow a new one to generate.1.42Small FixMay 27, 2025 Made it so that during the data saving task, after a player account is saved to a JSON file, they are removed from the list of dirty player accounts one at a time, instead of all at once at the end of the task.1.41Small Migration FixMay 27, 2025 When migrating data from an old "data.yml" file, it now makes sure to handle cases where a lastKnownUsername was not present, as this was the case in older versions of TheosisEconomy.1.40Small FixMay 27, 2025 The pending data saving task is now correctly cancelled upon plugin reload and disable before a final save is done on the main thread, so there is no risk of the two tasks overlapping.1.39Thread-Safe SavingMay 27, 2025 · Made the data saving process safe from potential concurrency issues that were previously present. · The settings.misc.data-file-save-frequency config option is now in seconds rather than ticks, and now has a default value of 5 instead of 100. Be sure to change this in your config.yml file if you want frequent saving, or delete it and allow a new one to generate. · The repeating async data saving task no longer uses the Bukkit scheduler, meaning it is independent on server ticks, meaning lag on the main thread will not halt data saving. It will also make sure to wait until a previous save task is fully completed before scheduling the next one, so there is no risk of overlapping.1.38JSON SavingMay 26, 2025 · Player data will now save as individual JSON files, rather than one large "data.yml" file. If you have a "data.yml" from previous versions of TheosisEconomy, the data from it will automatically be migrated to individual JSON files, and the old "data.yml" file will be deleted. · Changed the default value for the configuration setting settings.misc.data-file-save-frequency from 600 to 100.1.37Small FixMay 6, 2025 Made it so that the new placeholder, %theosiseconomy_richest_<position>_entry_legacy%, actually uses the correct configuration option for when a specified position does not correspond with a player.1.36Default Value for New PlaceholderMay 5, 2025 Added a new configuration option, settings.placeholders.baltop-position-entry-legacy-none, which is a string that dictates what the new %theosiseconomy_richest_<position>_entry_legacy% will be replaced with if there is no player in the specified position on /balancetop.1.35Baltop Entry Placeholder in Legacy FormatMay 3, 2025 · Added new placeholder %theosiseconomy_richest_<position>_entry_legacy%, which, unlike the non-legacy variant, formats the entry using legacy (&) colour codes instead of MiniMessage. Useful for plugins that don't support MiniMessage formatting.1.34Exclude Permission Setting + New Baltop Placeholder + Asynchronous SavingApr 26, 2025 After updating TheosisEconomy, I recommend deleting your current config.yml file and letting a new one generate, as this update includes a few configuration changes!
· Added a new configuration option, settings.baltop.consider-exclude-permission, which now needs to be set to true in order for the theosiseconomy.balancetop.exclude permission to have any effect. · Added a new PlaceholderAPI placeholder, %theosiseconomy_richest_<position>_entry%, which resolves to an entire /balancetop entry in MiniMessage format. Useful for creating hologram-based leaderboards, for example. There is also a new configuration option, settings.placeholders.baltop-position-entry-none, which determines what the placeholder will resolve to if <position> doesn't correspond to an existing position on /balancetop. · The data.yml file is now saved asynchronously and on a schedule, rather than on the main thread and after every change made to a player's data. It is also saved upon using /economy reload, and when the plugin disables. There is a new configuration option, settings.misc.data-file-save-frequency, which determines the frequency at which the data.yml file should be saved asynchronously. · The /economy reload command no longer considers manual changes made to the data.yml file. If you want to manually edit data through the data.yml file, you'll need to do it while your server is not running. · Fixed NullPointerException that would occur if /economy reload was executed and the data.yml file was empty. · Updated Kyori Adventure to 4.20.0 · Updated Apache Commons Text to 1.13.1 · Updated Apache Commons Collections to 4.5.0 · Updated Google Gson to 2.13.1
1.33Small ImprovementsApr 26, 2025 · When a player joins the server, their last known username in their account is now only updated if their current name is actually different, meaning the data.yml file won't be marked for saving every time a player logs in, unless they have changed their name since last time. · The data.yml file will only be saved upon a plugin reload and disable if changes were made to players' data since the last save. · Improved some of the /balancetop command's code.1.32Default Values for Baltop PlaceholdersOct 13, 2024 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"1.31Accepting Payments PlaceholderOct 11, 2024 Added the placeholder %theosiseconomy_accepting_payments% which returns either "true" or "false" depending on whether a given player is accepting payments.1.30Balancetop Exclude PermissionSep 30, 2024 Added a new permission theosiseconomy.balancetop.exclude which, when a player has it, excludes them from the /balancetop list.1.29Small Config ChangeMay 27, 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>.1.28Rounding Config Option + General Improvements and ChangesMay 24, 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.1.271.8 - 1.11 SupportMay 1, 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!1.26File Logging Bug FixApr 23, 2024 Fixed issue where the logs.log file was overwritten with a blank file each time the server loaded. Sorry!1.25File LoggingApr 18, 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/false1.24Don't Send Blank MessagesApr 11, 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).1.23Small Bug FixesMar 31, 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.1.22Error Message Fix/ReplacementMar 28, 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.1.21Small Bug FixMar 24, 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.1.20Configurable LoggingMar 23, 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.1.19BigDecimal + Reload Command + LoggingMar 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.1.18Fix Baltop BugMar 22, 2024 Fixed issue where the baltop update task wasn't scheduled on startup.1.17Hover Event Support on Pre-1.16 MC VersionsMar 21, 2024 This update makes it so that hover events in messages using MiniMessage work in Minecraft versions prior to 1.16.1.16New Placeholder + Restored Compatibility with Older Minecraft VersionsMar 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!1.15New Placeholder and Event + Config Message ChangesMar 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.1.14Small Error FixMar 20, 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.1.13PlaceholderAPI PlaceholdersMar 9, 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...1.12Various Additions, Changes and ImprovementsMar 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.1.10Small FixesJan 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.1.9bStatsJan 3, 2022 · Added bStats1.8Version Compatibility + Code ImprovementsDec 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 code1.7Small FixesDec 28, 2021 · 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.1.6Small bug fixNov 27, 2021 · Added more null checks to prevent a NPE error that could occur if an offline player somehow doesn't have a known username1.5Success message for reload commandOct 31, 2021 · Made it so that the success message for /economy reload is actually sent to the command sender1.4Reload Command + Minor Improvements and Bug FixesOct 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!1.3Bug fixAug 4, 2021 · Fixed a fairly harmless exception that would occur upon a new player joining a server for the first time1.2Small Features and FixesJul 28, 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 code1.1Small bug fixJun 22, 2021 · Added a null check to prevent a NPE error that could occur if an offline player somehow doesn't have a known username1.0Jun 18, 2021
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
26.2MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.9MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
4.7MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta