content
content
record component.content
- the unwrapped chat messagetypeId
- sender
- timeStamp
- saltSignature
- Packet<ClientPlayPacketListener>
The content is not wrapped in any way (e.g. by chat.type.text
text); the
raw message content is sent to the clients, and they will wrap it (see
invalid @link
net.minecraft.client.gui.hud.ChatHudListener#format
game message
or use a server resource pack.
Messages that took more than TIME_TO_LIVE
to reach the clients are
considered expired. This is measured from the time the client sent the chat message
to the server. Note that unlike ChatMessageC2SPacket
expired messages are not
discarded by the clients; they instead log a warning.
Chat messages have signatures. It is possible to use a bogus signature - such as
NetworkEncryptionUtils.SignatureData.NONE
- to send a chat message; however
if the signature is invalid (e.g. because the text's content differs from the one
sent by the client, or because the passed signature is invalid) the client will
log a warning. See
invalid @link
NetworkEncryptionUtils#updateSignature
Namespace | Name |
---|---|
official | ug |
intermediary | net/minecraft/class_7438 |
named | net/minecraft/network/packet/s2c/play/ChatMessageS2CPacket |
official | a |
intermediary | comp_758 |
named | content |
official | b |
intermediary | comp_806 |
named | typeId |
official | c |
intermediary | comp_760 |
named | sender |
official | d |
intermediary | comp_761 |
named | timeStamp |
official | e |
intermediary | comp_762 |
named | saltSignature |
private final Text
content
record component.private final NetworkEncryptionUtils.SignatureData
saltSignature
record component.private final ChatMessageSender
sender
record component.private static final Duration
private final Instant
timeStamp
record component.private final int
typeId
record component.ChatMessageS2CPacket(Text text,
int int2,
ChatMessageSender chatMessageSender,
Instant instant,
NetworkEncryptionUtils.SignatureData signatureData)
void
apply(ClientPlayPacketListener clientPlayPacketListener)
content()
content
record component.final boolean
private Instant
final int
hashCode()
boolean
boolean
method_43884(Registry<MessageType> registry)
saltSignature
record component.sender()
sender
record component.timeStamp
record component.final String
toString()
int
typeId()
typeId
record component.void
write(PacketByteBuf buf)
content
record component.typeId
record component.sender
record component.timeStamp
record component.saltSignature
record component.Namespace | Name | Mixin selector |
---|---|---|
official | f |
Lug;f:Ljava/time/Duration; |
intermediary | field_39085 |
Lnet/minecraft/class_7438;field_39085:Ljava/time/Duration; |
named | TIME_TO_LIVE |
Lnet/minecraft/network/packet/s2c/play/ChatMessageS2CPacket;TIME_TO_LIVE:Ljava/time/Duration; |
Namespace | Name | Mixin selector |
---|---|---|
official | <init> |
Lug;<init>(Lqs;)V |
intermediary | <init> |
Lnet/minecraft/class_7438;<init>(Lnet/minecraft/class_2540;)V |
named | <init> |
Lnet/minecraft/network/packet/s2c/play/ChatMessageS2CPacket;<init>(Lnet/minecraft/network/PacketByteBuf;)V |
write
in interface Packet<ClientPlayPacketListener>
Namespace | Name | Mixin selector |
---|---|---|
official | a |
Lsh;a(Lqs;)V |
intermediary | method_11052 |
Lnet/minecraft/class_2596;method_11052(Lnet/minecraft/class_2540;)V |
named | write |
Lnet/minecraft/network/Packet;write(Lnet/minecraft/network/PacketByteBuf;)V |
apply
in interface Packet<ClientPlayPacketListener>
Namespace | Name | Mixin selector |
---|---|---|
official | a |
Lug;a(Lsk;)V |
intermediary | method_43629 |
Lnet/minecraft/class_7438;method_43629(Lnet/minecraft/class_2602;)V |
named | apply |
Lnet/minecraft/network/packet/s2c/play/ChatMessageS2CPacket;apply(Lnet/minecraft/network/listener/ClientPlayPacketListener;)V |
isWritingErrorSkippable
in interface Packet<ClientPlayPacketListener>
Namespace | Name | Mixin selector |
---|---|---|
official | a |
Lsh;a()Z |
intermediary | method_11051 |
Lnet/minecraft/class_2596;method_11051()Z |
named | isWritingErrorSkippable |
Lnet/minecraft/network/Packet;isWritingErrorSkippable()Z |
Namespace | Name | Mixin selector |
---|---|---|
official | b |
Lug;b()Lrn; |
intermediary | method_43885 |
Lnet/minecraft/class_7438;method_43885()Lnet/minecraft/class_7471; |
named | method_43885 |
Lnet/minecraft/network/packet/s2c/play/ChatMessageS2CPacket;method_43885()Lnet/minecraft/class_7471; |
Namespace | Name | Mixin selector |
---|---|---|
official | h |
Lug;h()Ljava/time/Instant; |
intermediary | method_43630 |
Lnet/minecraft/class_7438;method_43630()Ljava/time/Instant; |
named | getExpiryTime |
Lnet/minecraft/network/packet/s2c/play/ChatMessageS2CPacket;getExpiryTime()Ljava/time/Instant; |
Namespace | Name | Mixin selector |
---|---|---|
official | a |
Lug;a(Ljava/time/Instant;)Z |
intermediary | method_43628 |
Lnet/minecraft/class_7438;method_43628(Ljava/time/Instant;)Z |
named | isExpired |
Lnet/minecraft/network/packet/s2c/play/ChatMessageS2CPacket;isExpired(Ljava/time/Instant;)Z |
Namespace | Name | Mixin selector |
---|---|---|
official | a |
Lug;a(Lhi;)Lrc; |
intermediary | method_43884 |
Lnet/minecraft/class_7438;method_43884(Lnet/minecraft/class_2378;)Lnet/minecraft/class_2556; |
named | method_43884 |
Lnet/minecraft/network/packet/s2c/play/ChatMessageS2CPacket;method_43884(Lnet/minecraft/util/registry/Registry;)Lnet/minecraft/network/MessageType; |
Objects::equals(Object,Object)
; primitive components are compared with '=='.content
record component.content
record componenttypeId
record component.typeId
record componentsender
record component.sender
record componenttimeStamp
record component.timeStamp
record componentsaltSignature
record component.saltSignature
record component