Changes

Copy Using FriendlyByteBuf to MC1.18 archive
<code>FriendlyByteBuf</code>s 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 <code>FriendlyByteBuf</code>s ==

In most cases, one will use a premade <code>FriendlyByteBuf</code> 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 <code>FriendlyByteBuf</code>, you are calling one of the many write functions to store information as bytes (e.g. <code>writeBlockPos</code> or <code>writeVarInt</code>). There are a couple of helpers for objects like <code>CompoundTag</code>, <code>ItemStack</code>s, etc. if they are needed.

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

edits