Texture Caching | Setting player head textures in 1.14 and potentially other server versions cause major performance issues as texture caching in 1.14 seems to be flawed. This meant that any time a player loaded a high score or anything involving offline players textures the server thread would block for a few 100 milliseconds.
This update introduces manual texture caching. Required textures are pulled from Mojang's servers on server startup. Further textures are pulled and cached as needed.
The rate limit is 1 request per min per profile. I.e. we can request e.g. 20 unique textures at the same time but not the same texture twice within 1 minute. If multiple plugins are utilizing this method they can clash. If another plugin retrieves my skin and PG tries right after it won't be able to. PG combats this by recursively retrying the textures it couldn't retrieve once a minute. If you experience that textures aren't loading in the high score or some names are "?" please be patient - PG will retrieve it as soon as it can!
Thank you to @Verum for reporting this as well as in-game testing to localize the issue!
Fix | If you were kicked with an open pg inventory before the invulnerability animation had started the invulnerability animation would not pick up on that and still spawn the sphere unless you logged in again, opened a pg inv, and closed it again. This has been fixed and the timer is stopped even if kicked.
OpenInv Compatibility | If you had the plugin OpenInv installed on a 1.13 server alongside PG you would not receive your inventory again if kicked. That resulted in having the contents of the PG menu in your inventory instead. This has been fixed.