Packet API

Binary Stream Object API

Create binary stream
BinaryStream bs;
Write to binary stream

There you can get information what's needed to write in your packet! Protocol Documentationopen in new window & Bedrock Protocolopen in new window

bs.writeXXXXX(value);
Available functionsParameter Type
writeTypeCommandOriginData
writeTypestd::vector<std::unique_ptr<class DataItem>>
writeTypeNetworkItemStackDescriptor
writeTypeMoveActorAbsoluteData
writeTypemce::UUID
writeTypeNetworkItemInstanceDescriptor
writeTypeItemStackRequestSlotInfo
writeTypeRecipeIngredient
writeTypeVec3
writeCompoundTagCompoundTag
writeBoolbool
writeByteunsigned char
writeDoubledouble
writeFloatfloat
writeSignedBigEndianIntint
writeSignedIntint
writeSignedInt64__int64
writeSignedShortshort
writeStringstring
writeUnignedCharunsigned char
writeUnignedIntunsigned int
writeUnignedInt64unsigned __int64
writeUnignedShortunsigned short
writeUnignedVarIntunsigned int
writeUnignedVarInt64unsigned __int64
writeVarIntint
writeVarInt64__int64
Building packet from binary stream
std::shared_ptr<Packet> packet = MinecraftPackets::createPacket(MinecraftPacketIds::Text); // Create TextPacket
packet->read(bs); // Parse binary stream
Sending packet

To specific player

player->sendNetworkPacket(*packet);

To all players

Global<Level>->sendPacketForAllPlayers(*packet);

Demo Code

Simple implementation of Text Packet

BinaryStream bs; // Create binary stream
bs.writeUnsignedChar(0); // Text type
bs.writeBool(false); // Needs translation
bs.writeString(""); // Source name
bs.writeString("Hello world!"); // Message
bs.writeString(""); // XUID
bs.writeString(""); // Platform chat id
std::shared_ptr<Packet> packet = MinecraftPackets::createPacket(MinecraftPacketIds::Text); // Create packet
packet->read(bs); // Parse binary stream
player->sendNetworkPacket(*packet); // Send packet to specific player
Last Updated:
Contributors: VinkyV