Some ideas about 1.19.2 support #2087
BruceChenQAQ
started this conversation in
Ideas
Replies: 2 comments 2 replies
-
|
image from https://gist.github.com/kennytv/ed783dd244ca0321bbd882c347892874#signed-command-arguments |
Beta Was this translation helpful? Give feedback.
2 replies
-
// ChatMessageS2CPacket.write
message.write(buf);
// ChatMessageS2CPacket.write -> message.write
this.signedHeader.write(buf);
// ChatMessageS2CPacket.write -> message.write -> signedHeader.write
if (this.precedingSignature != null)
writeBoolean(true);
precedingSignature.write(buf2);
else
writeBoolean(false);
writeUuid(this.sender);
// ChatMessageS2CPacket.write -> message.write
headerSignature.write(buf);
// ChatMessageS2CPacket.write -> message.write -> headerSignature.write
writeVarInt(this.data.length);
writeBytes(this.data);
// ChatMessageS2CPacket.write -> message.write
signedBody.write(buf);
// ChatMessageS2CPacket.write -> message.write -> signedBody.write
DecoratedContents.write(buf, this.content);
// ChatMessageS2CPacket.write -> message.write -> signedBody.write -> DecoratedContents.write
buf.writeString(contents.plain(), 256);
Text text = contents.isDecorated() ? contents.decorated() : null;
if (text != null)
this.writeBoolean(true);
this.writeString(Text.Serializer.toJson(text), MAX_TEXT_LENGTH); // MAX_TEXT_LENGTH = 262144
else
this.writeBoolean(false);
// ChatMessageS2CPacket.write -> message.write -> signedBody.write
buf.writeInstant(this.timestamp);
buf.writeLong(this.salt);
// ChatMessageS2CPacket.write -> message.write -> signedBody.write
this.lastSeenMessages.write(buf);
// ChatMessageS2CPacket.write -> message.write -> signedBody.write -> LastSeenMessageList.write
this.writeVarInt(this.entries.size());
foreach (var entry in this.entries)
entrie.write(buf2);
// ChatMessageS2CPacket.write -> message.write -> signedBody.write -> LastSeenMessageList.write -> Entry.write
buf.writeUuid(this.profileId);
lastSignature.write(buf);
// ChatMessageS2CPacket.write -> message.write -> signedBody.write -> LastSeenMessageList.write -> Entry.write -> MessageSignatureData.write
writeVarInt(this.data.length);
writeBytes(this.data);
// ChatMessageS2CPacket.write -> message.write
if (this.unsignedContent != null)
this.writeBoolean(true);
this.writeString(Text.Serializer.toJson(this.unsignedContent), MAX_TEXT_LENGTH);
else
this.writeBoolean(false);
// ChatMessageS2CPacket.write -> message.write
class_7649.method_45091(buf, this.filterMask);
// ChatMessageS2CPacket.write -> message.write -> class_7649.method_45091
packetByteBuf.writeEnumConstant(filterMask.field_39945); // writeVarIntEnum
if (filterMask.field_39945 == class_7649.class_7650.PARTIALLY_FILTERED) {
packetByteBuf.writeBitSet(arg.field_39944);
}
// ChatMessageS2CPacket.write -> message.write -> class_7649.method_45091 -> writeBitSet
writeVarInt(bitSet.toLongArray().length);
writeLongArray(bitSet.toLongArray());
// ChatMessageS2CPacket.write
serializedParameters.write(buf);
// ChatMessageS2CPacket.write -> serializedParameters.write
writeVarInt(this.typeId);
writeString(Text.Serializer.toJson(this.name), MAX_TEXT_LENGTH);
if (this.targetName != null)
writeBoolean(true);
writeString(Text.Serializer.toJson(this.targetName), MAX_TEXT_LENGTH);
else
writeBoolean(false); |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Some previous discussions: #2084
The processing path for chat signatures in 1.19.1:
Beta Was this translation helpful? Give feedback.
All reactions