FancyMenu

FancyMenu

85M Downloads

Add an option to use/prioritize Mojang API when fetching player skin textures

erius0 opened this issue ยท 3 comments

commented

The goal of the feature is to improve support for custom Minecraft auth, skins and capes API servers

More context about custom API servers

Custom API servers are used to provide more granular control over the authentication, skins and capes of players. This is usually achieved by using a tool known as authlib-injector, which is a java agent that replaces Mojang's API URLs with some custom values during runtime of the server/client. When a mod uses a 3rd party API provider - the authlib-injector fails to intercept calls to such APIs, causing the issue of auth/skins/capes not working as intended

The issue occurs when using Player Entity element with Copy Client Player set to true - the player skin will not load when using a custom API server. It would be really convenient to have some option (either in config or directly in the UI) to prioritize Mojang API over the currently preferred MineTools API

If you'd consider adding this feature, I could make a PR with the changes from a patched version of the mod I'm currently using

commented

It should already use Mojang API as fallback when it failed to get the profile via MineTools, if I remember correctly.
I originally only used Mojang API for getting skins and that was just bad. It failed to get the skin so often I had to use a 3rd-party API again.

commented

I think it is possible to improve the fallback logic then? I noticed that, in such a case, the minetools API fetches an incorrect UUID - resulting in the empty texture Map, may be it is possible to check whether the texture Map is empty, and fallback to Mojang API? But it is also possible that this behaviour is intended for accounts with no custom skin at all - I'll look into this further when home