From a2b2aeb748442308cfb44368016be06f879dc613 Mon Sep 17 00:00:00 2001 From: BruceChen Date: Thu, 15 Sep 2022 12:48:38 +0800 Subject: [PATCH] Try fix 1.19+ dimension processing --- ConsoleInteractive | 2 +- MinecraftClient/Protocol/Handlers/Protocol18.cs | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ConsoleInteractive b/ConsoleInteractive index b4fd7da2..7acaa0ab 160000 --- a/ConsoleInteractive +++ b/ConsoleInteractive @@ -1 +1 @@ -Subproject commit b4fd7da2595ad54479880fc1c9c6e14975412d92 +Subproject commit 7acaa0ab31809f0f6512e6a76e53e15441de8e7c diff --git a/MinecraftClient/Protocol/Handlers/Protocol18.cs b/MinecraftClient/Protocol/Handlers/Protocol18.cs index 3f7b233c..69c5745c 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18.cs @@ -381,11 +381,12 @@ namespace MinecraftClient.Protocol.Handlers // String identifier: 1.16 and 1.16.1 // varInt: [1.9.1 to 1.15.2] // byte: below 1.9.1 + string? dimensionTypeName = null; Dictionary? dimensionType = null; if (protocolVersion >= MC_1_16_Version) { if (protocolVersion >= MC_1_19_Version) - dataTypes.ReadNextString(packetData); // Dimension Type: Identifier + dimensionTypeName = dataTypes.ReadNextString(packetData); // Dimension Type: Identifier else if (protocolVersion >= MC_1_16_2_Version) dimensionType = dataTypes.ReadNextNbt(packetData); // Dimension Type: NBT Tag Compound else @@ -405,9 +406,15 @@ namespace MinecraftClient.Protocol.Handlers string dimensionName = dataTypes.ReadNextString(packetData); // Dimension Name (World Name) - 1.16 and above if (handler.GetTerrainEnabled()) { - if (protocolVersion >= MC_1_16_2_Version && protocolVersion < MC_1_19_Version) + if (protocolVersion >= MC_1_16_2_Version && protocolVersion <= MC_1_18_2_Version) + { World.StoreOneDimension(dimensionName, dimensionType!); - World.SetDimension(dimensionName); + World.SetDimension(dimensionName); + } + else if (protocolVersion >= MC_1_19_Version) + { + World.SetDimension(dimensionTypeName!); + } } }