From 6ac3cd90ee206d067c17b277645966d4239435b5 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Mon, 14 Oct 2019 15:34:41 -0700 Subject: [PATCH] Fix VarInt too big for player position and look --- MinecraftClient/Protocol/Handlers/Protocol18.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/MinecraftClient/Protocol/Handlers/Protocol18.cs b/MinecraftClient/Protocol/Handlers/Protocol18.cs index 119c1bb5..b8d4ec1c 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18.cs @@ -226,15 +226,16 @@ namespace MinecraftClient.Protocol.Handlers handler.OnRespawn(); break; case PacketIncomingType.PlayerPositionAndLook: + // These always need to be read, since we need the field after them for teleport confirm + double x = dataTypes.ReadNextDouble(packetData); + double y = dataTypes.ReadNextDouble(packetData); + double z = dataTypes.ReadNextDouble(packetData); + float yaw = dataTypes.ReadNextFloat(packetData); + float pitch = dataTypes.ReadNextFloat(packetData); + byte locMask = dataTypes.ReadNextByte(packetData); + if (handler.GetTerrainEnabled()) { - double x = dataTypes.ReadNextDouble(packetData); - double y = dataTypes.ReadNextDouble(packetData); - double z = dataTypes.ReadNextDouble(packetData); - float yaw = dataTypes.ReadNextFloat(packetData); - float pitch = dataTypes.ReadNextFloat(packetData); - byte locMask = dataTypes.ReadNextByte(packetData); - if (protocolversion >= MC18Version) { Location location = handler.GetCurrentLocation();