acacia_net is a library for the Minecraft: Java Edition network protocol.
It currently supports Protocol 404 (Minecraft 1.13.2) only.
You are strongly advised to use this wiki for reference as it provides information on what some of the packets actually do.
This library doesn't check some packets for correctness before serialising them because it would be really hard, so for some packets you must make sure that you don't break any invariants unless you want to confuse the client. Here are the invariants.
- Any packets with an
Optionin them probably have a related field of type
bool. This must be set to
- The clientbound
PlayerListItempacket is a tough beast. At the beginning is a field named
actionand this must match the variant of each
PlayerListActionenum used in the packet. The values are 0-4 inclusively for the variant in the order they are in in the source. If you want to perform the same action type on multiple players, go ahead, but if you want to perform different actions on different players you'll have to put each action type in a separate packet.
If you want this to change, contact Mojang. (except the first one - I could probably fix that myself)