This update addresses several bugs, improves PlayerData handling, and adds a few quality-of-life improvements.
3.1.9 Changelog
Code (Text):
* (26.X) Fixed tags not loading due to an incorrect Minecraft version check.
* (1.12.2) Fixed World#getGameTime NoSuchMethodError.
* Fixed a random NPE when checking getHighestTrust.
* Fixed PlayerData sometimes being null.
* Fixed users missing the correct world context.
* Fixed stale PlayerData after switching worlds.
* Fixed unstable user cache behavior.
* Fixed claim expiration not displaying correctly in the inventory GUI.
* Fixed EntityChangeBlockEvent not passing the player source as the event user.
* Always set the user world on join and world change.
* Reset PlayerData when the player changes worlds.
* Removed WeakReference usage from GDPlayerData.
* Ensured PlayerData is always created when needed.
* Added blacklist source support for collide-entity.
* Basic and admin claims inside towns are now processed during cleanup.
* Cleanup now traverses town children instead of skipping them.
* Refactored claim expiration logic into a reusable method.