CLASS net/minecraft/class_2540 net/minecraft/network/PacketByteBuf COMMENT A packet byte buf is a specialized byte buf with utility methods adapted COMMENT to Minecraft's protocol. It has serialization and deserialization of COMMENT custom objects. COMMENT COMMENT
Object Type | read method | write method | COMMENT
---|---|---|
Codec-based | {@link #decode(Codec)} | {@link #encode(Codec, Object)} | COMMENT
{@link Collection} | {@link #readCollection(IntFunction, Function)} | {@link #writeCollection(Collection, BiConsumer)} | COMMENT
{@link IntList} | {@link #readIntList()} | {@link #writeIntList(IntList)} | COMMENT
{@link Map} | {@link #readMap(IntFunction, Function, Function)} | {@link #writeMap(Map, BiConsumer, BiConsumer)} | COMMENT
{@code byte[]} | {@link #readByteArray()} | {@link #writeByteArray(byte[])} | COMMENT
{@code int[]} | {@link #readIntArray()} | {@link #writeIntArray(int[])} | COMMENT
{@code long[]} | {@link #readLongArray()} | {@link #writeLongArray(long[])} | COMMENT
{@link BlockPos} | {@link #readBlockPos()} | {@link #writeBlockPos(BlockPos)} | COMMENT
{@link ChunkSectionPos} | {@link #readChunkSectionPos()} | (removed by proguard) | COMMENT
{@link Text} | {@link #readText()} | {@link #writeText(Text)} | COMMENT
{@link Enum} | {@link #readEnumConstant(Class)} | {@link #writeEnumConstant(Enum)} | COMMENT
{@index VarInt} | {@link #readVarInt()} | {@link #writeVarInt(int)} | COMMENT
{@index VarLong} | {@link #readVarLong()} | {@link #writeVarLong(long)} | COMMENT
{@link UUID} | {@link #readUuid()} | {@link #writeUuid(UUID)} | COMMENT
{@link CompoundTag} | {@link #readCompoundTag()} | {@link #writeCompoundTag(CompoundTag)} | COMMENT
{@link ItemStack} | {@link #readItemStack()} | {@link #writeItemStack(ItemStack)} | COMMENT
{@link String} | {@link #readString()} | {@link #writeString(String)} | COMMENT
{@link Identifier} | {@link #readIdentifier()} | {@link #writeIdentifier(Identifier)} | COMMENT
{@link Date} | {@link #readDate()} | {@link #writeDate(Date)} | COMMENT
{@link BlockHitResult} | {@link #readBlockHitResult()} | {@link #writeBlockHitResult(BlockHitResult)} | COMMENT
{@link BitSet} | {@link #readBitSet()} | {@link #writeBitSet(BitSet)} | COMMENT
All {@code read} and {@code write} methods throw {@link
COMMENT IndexOutOfBoundsException} if there is not enough bytes to be read or
COMMENT not enough space to write.
FIELD field_11695 parent Lio/netty/buffer/ByteBuf;
METHOD Compared to regular longs, var longs may use less bytes when
COMMENT representing smaller positive numbers.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @see #readVarLong()
ARG 1 value
COMMENT the value to write
METHOD method_10792 readVarLong ()J
COMMENT Reads a single var long from this buf.
COMMENT
COMMENT @return the value read
COMMENT @see #writeVarLong(long)
METHOD method_10793 writeItemStack (Lnet/minecraft/class_1799;)Lnet/minecraft/class_2540;
COMMENT Writes an item stack to this buf. An item stack is represented by a
COMMENT boolean indicating whether it exists; if it exists, it is followed by
COMMENT a var int for its raw id, a byte for its count, and an NBT compound for
COMMENT its tag.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @see #readItemStack()
ARG 1 stack
COMMENT the stack to write
METHOD method_10794 writeCompoundTag (Lnet/minecraft/class_2487;)Lnet/minecraft/class_2540;
COMMENT Writes an NBT compound to this buf. The binary representation of NBT is
COMMENT handled by {@link net.minecraft.nbt.NbtIo}. If {@code compound} is {@code
COMMENT null}, it is treated as an END tag.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @throws io.netty.handler.codec.EncoderException if the NBT cannot be
COMMENT written
COMMENT @see #readCompoundTag()
COMMENT @see #readUnlimitedCompoundTag()
COMMENT @see #readCompoundTag(PositionTracker)
ARG 1 compound
COMMENT the compound to write
METHOD method_10795 readByteArray ()[B
COMMENT Reads an array of primitive bytes from this buf. The array first has a
COMMENT var int indicating its length, followed by the actual bytes. The array
COMMENT does not have a length limit.
COMMENT
COMMENT @see #readByteArray(int)
COMMENT @see #writeByteArray(byte[])
COMMENT @return the read byte array
METHOD method_10796 writeDate (Ljava/util/Date;)Lnet/minecraft/class_2540;
COMMENT Writes a date to this buf. A date is represented by its time, a regular
COMMENT long.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @see #readDate()
ARG 1 date
COMMENT the date to write
METHOD method_10797 writeUuid (Ljava/util/UUID;)Lnet/minecraft/class_2540;
COMMENT Writes a UUID (universally unique identifier) to this buf. A UUID is
COMMENT represented by two regular longs.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @see #readUuid()
ARG 1 uuid
COMMENT the UUID to write
METHOD method_10798 readCompoundTag ()Lnet/minecraft/class_2487;
COMMENT Reads an NBT compound from this buf. The binary representation of NBT is
COMMENT handled by {@link net.minecraft.nbt.NbtIo}. If an END tag is encountered,
COMMENT this method returns {@code null}. The compound can have a maximum size of
COMMENT {@code 2097152} bytes.
COMMENT
COMMENT @return the read compound, may be {@code null}
COMMENT @throws io.netty.handler.codec.EncoderException if the NBT cannot be read
COMMENT @throws RuntimeException if the compound exceeds the allowed maximum size
COMMENT @see #writeCompoundTag(CompoundTag)
COMMENT @see #readUnlimitedCompoundTag()
COMMENT @see #readCompoundTag(PositionTracker)
METHOD method_10799 readIntArray (I)[I
COMMENT Reads an array of primitive ints from this buf. The array first has a
COMMENT var int indicating its length, followed by the var int entries. The array
COMMENT has a length limit given by {@code maxSize}.
COMMENT
COMMENT @implNote An int array has the same format as a list of ints.
COMMENT
COMMENT @see #readIntArray()
COMMENT @see #writeIntArray(int[])
COMMENT @return the read byte array
COMMENT @throws io.netty.handler.codec.DecoderException if the read array has a
COMMENT length over {@code maxSize}
ARG 1 maxSize
COMMENT the max length of the read array
METHOD method_10800 readString (I)Ljava/lang/String;
COMMENT Reads a string from this buf. A string is represented by a byte array of
COMMENT its UTF-8 data. The string can have a maximum length of {@code maxLength}.
COMMENT
COMMENT @return the string read
COMMENT @throws io.netty.handler.codec.DecoderException if the string read
COMMENT is longer than {@code maxLength}
COMMENT @see #readString()
COMMENT @see #writeString(String)
COMMENT @see #writeString(String, int)
ARG 1 maxLength
COMMENT the maximum length of the string read
METHOD method_10801 readLongArray ([J)[J
COMMENT Reads an array of primitive longs from this buf. The array first has a
COMMENT var int indicating its length, followed by the regular long (not var
COMMENT long) values. The array does not have a length limit.
COMMENT
COMMENT Only when {@code toArray} is not {@code null} and {@code
COMMENT toArray.length} equals to the length var int read will the {@code
COMMENT toArray} be reused and returned; otherwise, a new array
COMMENT of proper size is created.
COMMENT
COMMENT @see #writeLongArray(long[])
COMMENT @see #readLongArray()
COMMENT @see #readLongArray(long[], int)
COMMENT @return the read long array
ARG 1 toArray
COMMENT the array to reuse
METHOD method_10802 readDate ()Ljava/util/Date;
COMMENT Reads a date from this buf. A date is represented by its time, a regular
COMMENT long.
COMMENT
COMMENT @return the read date
COMMENT @see #writeDate(Date)
METHOD method_10803 readByteArray (I)[B
COMMENT Reads an array of primitive bytes from this buf. The array first has a
COMMENT var int indicating its length, followed by the actual bytes. The array
COMMENT has a length limit given by {@code maxSize}.
COMMENT
COMMENT @see #readByteArray()
COMMENT @see #writeByteArray(byte[])
COMMENT @return the read byte array
COMMENT @throws io.netty.handler.codec.DecoderException if the read array has a
COMMENT length over {@code maxSize}
ARG 1 maxSize
COMMENT the max length of the read array
METHOD method_10804 writeVarInt (I)Lnet/minecraft/class_2540;
COMMENT Writes a single var int to this buf.
COMMENT
COMMENT Compared to regular ints, var ints may use less bytes (ranging from 1
COMMENT to 5, where regular ints use 4) when representing smaller positive
COMMENT numbers.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @see #readVarInt()
ARG 1 value
COMMENT the value to write
METHOD method_10805 writeText (Lnet/minecraft/class_2561;)Lnet/minecraft/class_2540;
COMMENT Writes a text to this buf. A text is represented by a JSON string with
COMMENT max length {@code 262144}.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @throws io.netty.handler.codec.EncoderException if the JSON string
COMMENT written exceeds {@code 262144} in length
COMMENT @see #readText()
ARG 1 text
COMMENT the text to write
METHOD method_10806 writeIntArray ([I)Lnet/minecraft/class_2540;
COMMENT Writes an array of primitive ints to this buf. The array first has a
COMMENT var int indicating its length, followed by the var int entries.
COMMENT
COMMENT @implNote An int array has the same format as a list of ints.
COMMENT
COMMENT @see #readIntArray(int)
COMMENT @see #writeIntArray(int[])
COMMENT @see #writeIntList(IntList)
COMMENT @return this buf, for chaining
ARG 1 array
COMMENT the array to write
METHOD method_10807 writeBlockPos (Lnet/minecraft/class_2338;)Lnet/minecraft/class_2540;
COMMENT Writes a block position to this buf. A block position is represented by
COMMENT a regular long.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @see #readBlockPos()
ARG 1 pos
COMMENT the pos to write
METHOD method_10808 readText ()Lnet/minecraft/class_2561;
COMMENT Reads a text from this buf. A text is represented by a JSON string with
COMMENT max length {@code 262144}.
COMMENT
COMMENT @return the read text
COMMENT @throws io.netty.handler.codec.DecoderException if the JSON string read
COMMENT exceeds {@code 262144} in length
COMMENT @see #writeText(Text)
METHOD method_10809 readLongArray ([JI)[J
COMMENT Reads an array of primitive longs from this buf. The array first has a
COMMENT var int indicating its length, followed by the regular long (not var
COMMENT long) values. The array has a length limit of {@code maxSize}.
COMMENT
COMMENT Only when {@code toArray} is not {@code null} and {@code
COMMENT toArray.length} equals to the length var int read will the {@code
COMMENT toArray} be reused and returned; otherwise, a new array
COMMENT of proper size is created.
COMMENT
COMMENT @see #writeLongArray(long[])
COMMENT @see #readLongArray()
COMMENT @see #readLongArray(long[])
COMMENT @return the read long array
COMMENT @throws io.netty.handler.codec.DecoderException if the read array has a
COMMENT length over {@code maxSize}
ARG 1 toArray
COMMENT the array to reuse
ARG 2 maxSize
COMMENT the max length of the read array
METHOD method_10810 readIdentifier ()Lnet/minecraft/class_2960;
COMMENT Reads an identifier from this buf. An identifier is represented by its
COMMENT string form. The read identifier's string form can have a max length of
COMMENT {@code 32767}.
COMMENT
COMMENT @return the read identifier
COMMENT @throws io.netty.handler.codec.DecoderException if the identifier's
COMMENT string form is longer than {@code 32767}
COMMENT @see #writeIdentifier(Identifier)
METHOD method_10811 readBlockPos ()Lnet/minecraft/class_2338;
COMMENT Reads a block position from this buf. A block position is represented by
COMMENT a regular long.
COMMENT
COMMENT @return the read block pos
COMMENT @see #writeBlockPos(BlockPos)
METHOD method_10812 writeIdentifier (Lnet/minecraft/class_2960;)Lnet/minecraft/class_2540;
COMMENT Writes an identifier to this buf. An identifier is represented by its
COMMENT string form. The written identifier's byte array can have a max length of
COMMENT {@code 32767}.
COMMENT
COMMENT @return the read identifier
COMMENT @throws io.netty.handler.codec.EncoderException if the {@code id}'s
COMMENT byte array is longer than {@code 32767}
COMMENT @see #readIdentifier()
ARG 1 id
COMMENT the identifier to write
METHOD method_10813 writeByteArray ([B)Lnet/minecraft/class_2540;
COMMENT Writes an array of primitive bytes to this buf. The array first has a
COMMENT var int indicating its length, followed by the actual bytes.
COMMENT
COMMENT @see #readByteArray()
COMMENT @return this buf, for chaining
ARG 1 array
COMMENT the array to write
METHOD method_10814 writeString (Ljava/lang/String;)Lnet/minecraft/class_2540;
COMMENT Writes a string to this buf. A string is represented by a byte array of
COMMENT its UTF-8 data. That byte array can have a maximum length of
COMMENT {@code 32767}.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @throws io.netty.handler.codec.EncoderException if the byte array of the
COMMENT string to write is longer than {@code 32767}
COMMENT @see #readString()
COMMENT @see #readString(int)
COMMENT @see #writeString(String, int)
ARG 1 string
COMMENT the string to write
METHOD method_10815 getVarIntSizeBytes (I)I
COMMENT Returns the number of bytes needed to encode {@code value} as a
COMMENT {@linkplain #writeVarInt(int) var int}. Guaranteed to be between {@code
COMMENT 1} and {@code 5}.
COMMENT
COMMENT @return the number of bytes a var int {@code value} uses
ARG 0 value
COMMENT the value to encode
METHOD method_10816 readVarInt ()I
COMMENT Reads a single var int from this buf.
COMMENT
COMMENT @return the value read
COMMENT @see #writeVarInt(int)
METHOD method_10817 writeEnumConstant (Ljava/lang/Enum;)Lnet/minecraft/class_2540;
COMMENT Writes an enum constant to this buf. An enum constant is represented
COMMENT by a var int indicating its ordinal.
COMMENT
COMMENT @return this buf, for chaining
COMMENT @see #readEnumConstant(Class)
ARG 1 instance
COMMENT the enum constant to write
METHOD method_10818 readEnumConstant (Ljava/lang/Class;)Ljava/lang/Enum;
COMMENT Reads an enum constant from this buf. An enum constant is represented
COMMENT by a var int indicating its ordinal.
COMMENT
COMMENT @return the read enum constant
COMMENT @see #writeEnumConstant(Enum)
ARG 1 enumClass
COMMENT the enum class, for constant lookup
METHOD method_10819 readItemStack ()Lnet/minecraft/class_1799;
COMMENT Reads an item stack from this buf. An item stack is represented by a
COMMENT boolean indicating whether it exists; if it exists, it is followed by
COMMENT a var int for its raw id, a byte for its count, and an NBT compound for
COMMENT its tag.
COMMENT
COMMENT @return the read item stack
COMMENT @see #writeItemStack(ItemStack)
METHOD method_17813 writeBlockHitResult (Lnet/minecraft/class_3965;)V
COMMENT Writes a block hit result to this buf. A block hit result is represented
COMMENT by a block position, a direction enum constant, 3 floats for the hit
COMMENT offset position, and a boolean for whether the hit was inside a block.
COMMENT
COMMENT @see #readBlockHitResult()
ARG 1 hitResult
COMMENT the block hit result to write
METHOD method_17814 readBlockHitResult ()Lnet/minecraft/class_3965;
COMMENT Reads a block hit result from this buf. A block hit result is represented
COMMENT by a block position, a direction enum constant, 3 floats for the hit
COMMENT offset position, and a boolean for whether the hit was inside a block.
COMMENT
COMMENT @return the read block hit result
COMMENT @see #writeBlockHitResult(BlockHitResult)
METHOD method_19456 readChunkSectionPos ()Lnet/minecraft/class_4076;
COMMENT Reads a chunk section position from this buf. A chunk section position is
COMMENT represented by a regular long.
COMMENT
COMMENT @apiNote The writing equivalent has been removed by proguard as chunk
COMMENT section writing is only used by debug rendering. The writing equivalent
COMMENT would be {@code buf.writeLong(chunkSectionPos.toLong())}.
COMMENT
COMMENT @return the read chunk section pos
METHOD method_19772 readString ()Ljava/lang/String;
COMMENT Reads a string from this buf. A string is represented by a byte array of
COMMENT its UTF-8 data. The string can have a maximum length of {@code 32767}.
COMMENT
COMMENT @return the string read
COMMENT @throws io.netty.handler.codec.DecoderException if the string read
COMMENT exceeds the maximum length
COMMENT @see #readString(int)
COMMENT @see #writeString(String)
COMMENT @see #writeString(String, int)
METHOD method_29171 decode (Lcom/mojang/serialization/Codec;)Ljava/lang/Object;
COMMENT Reads an object from this buf as a compound NBT with the given codec.
COMMENT
COMMENT @param