diff --git a/src/main/java/carpet/mixins/ServerGamePacketListenerImplAccessor.java b/src/main/java/carpet/mixins/ServerGamePacketListenerImplAccessor.java deleted file mode 100644 index b199fe8e..00000000 --- a/src/main/java/carpet/mixins/ServerGamePacketListenerImplAccessor.java +++ /dev/null @@ -1,11 +0,0 @@ -package carpet.mixins; - -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -@Mixin(ServerGamePacketListenerImpl.class) -public interface ServerGamePacketListenerImplAccessor { - @Accessor("awaitingTeleport") - public int getAwaitingTeleport(); -} diff --git a/src/main/java/carpet/patches/NetHandlerPlayServerFake.java b/src/main/java/carpet/patches/NetHandlerPlayServerFake.java index 16f583c9..a8e5b852 100644 --- a/src/main/java/carpet/patches/NetHandlerPlayServerFake.java +++ b/src/main/java/carpet/patches/NetHandlerPlayServerFake.java @@ -1,12 +1,9 @@ package carpet.patches; -import carpet.mixins.ServerGamePacketListenerImplAccessor; import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.contents.TranslatableContents; import net.minecraft.network.protocol.Packet; -import net.minecraft.network.protocol.game.ServerboundAcceptTeleportationPacket; -import net.minecraft.network.protocol.game.ServerboundMovePlayerPacket; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerGamePacketListenerImpl; import net.minecraft.world.entity.RelativeMovement; @@ -32,23 +29,14 @@ public class NetHandlerPlayServerFake extends ServerGamePacketListenerImpl ((EntityPlayerMPFake) player).kill(message); } } - private boolean hasSpawned = false; @Override public void teleport(double d, double e, double f, float g, float h, Set set) { super.teleport(d, e, f, g, h, set); - - handleAcceptTeleportPacket( - new ServerboundAcceptTeleportationPacket( ((ServerGamePacketListenerImplAccessor)this).getAwaitingTeleport() ) - ); - - if (!hasSpawned) { - hasSpawned = true; - } else { - handleMovePlayer( - new ServerboundMovePlayerPacket.PosRot(player.getX(), player.getY(), player.getZ(), player.getYRot(), player.getXRot(), false) - ); + if (player.serverLevel().getPlayerByUUID(player.getUUID()) != null) { + resetPosition(); + player.serverLevel().getChunkSource().move(player); } } diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index 936e8c0a..c6af4fd6 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -8,7 +8,6 @@ "MobCategory_spawnMixin", "Commands_customCommandsMixin", "ServerGamePacketListenerImplMixin", - "ServerGamePacketListenerImplAccessor", "PerfCommand_permissionMixin", "FillCommandMixin",