TobiasDeBruijn / SkinFixer

SkinFixer aims to make skins possible for Offline-mode servers, and allow for users to change their skin in-game.
GNU General Public License v3.0
17 stars 4 forks source link

Joining players are teleported to the End and then back to the Overworld #4

Closed Eric-01 closed 3 years ago

Eric-01 commented 3 years ago

Describe the bug Players with "premium" nicknames (for some reason, only players with "premium" nicknames are affected) who join a server that has SkinFixer plugin installed are teleported to the End for a second or two and then back to the Overworld. This combined with other mods (e.g. AuthMe Reloaded) can make the joining player be trapped in the End if they leave or get kicked from the server when they still are in the End (this happened to me when I tried to recreate this issue).

To Reproduce Steps to reproduce the behavior:

  1. Launch Minecraft using a "premium" nickname (e.g. "Test").
  2. Join a server that has SkinFixer plugin installed.
  3. Observe that (in addition to automatically getting a skin) you are teleported to the End for a second or two and then back to the Overworld.

Expected behavior Players shouldn't be teleported to the End at all. They should get the skin seamlessly, without such quirks.

Screenshot Screenshot

Environment

TobiasDeBruijn commented 3 years ago

Hey there, thanks for your issue!

This is intended behaviour. To apply the skin a player has to switch dimensions, so I teleport them to the end (or in case they're already in the end, to another dimension). It's a Minecraft limitation I can't really get around.

What I could do is make it configurable, so you can disable the behavior. Only the player itself will be affected. This means that other players will still see the applied skin, but the player itself will only see an alex or steve skin.

Besides this I think it might be helpful to add something to remove the achievement, since that obviously shouldn't be happening.

Would that work for you?

Eric-01 commented 3 years ago

If I understand it correctly, the teleportation to another dimension is a workaround for a vanilla Minecraft limitation, right? If so, aren't there any better workarounds? E.g. the most popular skin management plugin seems to use a different approach. Is it better? I don't know, but you will probably know.

TobiasDeBruijn commented 3 years ago

If I understand it correctly, the teleportation to another dimension is a workaround for a vanilla Minecraft limitation, right?

Yes this is correct.

I have a different workaround in mind which might work. I'm thinking of removing the player from the tablist and then re-adding them, which should accomplish the same as switching dimensions. I'll do some testing later today.

Eric-01 commented 3 years ago

Sounds very promising. I'm looking forward to what you will be able to accomplish :)

TobiasDeBruijn commented 3 years ago

I believe I've figured something out. Will test this further refine the code, and then ill push it and do a release :"D

Eric-01 commented 3 years ago

It seems to be working as expected and no doubt better than before. Thank you.

P.S. Now SkinFixer reports its version as 1.2 (instead of 1.1 as before). Is this correct?

TobiasDeBruijn commented 3 years ago

Awesome, glad to hear it's working!

It should be reporting 1.3.1 in game, I think I know where the issue lies for this. Ill patch this soon