refactor(DeclareCommands.cs): Move forge to switch version block

This commit is contained in:
oldkingOK 2024-02-20 20:22:37 +08:00
parent e569ffe0cc
commit 576575ff65

View file

@ -29,19 +29,7 @@ namespace MinecraftClient.Protocol.Handlers.packet.s2c
Parser? parser = null; Parser? parser = null;
if ((flags & 0x03) == 2) if ((flags & 0x03) == 2)
{ {
if (protocolVersion switch if (protocolVersion <= Protocol18Handler.MC_1_19_2_Version)
{
Protocol18Handler.MC_1_19_Version => parserId == 50,
Protocol18Handler.MC_1_19_2_Version => parserId == 50,
Protocol18Handler.MC_1_19_3_Version => parserId == 50,
Protocol18Handler.MC_1_19_4_Version => parserId == 50,
Protocol18Handler.MC_1_20_Version => parserId == 51,
Protocol18Handler.MC_1_20_2_Version => parserId == 51,
_ => false
})
parser = new ParserForgeEnum(dataTypes, packetData);
else if (protocolVersion <= Protocol18Handler.MC_1_19_2_Version)
parser = parserId switch parser = parserId switch
{ {
1 => new ParserFloat(dataTypes, packetData), 1 => new ParserFloat(dataTypes, packetData),
@ -59,6 +47,7 @@ namespace MinecraftClient.Protocol.Handlers.packet.s2c
29 => new ParserScoreHolder(dataTypes, packetData), 29 => new ParserScoreHolder(dataTypes, packetData),
43 => new ParserResourceOrTag(dataTypes, packetData), 43 => new ParserResourceOrTag(dataTypes, packetData),
44 => new ParserResource(dataTypes, packetData), 44 => new ParserResource(dataTypes, packetData),
50 => new ParserForgeEnum(dataTypes, packetData),
_ => new ParserEmpty(dataTypes, packetData), _ => new ParserEmpty(dataTypes, packetData),
}; };
else if (protocolVersion <= Protocol18Handler.MC_1_19_3_Version) // 1.19.3 else if (protocolVersion <= Protocol18Handler.MC_1_19_3_Version) // 1.19.3
@ -81,6 +70,7 @@ namespace MinecraftClient.Protocol.Handlers.packet.s2c
42 => new ParserResourceOrTag(dataTypes, packetData), 42 => new ParserResourceOrTag(dataTypes, packetData),
43 => new ParserResource(dataTypes, packetData), 43 => new ParserResource(dataTypes, packetData),
44 => new ParserResource(dataTypes, packetData), 44 => new ParserResource(dataTypes, packetData),
50 => new ParserForgeEnum(dataTypes, packetData),
_ => new ParserEmpty(dataTypes, packetData), _ => new ParserEmpty(dataTypes, packetData),
}; };
else // 1.19.4+ else // 1.19.4+
@ -104,6 +94,16 @@ namespace MinecraftClient.Protocol.Handlers.packet.s2c
42 => new ParserResourceOrTag(dataTypes, packetData), 42 => new ParserResourceOrTag(dataTypes, packetData),
43 => new ParserResource(dataTypes, packetData), 43 => new ParserResource(dataTypes, packetData),
44 => new ParserResource(dataTypes, packetData), 44 => new ParserResource(dataTypes, packetData),
50 => protocolVersion == Protocol18Handler.MC_1_19_4_Version ?
new ParserForgeEnum(dataTypes, packetData) :
new ParserEmpty(dataTypes, packetData),
51 => (protocolVersion >= Protocol18Handler.MC_1_20_Version &&
protocolVersion <= Protocol18Handler.MC_1_20_2_Version) ? // 1.20 - 1.20.2
new ParserForgeEnum(dataTypes, packetData) :
new ParserEmpty(dataTypes, packetData),
52 => protocolVersion > Protocol18Handler.MC_1_20_2_Version ? // 1.20.2 +
new ParserForgeEnum(dataTypes, packetData) :
new ParserEmpty(dataTypes, packetData),
_ => new ParserEmpty(dataTypes, packetData), _ => new ParserEmpty(dataTypes, packetData),
}; };
} }