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

    Fields
    Modifier and Type
    Field
    Description
    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.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

    Constructors
    Constructor
    Description
    RawPayload(io.netty.buffer.ByteBuf data, net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> identifier)
    Creates an instance of a RawPayload record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    io.netty.buffer.ByteBuf
    Returns the value of the data record component.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload>
    Returns the value of the identifier record component.
    final String
    Returns a string representation of this record class.
    net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<? extends net.minecraft.network.protocol.common.custom.CustomPacketPayload>
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • 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_C2S
      A 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_S2C
      A 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 a RawPayload record class.
      Parameters:
      data - the value for the data record component
      identifier - the value for the identifier record component
  • Method Details

    • type

      public net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<? extends net.minecraft.network.protocol.common.custom.CustomPacketPayload> type()
      Specified by:
      type in interface net.minecraft.network.protocol.common.custom.CustomPacketPayload
    • toString

      public final String 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.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • 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.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      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 with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • data

      public io.netty.buffer.ByteBuf data()
      Returns the value of the data record component.
      Returns:
      the value of the data record component
    • identifier

      public net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type<RawPayload> identifier()
      Returns the value of the identifier record component.
      Returns:
      the value of the identifier record component