From 85f5117833353af7edbec6dcc78c07bc8fcb5231 Mon Sep 17 00:00:00 2001 From: ORelio Date: Sat, 30 May 2020 11:35:39 +0200 Subject: [PATCH] Fix Explosion packet ID swap in 1.8 vs 1.9 (#1037) --- MinecraftClient/Protocol/Handlers/Protocol18.cs | 9 +++++---- .../Protocol/Handlers/Protocol18PacketTypes.cs | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/MinecraftClient/Protocol/Handlers/Protocol18.cs b/MinecraftClient/Protocol/Handlers/Protocol18.cs index 7f7c6847..8f129203 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18.cs @@ -724,10 +724,11 @@ namespace MinecraftClient.Protocol.Handlers handler.OnSetExperience(experiencebar, level, totalexperience); break; case PacketIncomingType.Explosion: - Location explodelocation = new Location(dataTypes.ReadNextFloat(packetData), dataTypes.ReadNextFloat(packetData), dataTypes.ReadNextFloat(packetData)); - float Explosionstrength = dataTypes.ReadNextFloat(packetData); - int ExplosionRecordCount = dataTypes.ReadNextInt(packetData); - handler.OnExplosion(explodelocation, Explosionstrength, ExplosionRecordCount); + Location explosionLocation = new Location(dataTypes.ReadNextFloat(packetData), dataTypes.ReadNextFloat(packetData), dataTypes.ReadNextFloat(packetData)); + float explosionStrength = dataTypes.ReadNextFloat(packetData); + int explosionBlockCount = dataTypes.ReadNextInt(packetData); + // Ignoring additional fields (records, pushback) + handler.OnExplosion(explosionLocation, explosionStrength, explosionBlockCount); break; case PacketIncomingType.HeldItemChange: byte slot = dataTypes.ReadNextByte(packetData); diff --git a/MinecraftClient/Protocol/Handlers/Protocol18PacketTypes.cs b/MinecraftClient/Protocol/Handlers/Protocol18PacketTypes.cs index 49617fa4..088c277b 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18PacketTypes.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18PacketTypes.cs @@ -61,7 +61,7 @@ namespace MinecraftClient.Protocol.Handlers case 0x06: return PacketIncomingType.UpdateHealth; case 0x1F: return PacketIncomingType.SetExperience; case 0x09: return PacketIncomingType.HeldItemChange; - case 0x1C: return PacketIncomingType.Explosion; + case 0x27: return PacketIncomingType.Explosion; } } else if (protocol <= Protocol18Handler.MC1112Version) // MC 1.9, 1.10 and 1.11 @@ -101,7 +101,7 @@ namespace MinecraftClient.Protocol.Handlers case 0x3E: return PacketIncomingType.UpdateHealth; case 0x3D: return PacketIncomingType.SetExperience; case 0x37: return PacketIncomingType.HeldItemChange; - case 0x27: return PacketIncomingType.Explosion; + case 0x1C: return PacketIncomingType.Explosion; } } else if (protocol <= Protocol18Handler.MC112Version) // MC 1.12.0