mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
Fixed a crash on chat parsing. + Returned the commended try catch block
Fixed a crash on chat parsing. + Returned the commended try catch block
This commit is contained in:
commit
798a24e8be
3 changed files with 53 additions and 48 deletions
|
|
@ -686,7 +686,6 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
? key >> 5 // 1.8
|
? key >> 5 // 1.8
|
||||||
: ReadNextVarInt(cache); // 1.9+
|
: ReadNextVarInt(cache); // 1.9+
|
||||||
|
|
||||||
|
|
||||||
EntityMetaDataType type;
|
EntityMetaDataType type;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -365,8 +365,8 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
/// <returns>TRUE if the packet was processed, FALSE if ignored or unknown</returns>
|
/// <returns>TRUE if the packet was processed, FALSE if ignored or unknown</returns>
|
||||||
internal bool HandlePacket(int packetId, Queue<byte> packetData)
|
internal bool HandlePacket(int packetId, Queue<byte> packetData)
|
||||||
{
|
{
|
||||||
//try
|
try
|
||||||
//{
|
{
|
||||||
switch (currentState)
|
switch (currentState)
|
||||||
{
|
{
|
||||||
// https://wiki.vg/Protocol#Login
|
// https://wiki.vg/Protocol#Login
|
||||||
|
|
@ -449,23 +449,22 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
default:
|
default:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//}
|
}
|
||||||
//catch (Exception innerException)
|
catch (Exception innerException)
|
||||||
//{
|
{
|
||||||
// //throw;
|
if (innerException is ThreadAbortException || innerException is SocketException ||
|
||||||
// if (innerException is ThreadAbortException || innerException is SocketException ||
|
innerException.InnerException is SocketException)
|
||||||
// innerException.InnerException is SocketException)
|
throw; //Thread abort or Connection lost rather than invalid data
|
||||||
// throw; //Thread abort or Connection lost rather than invalid data
|
|
||||||
|
|
||||||
// throw new System.IO.InvalidDataException(
|
throw new System.IO.InvalidDataException(
|
||||||
// string.Format(Translations.exception_packet_process,
|
string.Format(Translations.exception_packet_process,
|
||||||
// packetPalette.GetIncomingTypeById(packetId),
|
packetPalette.GetIncomingTypeById(packetId),
|
||||||
// packetId,
|
packetId,
|
||||||
// protocolVersion,
|
protocolVersion,
|
||||||
// currentState == CurrentState.Login,
|
currentState == CurrentState.Login,
|
||||||
// innerException.GetType()),
|
innerException.GetType()),
|
||||||
// innerException);
|
innerException);
|
||||||
//}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -493,9 +492,10 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//Send back "accepted" and "successfully loaded" responses for plugins or server config making use of resource pack mandatory
|
//Send back "accepted" and "successfully loaded" responses for plugins or server config making use of resource pack mandatory
|
||||||
var responseHeader = protocolVersion < MC_1_10_Version // After 1.10, the MC does not include resource pack hash in responses
|
var responseHeader =
|
||||||
? dataTypes.ConcatBytes(DataTypes.GetVarInt(hash.Length), Encoding.UTF8.GetBytes(hash))
|
protocolVersion < MC_1_10_Version // After 1.10, the MC does not include resource pack hash in responses
|
||||||
: Array.Empty<byte>();
|
? dataTypes.ConcatBytes(DataTypes.GetVarInt(hash.Length), Encoding.UTF8.GetBytes(hash))
|
||||||
|
: Array.Empty<byte>();
|
||||||
|
|
||||||
var basePacketData = protocolVersion >= MC_1_20_4_Version && uuid != Guid.Empty
|
var basePacketData = protocolVersion >= MC_1_20_4_Version && uuid != Guid.Empty
|
||||||
? dataTypes.ConcatBytes(responseHeader, DataTypes.GetUUID(uuid))
|
? dataTypes.ConcatBytes(responseHeader, DataTypes.GetUUID(uuid))
|
||||||
|
|
@ -507,7 +507,8 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
if (currentState == CurrentState.Configuration)
|
if (currentState == CurrentState.Configuration)
|
||||||
{
|
{
|
||||||
SendPacket(ConfigurationPacketTypesOut.ResourcePackResponse, acceptedResourcePackData); // Accepted
|
SendPacket(ConfigurationPacketTypesOut.ResourcePackResponse, acceptedResourcePackData); // Accepted
|
||||||
SendPacket(ConfigurationPacketTypesOut.ResourcePackResponse, loadedResourcePackData); // Successfully loaded
|
SendPacket(ConfigurationPacketTypesOut.ResourcePackResponse,
|
||||||
|
loadedResourcePackData); // Successfully loaded
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -1677,7 +1678,7 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
var hasIcon = dataTypes.ReadNextBool(packetData);
|
var hasIcon = dataTypes.ReadNextBool(packetData);
|
||||||
if (hasIcon)
|
if (hasIcon)
|
||||||
{
|
{
|
||||||
if(protocolVersion < MC_1_20_2_Version)
|
if (protocolVersion < MC_1_20_2_Version)
|
||||||
iconBase64 = dataTypes.ReadNextString(packetData);
|
iconBase64 = dataTypes.ReadNextString(packetData);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -2164,7 +2165,7 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
break;
|
break;
|
||||||
case PacketTypesIn.ResetScore:
|
case PacketTypesIn.ResetScore:
|
||||||
dataTypes.ReadNextString(packetData); // Entity Name
|
dataTypes.ReadNextString(packetData); // Entity Name
|
||||||
if(dataTypes.ReadNextBool(packetData)) // Has Objective Name
|
if (dataTypes.ReadNextBool(packetData)) // Has Objective Name
|
||||||
dataTypes.ReadNextString(packetData); // Objective Name
|
dataTypes.ReadNextString(packetData); // Objective Name
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
@ -2567,7 +2568,8 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
objectiveValue2 = dataTypes.ReadNextVarInt(packetData); // Value
|
objectiveValue2 = dataTypes.ReadNextVarInt(packetData); // Value
|
||||||
|
|
||||||
if (dataTypes.ReadNextBool(packetData)) // Has Display Name
|
if (dataTypes.ReadNextBool(packetData)) // Has Display Name
|
||||||
objectiveDisplayName3 = ChatParser.ParseText(dataTypes.ReadNextString(packetData)); // Has Display Name
|
objectiveDisplayName3 =
|
||||||
|
ChatParser.ParseText(dataTypes.ReadNextString(packetData)); // Has Display Name
|
||||||
|
|
||||||
if (dataTypes.ReadNextBool(packetData)) // Has Number Format
|
if (dataTypes.ReadNextBool(packetData)) // Has Number Format
|
||||||
numberFormat2 = dataTypes.ReadNextVarInt(packetData); // Number Format
|
numberFormat2 = dataTypes.ReadNextVarInt(packetData); // Number Format
|
||||||
|
|
@ -2585,7 +2587,8 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
objectiveValue2 = dataTypes.ReadNextVarInt(packetData);
|
objectiveValue2 = dataTypes.ReadNextVarInt(packetData);
|
||||||
}
|
}
|
||||||
|
|
||||||
handler.OnUpdateScore(entityName, action3, objectiveName3, objectiveDisplayName3, objectiveValue2, numberFormat2);
|
handler.OnUpdateScore(entityName, action3, objectiveName3, objectiveDisplayName3, objectiveValue2,
|
||||||
|
numberFormat2);
|
||||||
break;
|
break;
|
||||||
case PacketTypesIn.BlockChangedAck:
|
case PacketTypesIn.BlockChangedAck:
|
||||||
handler.OnBlockChangeAck(dataTypes.ReadNextVarInt(packetData));
|
handler.OnBlockChangeAck(dataTypes.ReadNextVarInt(packetData));
|
||||||
|
|
|
||||||
|
|
@ -471,7 +471,10 @@ namespace MinecraftClient.Protocol.Message
|
||||||
var withs = (object[])withComponent;
|
var withs = (object[])withComponent;
|
||||||
for (int i = 0; i < withs.Length; i++)
|
for (int i = 0; i < withs.Length; i++)
|
||||||
{
|
{
|
||||||
var withDict = (Dictionary<string, object>)withs[i];
|
var withDict = withs[i] is string
|
||||||
|
? new Dictionary<string, object>() { { "text", (string)withs[i] } }
|
||||||
|
: (Dictionary<string, object>)withs[i];
|
||||||
|
|
||||||
translateString.Add(NbtToString(withDict));
|
translateString.Add(NbtToString(withDict));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue