Record Class RawPayload
java.lang.Object
java.lang.Record
net.timtaran.interactivemc.network.RawPayload
- Record Components:
data- The raw Netty buffer containing the packet ID and payload.identifier- The specific payload type identifier (C2S or S2C).
- All Implemented Interfaces:
net.minecraft.network.protocol.common.custom.CustomPacketPayload
public record RawPayload(io.netty.buffer.ByteBuf data, net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> identifier)
extends Record
implements net.minecraft.network.protocol.common.custom.CustomPacketPayload
A raw container payload that transports direct Netty ByteBufs through the Minecraft networking system.
This bypasses the object-heavy serialization of standard payloads by treating the entire packet content as a single opaque blob of bytes.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.minecraft.network.protocol.common.custom.CustomPacketPayload
net.minecraft.network.protocol.common.custom.CustomPacketPayload.FallbackProvider<B extends net.minecraft.network.FriendlyByteBuf>, net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>, net.minecraft.network.protocol.common.custom.CustomPacketPayload.TypeAndCodec<B extends net.minecraft.network.FriendlyByteBuf,T extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf, RawPayload> A zero-copy StreamCodec that slices the buffer instead of copying it.static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf, RawPayload> A zero-copy StreamCodec that slices the buffer instead of copying it.static final net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> static final net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> -
Constructor Summary
ConstructorsConstructorDescriptionRawPayload(io.netty.buffer.ByteBuf data, net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> identifier) Creates an instance of aRawPayloadrecord class. -
Method Summary
Modifier and TypeMethodDescriptionio.netty.buffer.ByteBufdata()Returns the value of thedatarecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> Returns the value of theidentifierrecord component.final StringtoString()Returns a string representation of this record class.net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<? extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> type()
-
Field Details
-
TYPE_C2S
public static final net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> TYPE_C2S -
TYPE_S2C
public static final net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> TYPE_S2C -
CODEC_C2S
public static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf,RawPayload> CODEC_C2SA zero-copy StreamCodec that slices the buffer instead of copying it. Specific for Client-to-Server communication. -
CODEC_S2C
public static final net.minecraft.network.codec.StreamCodec<net.minecraft.network.RegistryFriendlyByteBuf,RawPayload> CODEC_S2CA zero-copy StreamCodec that slices the buffer instead of copying it. Specific for Server-to-Client communication.
-
-
Constructor Details
-
RawPayload
public RawPayload(io.netty.buffer.ByteBuf data, net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> identifier) Creates an instance of aRawPayloadrecord class.- Parameters:
data- the value for thedatarecord componentidentifier- the value for theidentifierrecord component
-
-
Method Details
-
type
public net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<? extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> type()- Specified by:
typein interfacenet.minecraft.network.protocol.common.custom.CustomPacketPayload
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
data
public io.netty.buffer.ByteBuf data()Returns the value of thedatarecord component.- Returns:
- the value of the
datarecord component
-
identifier
public net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> identifier()Returns the value of theidentifierrecord component.- Returns:
- the value of the
identifierrecord component
-