1,205 bytes added
, 07:46, 10 June 2022
<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.