This commit is contained in:
BruceChen 2022-09-07 00:08:31 +08:00
parent 8ce5c40b28
commit 4d4940a3b9
2 changed files with 6 additions and 8 deletions

View file

@ -65,19 +65,17 @@ namespace MinecraftClient.Mapping
foreach (Dictionary<string, object> dimensionNbt in dimensionListNbt) foreach (Dictionary<string, object> dimensionNbt in dimensionListNbt)
{ {
string dimensionName = (string)dimensionNbt["name"]; string dimensionName = (string)dimensionNbt["name"];
Dictionary<string, object> element = (Dictionary<string, object>)dimensionNbt["element"]; Dictionary<string, object> dimensionType = (Dictionary<string, object>)dimensionNbt["element"];
if (dimensionList.ContainsKey(dimensionName)) StoreOneDimension(dimensionName, dimensionType);
dimensionList.Remove(dimensionName);
dimensionList.Add(dimensionName, new Dimension(dimensionName, element));
} }
} }
/// <summary> /// <summary>
/// Store one dimension - 1.16.2 to 1.18.2 /// Store one dimension - Directly used in 1.16.2 to 1.18.2
/// </summary> /// </summary>
/// <param name="dimensionName">Dimension name</param> /// <param name="dimensionName">Dimension name</param>
/// <param name="dimensionType">Dimension Type nbt data</param> /// <param name="dimensionType">Dimension Type nbt data</param>
public static void StoreDimension(string dimensionName, Dictionary<string, object> dimensionType) public static void StoreOneDimension(string dimensionName, Dictionary<string, object> dimensionType)
{ {
if (dimensionList.ContainsKey(dimensionName)) if (dimensionList.ContainsKey(dimensionName))
dimensionList.Remove(dimensionName); dimensionList.Remove(dimensionName);

View file

@ -406,7 +406,7 @@ namespace MinecraftClient.Protocol.Handlers
if (handler.GetTerrainEnabled()) 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_19_Version)
World.StoreDimension(dimensionName, dimensionType!); World.StoreOneDimension(dimensionName, dimensionType!);
World.SetDimension(dimensionName); World.SetDimension(dimensionName);
} }
} }
@ -623,7 +623,7 @@ namespace MinecraftClient.Protocol.Handlers
if (handler.GetTerrainEnabled()) 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_19_Version)
World.StoreDimension(dimensionName, dimensionTypeRespawn!); World.StoreOneDimension(dimensionName, dimensionTypeRespawn!);
World.SetDimension(dimensionName); World.SetDimension(dimensionName);
} }
} }