LagGoggles icon indicating copy to clipboard operation
LagGoggles copied to clipboard

Invalid player teleportation

Open LemADEC opened this issue 4 years ago • 4 comments

Describe the bug When using LagGoggles results to teleport accross dimension, the related Forge event PlayerChangedDimensionEvent is never called.

This was observed with this modpack: https://www.curseforge.com/minecraft/modpacks/worldwarminecraft/files/2804478 including WarpDrive-1.12.2-1.5.10.jar which rely on that event to synchronize clients.

To Reproduce Do a profiling Open results and double click a block in another dimension Expecting a log from WarpDrive about onPlayerChangedDimension Found no log

If you are using SpongeForge, which version are you using? 1.12.2-2838-7.1.7-RC3928

Please provide the early startup messages starting with [LagGoggles-Boot]

Example:

[15:48:36] [main/INFO] [LagGoggles-Boot]: I am located here: file:/home/wwm/wwm/./mods/LagGoggles-FAT-1.12.2-4.8.jar!/cf/terminator/laggoggles/Main.class
[15:48:36] [main/INFO] [LagGoggles-Boot]: I am designed for Forge version: 14.23.5.2838
[15:48:36] [main/INFO] [LagGoggles-Boot]: Loading server classes
[15:48:36] [main/INFO] [LagGoggles-Boot]: SpongeForge is present!
[15:48:36] [main/INFO] [LagGoggles-Boot]: I am designed for SpongeForge version: 1.12.2-2838-7.1.7-RC3881
[15:48:36] [main/WARN] [LagGoggles-Boot]: SpongeForge version is different than expected!
[15:48:36] [main/WARN] [LagGoggles-Boot]: This could result in undefined behavior.
[15:48:36] [main/WARN] [LagGoggles-Boot]: 
[15:48:36] [main/WARN] [LagGoggles-Boot]: Expected: '1.12.2-2838-7.1.7-RC3881', but you have: '1.12.2-2838-7.1.7-RC3928' installed.
[15:48:36] [main/INFO] [LagGoggles-Boot]: We're running in a production environment.
[15:48:41] [main/INFO] [LagGoggles-Boot]: Enabling: cf.terminator.laggoggles.mixin.MixinWorld
[15:48:41] [main/INFO] [LagGoggles-Boot]: Enabling: cf.terminator.laggoggles.mixin.MixinEntity
[15:48:41] [main/INFO] [LagGoggles-Boot]: Enabling: cf.terminator.laggoggles.mixin.MixinWorldServerSponge
[15:48:41] [main/INFO] [LagGoggles-Boot]: Skipping: cf.terminator.laggoggles.mixin.MixinWorldServerForge
[15:48:41] [main/INFO] [LagGoggles-Boot]: Enabling: cf.terminator.laggoggles.mixin.MixinEventBus
[15:48:41] [main/INFO] [LagGoggles-Boot]: Enabling: cf.terminator.laggoggles.mixin.MixinASMEventHandler
[15:48:41] [main/INFO] [LagGoggles-Boot]: Skipping: cf.terminator.laggoggles.mixin.MixinTileEntityRendererDispatcher
[15:48:41] [main/INFO] [LagGoggles-Boot]: Skipping: cf.terminator.laggoggles.mixin.MixinRenderManager
[15:48:42] [main/INFO] [LagGoggles-Boot]: Applied mixin: cf.terminator.laggoggles.mixin.MixinWorld
[15:48:43] [main/INFO] [LagGoggles-Boot]: Applied mixin: cf.terminator.laggoggles.mixin.MixinWorldServerSponge
[15:48:43] [main/INFO] [LagGoggles-Boot]: Applying custom transformer for cf.terminator.laggoggles.mixin.MixinWorldServerSponge
[15:48:43] [main/INFO] [LagGoggles-Boot]: Redirected call in method func_147456_g ()V
[15:48:43] [main/INFO] [LagGoggles-Boot]: Redirected call in method func_147456_g ()V
[15:48:43] [main/INFO] [LagGoggles-Boot]: Redirected call in method redirect$spongeBlockUpdateTick$zmb000 (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/INFO] [LagGoggles-Boot]: Redirected call in method redirect$onUpdateTick$zmb000 (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/INFO] [LagGoggles-Boot]: Redirected call in method redirect$spongeBlockUpdateTick$zmb000 (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/INFO] [LagGoggles-Boot]: Redirected call in method redirect$onUpdateTick$zmb000 (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: func_147456_g ()V
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: 
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: randomBlockTickRedirectorVanilla (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: 
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: randomBlockTickRedirectorSponge (Lorg/spongepowered/common/bridge/world/WorldServerBridge;Lnet/minecraft/block/Block;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: 
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: redirect$spongeBlockUpdateTick$zmb000 (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: 
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: redirect$onUpdateTick$zmb000 (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: 
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: normalBlockTickRedirectorVanilla (Lnet/minecraft/block/Block;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: 
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: normalBlockTickRedirectorSponge (Lorg/spongepowered/common/bridge/world/WorldServerBridge;Lnet/minecraft/block/Block;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Ljava/util/Random;)V
[15:48:43] [main/DEBUG] [LagGoggles-Boot]: 
[15:48:43] [main/INFO] [LagGoggles-Boot]: Applied mixin: cf.terminator.laggoggles.mixin.MixinEntity
[15:48:47] [main/INFO] [LagGoggles-Boot]: Applied mixin: cf.terminator.laggoggles.mixin.MixinEventBus
	Line 8167: [15:49:01] [Server thread/INFO] [LagGoggles-Boot]: Applied mixin: cf.terminator.laggoggles.mixin.MixinASMEventHandler

LemADEC avatar Oct 19 '19 21:10 LemADEC

For the record, the EntityJoinWorldEvent forge event also appears to be missing.

LemADEC avatar Oct 19 '19 21:10 LemADEC

I copied the teleportation snipped from SpongeForge's source. See here There's a lot of things going on to TP a user across a dimension.

LagGoggles teleporting is intended for admins only, is this really an issue that needs to be adressed? I'd rather not go down the rabbit hole of teleporting across various dimensions if there's no problem to begin with.

TerminatorNL avatar Apr 19 '20 00:04 TerminatorNL

That code is way more complicated than it needs to be. Here's what I use in my mod (pure forge) https://github.com/LemADEC/WarpDrive/blob/MC1.12/src/main/java/cr0s/warpdrive/Commons.java#L1067-L1098

LemADEC avatar Apr 19 '20 02:04 LemADEC

Would you mind doing a pull request for this segment? That would help me out greatly.

TerminatorNL avatar Apr 21 '20 20:04 TerminatorNL