Fixed a bug where updates would take up to 10 minutes due to player files not correctly generating.
Added a warning when trying to reload with /rl or /reload or a plugin manager like Plugman.
Added a new API function PUUIDs.getServerId(), which returns a unique ID for each server PUUIDs is enabled on.
Added config.yml versioning to prevent outdated files.
Fixed a startup exception that showed on older servers (ie: 1.8.9 or lower)
Thank you for using PUUIDs and thank you to those who reported the following bugs to me via Discord! If you need help with PUUIDs, come by our
support discord.
v2.5 This is a relatively minor update but we've moved to v2.5 for simplicity. We've updated to
1.18 and PUUIDs has migrated to a maven based repository to keep things straightforward for future updates! Thanks for using PUUIDs
All file saving and writing is now 100% async and all PUUIDs methods now support being used in async ways all while giving performance a massive boost.
Bumped APIVersion to V2. No methods were removed, however the ability to use Mojang to fetch UUIDs has now been removed and marked as deprecated.
Fixed player files bypassing the 60s update cooldown when joining.
Added a "command not found" message when using commands instead of just showing nothing.
Completely overhauled the debug statistics to reflect the new async system.
Fixed PUUIDs updates being cancelled when large background tasks were present. Now they will simply be queued for later.
Made many more methods async and off of the main thread to boost performance.
Removed the System.yml file from the PUUIDs folder, as it's not needed anymore.
Used condition statements where needed instead of adding redundant true/false methods.
Improved overall performance & various bug fixes and optimizations.
Added new PUUIDS.setLocation() method for optimal performance when saving locations to a file. (50% faster than previous)
Added new PUUIDS.addToAllWithout() method that adds missing methods to all player files that don't have it. This can only be used during startup, and searches all current player files.
Added null prevention checks to prevent errors.
Added thread checks to prevent possible file corruption.
Added System totals in new Storage.yml
/puuids debug now shows total set/get methods called since startup.
Removed offline API requests as they have been combined with normal requests.
Instead of needing a player to set/read data, we now only need their UUID. (You can use PUUIDS.getUUID(name, false); to retrieve it if you are unable to get the player online)
Marked PUUIDS.setBoolean, PUUIDS.setDouble, etc. as deprecated, now all set requests will simply use PUUIDS.set
Added PUUIDS.contains to see if a data value is contained within a plugins data list in a player's file.
Other optimizations and cleanup.
WARNING: If you use a plugin that is hooked into PUUIDs, this update changes how plugins set/get/use data and may break plugins using the older system.