PUUIDs • An Async File API icon

PUUIDs • An Async File API -----

A fast, reliable, and open source offline UUID and storage management API.




v3.2.2
  • 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.
----------, Apr 23, 2023

v3.2.1
There are no internal plugin or API changes for this version.

Hot Fix: Attempt to fix an issue where the maven repo didn't recognize PUUIDs artifact ID.
----------, Apr 18, 2023

v3.2
  • This update contains slight fixes and improvements. There are no API changes in this update.
  • Add "Allow-Post-Startup-Connections" options to the config.yml
  • Adjust message for /puuids plugins when no plugins are connected.
  • Upgrade and recompile internal dependencies
  • Phase out old legacy support leftover from 2021
----------, Apr 16, 2023

v3.1
  • Added HEX Color Support for servers using 1.16 or higher
  • Improved support for 1.19.4
  • Added a smoother Metrics shutdown call to prevent a memory leak on reload.
  • Upgraded & cleaned out dependencies and APIs
----------, Mar 21, 2023

v3
! WARNING !
This update contains breaking API changes from previous v2.X versions of PUUIDs
  • Use com.zachduda instead of com.zach_attack for imports and packaging
  • Even though PUUIDs worked fine on 1.19 previously, it is now officially supported and will no longer display incompatibility disclaimers.
  • Fixed playtime metrics not saving due to a bug when subtracting two UNIX longs.
  • PUUIDS.setLocation method now automatically saves the world name with it.
  • Package and shade missing dependencies from maven.
  • Tons of internal changes
----------, Nov 15, 2022

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 :)
----------, Jan 16, 2022

v2.4.1
  • Add full 1.16 and 1.16.1 support to PUUIDs. :)
----------, Jun 27, 2020

v2.4
  • All tasks will now have a Task ID that is associated with it.
  • Optimized API events by making ones called directly on the timer asynchronous.
  • Made addToAll methods automatically thread safe instead of blocking async.
  • Changed task timer from using for loops to using a while loop to prevent any possible number skipping.
  • Added Essentials integration for file cleanup (disabled by default in the config)
  • Updated MetricsLite with the latest methods from bStats.
  • Add TimerSaved event that fires async after a task is saved. You can use getId() to get the id of the task that saved.
  • Remove returning a enum result and instead return task id (returns 0 if there was a problem).
Breaking API Changes:
Any methods that relied on getting a Result enum from v3 will break on this version as all methods now return Task IDs.
----------, Apr 20, 2020

v2.3
  • Added a ConnectionOpen and ConnectionClose API event to listen to. These are fired when PUUIDs shuts down / finishes starting up.
  • Fixed queued data not saving when a player quits.
  • Fixed a bug where database health may be great, but a warning/reason is displayed anyways.
----------, Jan 7, 2020

v2.2
  • Using better methods to internally store user-data until it can be read to file.
  • Fixed a rare occurrence where player data could get out of sync with it's UUID can potentially corrupt files.
  • Any reset commands are now disabled by default, can can only be used when debug mode is specifically enabled.
  • Fixed using deprecated methods from previous updates internally.
  • Overall performance improvements and bug fixes.
----------, Jan 5, 2020

v2.1
  • Added "Advanced" settings in the configuration to be able to change the rate and limits for setting data.
  • Fixed a possible error that could occur if a player file is deleted after joining.
  • Fixed some variable encapsulation.
  • Renamed /puuids debug to /puuids info
  • Made /puuids debug print a detailed list of system information to help diagnose bugs.
  • Added Java version check to ensure Java 8 or higher.
  • Removed redundant result values leftover from the v1.X series of PUUIDs.
  • Other various bug fixes and optimizations.
----------, Jan 3, 2020

v2.0
The Biggest Update Yet
  • 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.
----------, Dec 31, 2019

v1.4.5
  • Changed reset all to require a unique confirmation key from the player instead of just running the command again.
  • Added 1.15 Support. (Supports 1.15 through 1.8)
  • Now requires APIVersion.V1 as a PUUIDs.connect parameter to ensure compatibility between versions.
  • Made all join events fully async, to allow players to connect faster.
  • All set events now return Result.X instead of a boolean. Result.Success will be returned if all went well.
  • Fixed some inconsistencies between setting locations among other sets of data.
  • Added addToStringList, and removeFromStringList.
  • Added addToIntList, and removeFromIntList.
  • Added a PUUID's API version tester to hopefully provide maximum compatibility for future updates between different versions.
This update WILL break plugins created around v1.4.4 and below of PUUIDs. 1.15 functionality has not been completely tested, use at your own risk.
----------, Dec 11, 2019

v1.4.4
  • Added 2 new setNull and setAllNull methods to allow developers to remove their plugin data from a specific player.
  • Fixed a bug where PUUIDs got all UUIDs under it's own instance instead of the plugin accessing it.
  • Fixed player on-time not being saved when the server shuts down.
----------, Nov 28, 2019

v1.4.3
  • Fixed location saving being a bit unsteady.
  • Compiled with the latest 1.14.4 API to ensure freshness.
----------, Nov 18, 2019

v1.4.2
  • Fixed the Storage.yml not accumulating set/get stats.
  • Now ignoring the order of connected plugins, to help optimize checking in large amounts.
  • Debug counters for set/get stats will now reset every 12 hours.
  • Minor tweaks and optimizations.
----------, Oct 27, 2019

v1.4.1
  • 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.
  • Fixed /puuids ontime returning 0 hours (incorrect formatting fixed)
----------, Oct 13, 2019

v1.4
  • Added commands for PUUIDs. Now you can reset values, few PUUIDs performance health,see total online times and even more coming soon!
  • Fixed async being called where it shouldn't have been, causing possible file corruption.
  • Completely removed all deprecated "offline" methods that were phased out in v1.3 for maximum efficiency.
  • Improved all-in-one PUUIDS.set().
  • Now prevents plugins from accidently using async for setting/saving data, to avoid file corruption.
  • Added an light async manager, that will prevent any setting while PUUIDs works it's magic.
  • Drastically improved how long it takes for a player to join/log-in to the server.
  • Added /puuids reset all to reset all plugin data from all players.
  • Added /puuids reset ontime to reset players total playtime on your server
  • Added a new On Time command to see how long you or someone else has played on your server! /puuids ontime (player)
  • Fixed a error that can occur when Update Notifications are enabled, and a player joins your server.
  • New Permission: puuids.admin (Grants access to any/all puuids commands. USE WITH CAUTION, ANYONE WITH THIS PERMISSION CAN ERASE DATA)
  • Optimized getting names from a UUID.
  • Many other optimizations, bug fixes, and improvements.
  • Added MetricsLite, as a fast, free, efficient way to support me. :)
This release has been tested thoroughly to ensure the smoothest experience.
Should you have an issues, join our support discord.

Enjoy these updates? Consider donating!
[​IMG]
----------, Oct 6, 2019

What's New?
  • 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.
----------, Sep 28, 2019

Fixed some bugs, and added options to set/get ItemStack
----------, Sep 22, 2019

Optimized file system, here we come!
----------, Sep 22, 2019

Resource Information
Author:
----------
Total Downloads: 1,244
First Release: Sep 22, 2019
Last Update: Apr 23, 2023
Category: ---------------
All-Time Rating:
2 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings