NetherPortalFix

NetherPortalFix

68M Downloads

[1.12.1] Coming out of nether, this happens

tgstyle opened this issue ยท 17 comments

commented

SpongeForge 7.0.0-BETA-2566 is installed on the server.
NetherPortalFix 5.3.4

It moved me far away from the original netherportal in the overworld and the overworld displays as this mess of overworld/netherworld. Reconnecting fixes it.

2017-08-17_09 08 08

commented

Welp, guess it's not compatible with SpongeForge after all. This one should be on Sponge's side to fix though, I'm just reacting to Forge events at this point and so far everything appears to be fine on Forge servers.

commented

eh we never get out of the nether we just yoyo back and forth between the dimensions till we die

commented

@tiarnia Are you using Sponge?

commented

Nope were strait forge

commented

We are having issues with players getting stuck in portals teleporting back and forth on the new 1.10.2 build with the backport of the fixes that made it compatible with SpongeForge in 1.12.

commented

@tiarnia @Shadowkitten can you give me a list of the mods you were using when the issue happened?

commented

We operate a number of servers on various modpacks. This testing was done with the latest Sponge 1.10.2 build at the time on the FTB Beyond modpack.

commented

@blay09 Is there a reason why you re-create the server's logic for moving players/entities to dimensions? You can just call the methods in PlayerList to do so.

commented

@Zidane The transferPlayerToDimension method in PlayerList uses transferEntityToWorld which contains all kinds of teleportation logic that you do not want to happen when you're teleporting the entity manually.

For example, it modifies the position by the moveFactor between the two worlds (Nether <-> Overworld), and more importantly, specialcases the End based on Vanilla expectations, causing issues like TwelveIterationMods/Waystones#40 (=> it's not properly spawning the player in the Overworld since Vanilla would normally respawn them at their spawnpoint after leaving the End).

Even if I passed a custom Teleporter and specialcased the End myself, by the time I could run any code it would have already spawned/not-really-spawned the player at the unwanted position.

commented

@blay09 It would make far more sense to cancel the event and run your logic 1 tick later with a proper event BEFORE you run your custom code. Your current method doesn't allow anyone to cancel the transfer and really goes against how this event should be working.

commented

That's a good point, I'll look into doing that. It won't solve me requiring a custom transferPlayerToDimension for my teleportation logic though (unless that wasn't the issue in the first place).

commented

@blay09 Correct, you would still need your custom transfer logic. However, it would be more efficient if you simply PR'd a feature for the transfer event which would allow you to ignore portal logic. All the event would need is a simple flag which would be checked during transferEntityToWorld.

commented

@blay09 I'll be pushing some fixes soon on our side to fix your mod when SpongeForge is installed. I'll reference this ticket when it has been pushed.

commented

This has been resolved on Sponge side with commit SpongePowered/Sponge@2cf2146

commented

@bloodmc when will it be fixed for 1.12/1.12.1 ?

commented

It is fixed in all versions

commented

Confirmed fixed in later sponge versions.