♻️ Undo Terrain Handling update

This commit is contained in:
Bas950 2020-06-28 02:15:54 +02:00
parent c82c91705c
commit eb891cc91f
2 changed files with 73 additions and 4 deletions

View file

@ -69,7 +69,7 @@ namespace MinecraftClient.Protocol.Handlers
this.pForge = new Protocol18Forge(forgeInfo, protocolVersion, dataTypes, this, handler); this.pForge = new Protocol18Forge(forgeInfo, protocolVersion, dataTypes, this, handler);
this.pTerrain = new Protocol18Terrain(protocolVersion, dataTypes, handler); this.pTerrain = new Protocol18Terrain(protocolVersion, dataTypes, handler);
if (handler.GetTerrainEnabled() && protocolversion > MC1161Version) if (handler.GetTerrainEnabled() && protocolversion > MC1152Version)
{ {
ConsoleIO.WriteLineFormatted("§8Terrain & Movements currently not handled for that MC version."); ConsoleIO.WriteLineFormatted("§8Terrain & Movements currently not handled for that MC version.");
handler.SetTerrainEnabled(false); handler.SetTerrainEnabled(false);
@ -89,7 +89,7 @@ namespace MinecraftClient.Protocol.Handlers
if (protocolversion >= MC113Version) if (protocolversion >= MC113Version)
{ {
if (protocolVersion > MC1161Version && handler.GetTerrainEnabled()) if (protocolVersion > MC1152Version && handler.GetTerrainEnabled())
throw new NotImplementedException("Please update block types handling for this Minecraft version. See Material.cs"); throw new NotImplementedException("Please update block types handling for this Minecraft version. See Material.cs");
if (protocolVersion >= MC115Version) if (protocolVersion >= MC115Version)
Block.Palette = new Palette115(); Block.Palette = new Palette115();

View file

@ -288,7 +288,7 @@ namespace MinecraftClient.Protocol.Handlers
case 0x4F: return PacketIncomingType.Title; case 0x4F: return PacketIncomingType.Title;
} }
} }
else // MC 1.15 else if (protocol <= Protocol18Handler.MC1152Version) // MC 1.15 to 1.15.2
{ {
switch (packetID) switch (packetID)
{ {
@ -331,6 +331,48 @@ namespace MinecraftClient.Protocol.Handlers
case 0x27: return PacketIncomingType.MapData; case 0x27: return PacketIncomingType.MapData;
case 0x50: return PacketIncomingType.Title; case 0x50: return PacketIncomingType.Title;
} }
} else {
switch (packetID)
{
case 0x20: return PacketIncomingType.KeepAlive;
case 0x25: return PacketIncomingType.JoinGame;
case 0x0E: return PacketIncomingType.ChatMessage;
case 0x3A: return PacketIncomingType.Respawn;
case 0x35: return PacketIncomingType.PlayerPositionAndLook;
case 0x21: return PacketIncomingType.ChunkData;
case 0x0F: return PacketIncomingType.MultiBlockChange;
case 0x0B: return PacketIncomingType.BlockChange;
// MapChunkBulk does not exist since 1.9
case 0x1D: return PacketIncomingType.UnloadChunk;
case 0x33: return PacketIncomingType.PlayerListUpdate;
case 0x10: return PacketIncomingType.TabCompleteResult;
case 0x18: return PacketIncomingType.PluginMessage;
case 0x1A: return PacketIncomingType.KickPacket;
// NetworkCompressionTreshold does not exist since 1.9
case 0x39: return PacketIncomingType.ResourcePackSend;
case 0x13: return PacketIncomingType.CloseWindow;
case 0x2E: return PacketIncomingType.OpenWindow;
case 0x14: return PacketIncomingType.WindowItems;
case 0x16: return PacketIncomingType.SetSlot;
case 0x00: return PacketIncomingType.SpawnEntity;
case 0x02: return PacketIncomingType.SpawnLivingEntity;
case 0x04: return PacketIncomingType.SpawnPlayer;
case 0x37: return PacketIncomingType.DestroyEntities;
case 0x17: return PacketIncomingType.SetCooldown;
case 0x28: return PacketIncomingType.EntityPosition;
case 0x29: return PacketIncomingType.EntityPositionAndRotation;
case 0x58: return PacketIncomingType.EntityProperties;
case 0x56: return PacketIncomingType.EntityTeleport;
case 0x46: return PacketIncomingType.EntityVelocity;
case 0x47: return PacketIncomingType.EntityEquipment;
case 0x4E: return PacketIncomingType.TimeUpdate;
case 0x49: return PacketIncomingType.UpdateHealth;
case 0x48: return PacketIncomingType.SetExperience;
case 0x3F: return PacketIncomingType.HeldItemChange;
case 0x1C: return PacketIncomingType.Explosion;
case 0x26: return PacketIncomingType.MapData;
case 0x4F: return PacketIncomingType.Title;
}
} }
return PacketIncomingType.UnknownPacket; return PacketIncomingType.UnknownPacket;
@ -485,7 +527,7 @@ namespace MinecraftClient.Protocol.Handlers
case PacketOutgoingType.UpdateSign: return 0x26; case PacketOutgoingType.UpdateSign: return 0x26;
} }
} }
else // MC 1.14 to 1.15 else if (protocol <= Protocol18Handler.MC1152Version) //MC 1.14 to 1.15.2
{ {
switch (packet) switch (packet)
{ {
@ -512,6 +554,33 @@ namespace MinecraftClient.Protocol.Handlers
case PacketOutgoingType.UpdateSign: return 0x29; case PacketOutgoingType.UpdateSign: return 0x29;
} }
} }
else
{
switch (packet)
{
case PacketOutgoingType.KeepAlive: return 0x10;
case PacketOutgoingType.ResourcePackStatus: return 0x20;
case PacketOutgoingType.ChatMessage: return 0x03;
case PacketOutgoingType.ClientStatus: return 0x04;
case PacketOutgoingType.ClientSettings: return 0x05;
case PacketOutgoingType.PluginMessage: return 0x0B;
case PacketOutgoingType.TabComplete: return 0x06;
case PacketOutgoingType.EntityAction: return 0x1C;
case PacketOutgoingType.PlayerPosition: return 0x12;
case PacketOutgoingType.PlayerPositionAndLook: return 0x13;
case PacketOutgoingType.TeleportConfirm: return 0x00;
case PacketOutgoingType.HeldItemChange: return 0x24;
case PacketOutgoingType.InteractEntity: return 0x0E;
case PacketOutgoingType.UseItem: return 0x2E;
case PacketOutgoingType.ClickWindow: return 0x09;
case PacketOutgoingType.CloseWindow: return 0x0A;
case PacketOutgoingType.PlayerBlockPlacement: return 0x2C;
case PacketOutgoingType.CreativeInventoryAction: return 0x27;
case PacketOutgoingType.Animation: return 0x2B;
case PacketOutgoingType.PlayerDigging: return 0x1B;
case PacketOutgoingType.UpdateSign: return 0x2A;
}
}
throw new System.ComponentModel.InvalidEnumArgumentException("Unknown PacketOutgoingType (protocol=" + protocol + ")", (int)packet, typeof(PacketOutgoingType)); throw new System.ComponentModel.InvalidEnumArgumentException("Unknown PacketOutgoingType (protocol=" + protocol + ")", (int)packet, typeof(PacketOutgoingType));
} }