1.19.3 Message signing support.

This commit is contained in:
BruceChen 2023-01-13 16:12:10 +08:00
parent e447fea16b
commit fe0b268878
13 changed files with 532 additions and 313 deletions

View file

@ -149,7 +149,7 @@ namespace MinecraftClient.Protocol.Handlers
mods[i] = dataTypes.ConcatBytes(dataTypes.GetString(mod.ModID), dataTypes.GetString(mod.Version));
}
SendForgeHandshakePacket(FMLHandshakeDiscriminator.ModList,
dataTypes.ConcatBytes(dataTypes.GetVarInt(forgeInfo.Mods.Count), dataTypes.ConcatBytes(mods)));
dataTypes.ConcatBytes(DataTypes.GetVarInt(forgeInfo.Mods.Count), dataTypes.ConcatBytes(mods)));
fmlHandshakeState = FMLHandshakeClientState.WAITINGSERVERDATA;
@ -336,19 +336,19 @@ namespace MinecraftClient.Protocol.Handlers
ConsoleIO.WriteLineFormatted("§8" + Translations.forge_fml2_mod_send, acceptnewlines: true);
// Packet ID 2: Client to Server Mod List
fmlResponsePacket.AddRange(dataTypes.GetVarInt(2));
fmlResponsePacket.AddRange(dataTypes.GetVarInt(mods.Count));
fmlResponsePacket.AddRange(DataTypes.GetVarInt(2));
fmlResponsePacket.AddRange(DataTypes.GetVarInt(mods.Count));
foreach (string mod in mods)
fmlResponsePacket.AddRange(dataTypes.GetString(mod));
fmlResponsePacket.AddRange(dataTypes.GetVarInt(channels.Count));
fmlResponsePacket.AddRange(DataTypes.GetVarInt(channels.Count));
foreach (KeyValuePair<string, string> item in channels)
{
fmlResponsePacket.AddRange(dataTypes.GetString(item.Key));
fmlResponsePacket.AddRange(dataTypes.GetString(item.Value));
}
fmlResponsePacket.AddRange(dataTypes.GetVarInt(registries.Count));
fmlResponsePacket.AddRange(DataTypes.GetVarInt(registries.Count));
foreach (string registry in registries)
{
fmlResponsePacket.AddRange(dataTypes.GetString(registry));
@ -374,7 +374,7 @@ namespace MinecraftClient.Protocol.Handlers
ConsoleIO.WriteLineFormatted("§8" + string.Format(Translations.forge_fml2_registry, registryName));
}
fmlResponsePacket.AddRange(dataTypes.GetVarInt(99));
fmlResponsePacket.AddRange(DataTypes.GetVarInt(99));
fmlResponseReady = true;
break;
@ -393,7 +393,7 @@ namespace MinecraftClient.Protocol.Handlers
ConsoleIO.WriteLineFormatted("§8" + string.Format(Translations.forge_fml2_config, configName));
}
fmlResponsePacket.AddRange(dataTypes.GetVarInt(99));
fmlResponsePacket.AddRange(DataTypes.GetVarInt(99));
fmlResponseReady = true;
break;
@ -408,7 +408,7 @@ namespace MinecraftClient.Protocol.Handlers
// Wrap our FML packet into a LoginPluginResponse payload
responseData.Clear();
responseData.AddRange(dataTypes.GetString(fmlChannel));
responseData.AddRange(dataTypes.GetVarInt(fmlResponsePacket.Count));
responseData.AddRange(DataTypes.GetVarInt(fmlResponsePacket.Count));
responseData.AddRange(fmlResponsePacket);
return true;
}