If the server sends an incomplete ClientboundPlayerInfoPacket
to the client, further down the line the client will call YggdrasilMinecraftSessionService::fillGameProfile
to fill in the blanks. Problem is, that method involves making API calls, and it uses UUIDTypeAdapter::fromUUID
to get the UUID string in order to make said API calls. The API expects a URL where the UUID is lowercase, but UUIDTypeAdapter::fromUUID
returns the UUID as uppercase, causing an IllegalArgumentException
when it tries to create a new GameProfile
object as the API response would be invalid.
The simple fix would be to turn the URL fully lowercase before making the API calls.
Now, that's a very niche bug that never really happens in practice unless the server or client happen to be modded (which is how I found this out in the first place), but since it's technically still a bug with Minecraft's code which renders some methods broken, I thought I'd report it nonetheless.
Thank you for your report!
However, this issue is Invalid.
Your game, launcher or server is modified.
If you can reproduce the issue in a vanilla environment, please recreate the issue.
Any non-standard client/server/launcher build needs to be taken up with the appropriate team, not Mojang.
Any plugin issues need to be addressed to the creator of the plugin or resource pack.
If you have problems on large servers, such as The Hive and Hypixel, please contact them first as they run modified server software.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki