Using FriendlyByteBuf/1.18

Revision as of 07:46, 10 June 2022 by ShrimpBot (talk | contribs) (Copy Using FriendlyByteBuf to MC1.18 archive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

FriendlyByteBufs are essentially a byte array of zero or more bytes to sync information across a network. It works similarly to a queue: the information is written in to a specific order and read in the order it was written.

Using FriendlyByteBufs

In most cases, one will use a premade FriendlyByteBuf passed in from some network. Most of the time this is a heap buffer of some sort; however, understanding how it works is best left as an explanation of data structures.

When you are writing to a FriendlyByteBuf, you are calling one of the many write functions to store information as bytes (e.g. writeBlockPos or writeVarInt). There are a couple of helpers for objects like CompoundTag, ItemStacks, etc. if they are needed.

When you are reading from a FriendlyByteBuf, you are calling the equivalent read function in the same order. For example, if you call writeBlockPos and then writeVarInt, you would call readBlockPos and then readVarInt in that order. Each of these method returns the value from the buffer.