Skip to content

Instantly share code, notes, and snippets.

@phase
Last active November 8, 2020 18:57
Show Gist options
  • Save phase/b03b88cad7b259764927260e08edee66 to your computer and use it in GitHub Desktop.
Save phase/b03b88cad7b259764927260e08edee66 to your computer and use it in GitHub Desktop.

HANDSHAKING (-1)

Packet Classes:

  • net.minecraft.network.protocol.handshake.ClientIntentionPacket

PLAY (0)

Packet Classes:

  • net.minecraft.network.protocol.game.ClientboundAddEntityPacket
  • net.minecraft.network.protocol.game.ClientboundAddExperienceOrbPacket
  • net.minecraft.network.protocol.game.ClientboundAddMobPacket
  • net.minecraft.network.protocol.game.ClientboundAddPaintingPacket
  • net.minecraft.network.protocol.game.ClientboundAddPlayerPacket
  • net.minecraft.network.protocol.game.ClientboundAnimatePacket
  • net.minecraft.network.protocol.game.ClientboundAwardStatsPacket
  • net.minecraft.network.protocol.game.ClientboundBlockBreakAckPacket
  • net.minecraft.network.protocol.game.ClientboundBlockDestructionPacket
  • net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket
  • net.minecraft.network.protocol.game.ClientboundBlockEventPacket
  • net.minecraft.network.protocol.game.ClientboundBlockUpdatePacket
  • net.minecraft.network.protocol.game.ClientboundBossEventPacket
  • net.minecraft.network.protocol.game.ClientboundChangeDifficultyPacket
  • net.minecraft.network.protocol.game.ClientboundChatPacket
  • net.minecraft.network.protocol.game.ClientboundCommandSuggestionsPacket
  • net.minecraft.network.protocol.game.ClientboundCommandsPacket
  • net.minecraft.network.protocol.game.ClientboundContainerAckPacket
  • net.minecraft.network.protocol.game.ClientboundContainerClosePacket
  • net.minecraft.network.protocol.game.ClientboundContainerSetContentPacket
  • net.minecraft.network.protocol.game.ClientboundContainerSetDataPacket
  • net.minecraft.network.protocol.game.ClientboundContainerSetSlotPacket
  • net.minecraft.network.protocol.game.ClientboundCooldownPacket
  • net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket
  • net.minecraft.network.protocol.game.ClientboundCustomSoundPacket
  • net.minecraft.network.protocol.game.ClientboundDisconnectPacket
  • net.minecraft.network.protocol.game.ClientboundEntityEventPacket
  • net.minecraft.network.protocol.game.ClientboundExplodePacket
  • net.minecraft.network.protocol.game.ClientboundForgetLevelChunkPacket
  • net.minecraft.network.protocol.game.ClientboundGameEventPacket
  • net.minecraft.network.protocol.game.ClientboundHorseScreenOpenPacket
  • net.minecraft.network.protocol.game.ClientboundKeepAlivePacket
  • net.minecraft.network.protocol.game.ClientboundLevelChunkPacket
  • net.minecraft.network.protocol.game.ClientboundLevelEventPacket
  • net.minecraft.network.protocol.game.ClientboundLevelParticlesPacket
  • net.minecraft.network.protocol.game.ClientboundLightUpdatePacket
  • net.minecraft.network.protocol.game.ClientboundLoginPacket
  • net.minecraft.network.protocol.game.ClientboundMapItemDataPacket
  • net.minecraft.network.protocol.game.ClientboundMerchantOffersPacket
  • net.minecraft.network.protocol.game.ClientboundMoveEntityPacket$Pos
  • net.minecraft.network.protocol.game.ClientboundMoveEntityPacket$PosRot
  • net.minecraft.network.protocol.game.ClientboundMoveEntityPacket$Rot
  • net.minecraft.network.protocol.game.ClientboundMoveEntityPacket
  • net.minecraft.network.protocol.game.ClientboundMoveVehiclePacket
  • net.minecraft.network.protocol.game.ClientboundOpenBookPacket
  • net.minecraft.network.protocol.game.ClientboundOpenScreenPacket
  • net.minecraft.network.protocol.game.ClientboundOpenSignEditorPacket
  • net.minecraft.network.protocol.game.ClientboundPlaceGhostRecipePacket
  • net.minecraft.network.protocol.game.ClientboundPlayerAbilitiesPacket
  • net.minecraft.network.protocol.game.ClientboundPlayerCombatPacket
  • net.minecraft.network.protocol.game.ClientboundPlayerInfoPacket
  • net.minecraft.network.protocol.game.ClientboundPlayerLookAtPacket
  • net.minecraft.network.protocol.game.ClientboundPlayerPositionPacket
  • net.minecraft.network.protocol.game.ClientboundRecipePacket
  • net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket
  • net.minecraft.network.protocol.game.ClientboundRemoveMobEffectPacket
  • net.minecraft.network.protocol.game.ClientboundResourcePackPacket
  • net.minecraft.network.protocol.game.ClientboundRespawnPacket
  • net.minecraft.network.protocol.game.ClientboundRotateHeadPacket
  • net.minecraft.network.protocol.game.ClientboundSectionBlocksUpdatePacket
  • net.minecraft.network.protocol.game.ClientboundSelectAdvancementsTabPacket
  • net.minecraft.network.protocol.game.ClientboundSetBorderPacket
  • net.minecraft.network.protocol.game.ClientboundSetCameraPacket
  • net.minecraft.network.protocol.game.ClientboundSetCarriedItemPacket
  • net.minecraft.network.protocol.game.ClientboundSetChunkCacheCenterPacket
  • net.minecraft.network.protocol.game.ClientboundSetChunkCacheRadiusPacket
  • net.minecraft.network.protocol.game.ClientboundSetDefaultSpawnPositionPacket
  • net.minecraft.network.protocol.game.ClientboundSetDisplayObjectivePacket
  • net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket
  • net.minecraft.network.protocol.game.ClientboundSetEntityLinkPacket
  • net.minecraft.network.protocol.game.ClientboundSetEntityMotionPacket
  • net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket
  • net.minecraft.network.protocol.game.ClientboundSetExperiencePacket
  • net.minecraft.network.protocol.game.ClientboundSetHealthPacket
  • net.minecraft.network.protocol.game.ClientboundSetObjectivePacket
  • net.minecraft.network.protocol.game.ClientboundSetPassengersPacket
  • net.minecraft.network.protocol.game.ClientboundSetPlayerTeamPacket
  • net.minecraft.network.protocol.game.ClientboundSetScorePacket
  • net.minecraft.network.protocol.game.ClientboundSetTimePacket
  • net.minecraft.network.protocol.game.ClientboundSetTitlesPacket
  • net.minecraft.network.protocol.game.ClientboundSoundEntityPacket
  • net.minecraft.network.protocol.game.ClientboundSoundPacket
  • net.minecraft.network.protocol.game.ClientboundStopSoundPacket
  • net.minecraft.network.protocol.game.ClientboundTabListPacket
  • net.minecraft.network.protocol.game.ClientboundTagQueryPacket
  • net.minecraft.network.protocol.game.ClientboundTakeItemEntityPacket
  • net.minecraft.network.protocol.game.ClientboundTeleportEntityPacket
  • net.minecraft.network.protocol.game.ClientboundUpdateAdvancementsPacket
  • net.minecraft.network.protocol.game.ClientboundUpdateAttributesPacket
  • net.minecraft.network.protocol.game.ClientboundUpdateMobEffectPacket
  • net.minecraft.network.protocol.game.ClientboundUpdateRecipesPacket
  • net.minecraft.network.protocol.game.ClientboundUpdateTagsPacket
  • net.minecraft.network.protocol.game.ServerboundAcceptTeleportationPacket
  • net.minecraft.network.protocol.game.ServerboundBlockEntityTagQuery
  • net.minecraft.network.protocol.game.ServerboundChangeDifficultyPacket
  • net.minecraft.network.protocol.game.ServerboundChatPacket
  • net.minecraft.network.protocol.game.ServerboundClientCommandPacket
  • net.minecraft.network.protocol.game.ServerboundClientInformationPacket
  • net.minecraft.network.protocol.game.ServerboundCommandSuggestionPacket
  • net.minecraft.network.protocol.game.ServerboundContainerAckPacket
  • net.minecraft.network.protocol.game.ServerboundContainerButtonClickPacket
  • net.minecraft.network.protocol.game.ServerboundContainerClickPacket
  • net.minecraft.network.protocol.game.ServerboundContainerClosePacket
  • net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket
  • net.minecraft.network.protocol.game.ServerboundEditBookPacket
  • net.minecraft.network.protocol.game.ServerboundEntityTagQuery
  • net.minecraft.network.protocol.game.ServerboundInteractPacket
  • net.minecraft.network.protocol.game.ServerboundJigsawGeneratePacket
  • net.minecraft.network.protocol.game.ServerboundKeepAlivePacket
  • net.minecraft.network.protocol.game.ServerboundLockDifficultyPacket
  • net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$Pos
  • net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$PosRot
  • net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$Rot
  • net.minecraft.network.protocol.game.ServerboundMovePlayerPacket
  • net.minecraft.network.protocol.game.ServerboundMoveVehiclePacket
  • net.minecraft.network.protocol.game.ServerboundPaddleBoatPacket
  • net.minecraft.network.protocol.game.ServerboundPickItemPacket
  • net.minecraft.network.protocol.game.ServerboundPlaceRecipePacket
  • net.minecraft.network.protocol.game.ServerboundPlayerAbilitiesPacket
  • net.minecraft.network.protocol.game.ServerboundPlayerActionPacket
  • net.minecraft.network.protocol.game.ServerboundPlayerCommandPacket
  • net.minecraft.network.protocol.game.ServerboundPlayerInputPacket
  • net.minecraft.network.protocol.game.ServerboundRecipeBookChangeSettingsPacket
  • net.minecraft.network.protocol.game.ServerboundRecipeBookSeenRecipePacket
  • net.minecraft.network.protocol.game.ServerboundRenameItemPacket
  • net.minecraft.network.protocol.game.ServerboundResourcePackPacket
  • net.minecraft.network.protocol.game.ServerboundSeenAdvancementsPacket
  • net.minecraft.network.protocol.game.ServerboundSelectTradePacket
  • net.minecraft.network.protocol.game.ServerboundSetBeaconPacket
  • net.minecraft.network.protocol.game.ServerboundSetCarriedItemPacket
  • net.minecraft.network.protocol.game.ServerboundSetCommandBlockPacket
  • net.minecraft.network.protocol.game.ServerboundSetCommandMinecartPacket
  • net.minecraft.network.protocol.game.ServerboundSetCreativeModeSlotPacket
  • net.minecraft.network.protocol.game.ServerboundSetJigsawBlockPacket
  • net.minecraft.network.protocol.game.ServerboundSetStructureBlockPacket
  • net.minecraft.network.protocol.game.ServerboundSignUpdatePacket
  • net.minecraft.network.protocol.game.ServerboundSwingPacket
  • net.minecraft.network.protocol.game.ServerboundTeleportToEntityPacket
  • net.minecraft.network.protocol.game.ServerboundUseItemOnPacket
  • net.minecraft.network.protocol.game.ServerboundUseItemPacket

STATUS (1)

Packet Classes:

  • net.minecraft.network.protocol.status.ServerboundStatusRequestPacket
  • net.minecraft.network.protocol.status.ServerboundPingRequestPacket
  • net.minecraft.network.protocol.status.ClientboundStatusResponsePacket
  • net.minecraft.network.protocol.status.ClientboundPongResponsePacket

LOGIN (2)

Packet Classes:

  • net.minecraft.network.protocol.login.ClientboundLoginDisconnectPacket
  • net.minecraft.network.protocol.login.ClientboundHelloPacket
  • net.minecraft.network.protocol.login.ClientboundGameProfilePacket
  • net.minecraft.network.protocol.login.ClientboundLoginCompressionPacket
  • net.minecraft.network.protocol.login.ClientboundCustomQueryPacket
  • net.minecraft.network.protocol.login.ServerboundHelloPacket
  • net.minecraft.network.protocol.login.ServerboundKeyPacket
  • net.minecraft.network.protocol.login.ServerboundCustomQueryPacket

net/minecraft/network/protocol/status/ServerboundPingRequestPacket

Field Name Field Type
time J

Deserialization (read())

  • time: [readLong()J]

Example read:

public void read(ByteBuf byteBuf) {
    this.time = byteBuf.readLong();
}

Serialization (write())

  • time: [writeLong(J)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeLong(this.time);
}

net/minecraft/network/protocol/status/ServerboundStatusRequestPacket

net/minecraft/network/protocol/status/ClientboundPongResponsePacket

Field Name Field Type
time J

Deserialization (read())

  • time: [readLong()J]

Example read:

public void read(ByteBuf byteBuf) {
    this.time = byteBuf.readLong();
}

Serialization (write())

  • time: [writeLong(J)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeLong(this.time);
}

net/minecraft/network/protocol/status/ClientboundStatusResponsePacket

Field Name Field Type
status Lnet/minecraft/network/protocol/status/ServerStatus;

Deserialization (read())

  • status: [readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.status = byteBuf.readUtf();
}

Serialization (write())

  • status: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.status);
}

net/minecraft/network/protocol/login/ServerboundHelloPacket

Field Name Field Type
gameProfile Lcom/mojang/authlib/GameProfile;

Deserialization (read())

  • gameProfile: [readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.gameProfile = byteBuf.readUtf();
}

Serialization (write())

  • gameProfile: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.gameProfile);
}

net/minecraft/network/protocol/login/ServerboundKeyPacket

Field Name Field Type
keybytes [B
nonce [B

Deserialization (read())

  • keybytes: [readByteArray()[B]
  • nonce: [readByteArray()[B]

Example read:

public void read(ByteBuf byteBuf) {
    this.keybytes = byteBuf.readByteArray();
    this.nonce = byteBuf.readByteArray();
}

Serialization (write())

  • keybytes: [writeByteArray([B)Lnet/minecraft/network/FriendlyByteBuf;]
  • nonce: [writeByteArray([B)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByteArray(this.keybytes);
    byteBuf.writeByteArray(this.nonce);
}

net/minecraft/network/protocol/game/ServerboundUseItemPacket

Field Name Field Type
hand Lnet/minecraft/world/InteractionHand;

Deserialization (read())

  • hand: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.hand = byteBuf.readEnum();
}

Serialization (write())

  • hand: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.hand);
}

net/minecraft/network/protocol/login/ServerboundCustomQueryPacket

Field Name Field Type
transactionId I
data Lnet/minecraft/network/FriendlyByteBuf;

Deserialization (read())

  • transactionId: [readVarInt()I]
  • data: [readBoolean()Z, readBytes(I)Lio/netty/buffer/ByteBuf;]

Example read:

public void read(ByteBuf byteBuf) {
    this.transactionId = byteBuf.readVarInt();
    this.data = byteBuf.readBoolean();
}

Serialization (write())

  • transactionId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • data: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • data: [writeBytes(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.transactionId);
    byteBuf.writeBoolean(this.data);
    byteBuf.writeBytes(this.data);
}

net/minecraft/network/protocol/login/ClientboundLoginDisconnectPacket

Field Name Field Type
reason Lnet/minecraft/network/chat/Component;

Deserialization (read())

  • reason: [readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.reason = byteBuf.readUtf();
}

Serialization (write())

  • reason: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeComponent(this.reason);
}

net/minecraft/network/protocol/game/ServerboundUseItemOnPacket

Field Name Field Type
blockHit Lnet/minecraft/world/phys/BlockHitResult;
hand Lnet/minecraft/world/InteractionHand;

Deserialization (read())

  • hand: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • blockHit: [readBlockHitResult()Lnet/minecraft/world/phys/BlockHitResult;]

Example read:

public void read(ByteBuf byteBuf) {
    this.hand = byteBuf.readEnum();
    this.blockHit = byteBuf.readBlockHitResult();
}

Serialization (write())

  • hand: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • blockHit: [writeBlockHitResult(Lnet/minecraft/world/phys/BlockHitResult;)V]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.hand);
    byteBuf.writeBlockHitResult(this.blockHit);
}

net/minecraft/network/protocol/login/ClientboundHelloPacket

Field Name Field Type
serverId Ljava/lang/String;
publicKey [B
nonce [B

Deserialization (read())

  • serverId: [readUtf(I)Ljava/lang/String;]
  • publicKey: [readByteArray()[B]
  • nonce: [readByteArray()[B]

Example read:

public void read(ByteBuf byteBuf) {
    this.serverId = byteBuf.readUtf();
    this.publicKey = byteBuf.readByteArray();
    this.nonce = byteBuf.readByteArray();
}

Serialization (write())

  • serverId: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • publicKey: [writeByteArray([B)Lnet/minecraft/network/FriendlyByteBuf;]
  • nonce: [writeByteArray([B)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.serverId);
    byteBuf.writeByteArray(this.publicKey);
    byteBuf.writeByteArray(this.nonce);
}

net/minecraft/network/protocol/game/ServerboundTeleportToEntityPacket

Field Name Field Type
uuid Ljava/util/UUID;

Deserialization (read())

  • uuid: [readUUID()Ljava/util/UUID;]

Example read:

public void read(ByteBuf byteBuf) {
    this.uuid = byteBuf.readUUID();
}

Serialization (write())

  • uuid: [writeUUID(Ljava/util/UUID;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUUID(this.uuid);
}

net/minecraft/network/protocol/game/ServerboundSwingPacket

Field Name Field Type
hand Lnet/minecraft/world/InteractionHand;

Deserialization (read())

  • hand: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.hand = byteBuf.readEnum();
}

Serialization (write())

  • hand: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.hand);
}

net/minecraft/network/protocol/handshake/ClientIntentionPacket

Field Name Field Type
protocolVersion I
hostName Ljava/lang/String;
port I
intention Lnet/minecraft/network/ConnectionProtocol;

Deserialization (read())

  • protocolVersion: [readVarInt()I]
  • hostName: [readUtf(I)Ljava/lang/String;]
  • port: [readUnsignedShort()I]
  • intention: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.protocolVersion = byteBuf.readVarInt();
    this.hostName = byteBuf.readUtf();
    this.port = byteBuf.readUnsignedShort();
    this.intention = byteBuf.readVarInt();
}

Serialization (write())

  • protocolVersion: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • hostName: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • port: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • intention: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.protocolVersion);
    byteBuf.writeUtf(this.hostName);
    byteBuf.writeShort(this.port);
    byteBuf.writeVarInt(this.intention);
}

net/minecraft/network/protocol/login/ClientboundCustomQueryPacket

Field Name Field Type
transactionId I
identifier Lnet/minecraft/resources/ResourceLocation;
data Lnet/minecraft/network/FriendlyByteBuf;

Deserialization (read())

  • transactionId: [readVarInt()I]
  • identifier: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • data: [readBytes(I)Lio/netty/buffer/ByteBuf;]

Example read:

public void read(ByteBuf byteBuf) {
    this.transactionId = byteBuf.readVarInt();
    this.identifier = byteBuf.readResourceLocation();
    this.data = byteBuf.readBytes();
}

Serialization (write())

  • transactionId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • identifier: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • data: [writeBytes(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.transactionId);
    byteBuf.writeResourceLocation(this.identifier);
    byteBuf.writeBytes(this.data);
}

net/minecraft/network/protocol/game/ServerboundSignUpdatePacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
lines [Ljava/lang/String;

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • lines: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeUtf(this.lines);
}

net/minecraft/network/protocol/login/ClientboundGameProfilePacket

Field Name Field Type
gameProfile Lcom/mojang/authlib/GameProfile;

Deserialization (read())

  • gameProfile: [readInt()I, readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.gameProfile = byteBuf.readInt();
}

Serialization (write())

  • gameProfile: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • gameProfile: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeInt(this.gameProfile);
    byteBuf.writeUtf(this.gameProfile);
}

net/minecraft/network/protocol/game/ServerboundSetCommandMinecartPacket

Field Name Field Type
entity I
command Ljava/lang/String;
trackOutput Z

Deserialization (read())

  • entity: [readVarInt()I]
  • command: [readUtf(I)Ljava/lang/String;]
  • trackOutput: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.entity = byteBuf.readVarInt();
    this.command = byteBuf.readUtf();
    this.trackOutput = byteBuf.readBoolean();
}

Serialization (write())

  • entity: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • command: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • trackOutput: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entity);
    byteBuf.writeUtf(this.command);
    byteBuf.writeBoolean(this.trackOutput);
}

net/minecraft/network/protocol/game/ServerboundSetBeaconPacket

Field Name Field Type
primary I
secondary I

Deserialization (read())

  • primary: [readVarInt()I]
  • secondary: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.primary = byteBuf.readVarInt();
    this.secondary = byteBuf.readVarInt();
}

Serialization (write())

  • primary: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • secondary: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.primary);
    byteBuf.writeVarInt(this.secondary);
}

net/minecraft/network/protocol/game/ServerboundSetCommandBlockPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
command Ljava/lang/String;
trackOutput Z
conditional Z
automatic Z
mode Lnet/minecraft/world/level/block/entity/CommandBlockEntity$Mode;

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • command: [readUtf(I)Ljava/lang/String;]
  • mode: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • trackOutput: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
    this.command = byteBuf.readUtf();
    this.mode = byteBuf.readEnum();
    this.trackOutput = byteBuf.readByte();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • command: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • mode: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • automatic: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeUtf(this.command);
    byteBuf.writeEnum(this.mode);
    byteBuf.writeByte(this.automatic);
}

net/minecraft/network/protocol/game/ServerboundResourcePackPacket

Field Name Field Type
action Lnet/minecraft/network/protocol/game/ServerboundResourcePackPacket$Action;

Deserialization (read())

  • action: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.action = byteBuf.readEnum();
}

Serialization (write())

  • action: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.action);
}

net/minecraft/network/protocol/game/ServerboundSeenAdvancementsPacket

Field Name Field Type
action Lnet/minecraft/network/protocol/game/ServerboundSeenAdvancementsPacket$Action;
tab Lnet/minecraft/resources/ResourceLocation;

Deserialization (read())

  • action: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • tab: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]

Example read:

public void read(ByteBuf byteBuf) {
    this.action = byteBuf.readEnum();
    this.tab = byteBuf.readResourceLocation();
}

Serialization (write())

  • action: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • tab: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.action);
    byteBuf.writeResourceLocation(this.tab);
}

net/minecraft/network/protocol/game/ServerboundRecipeBookSeenRecipePacket

Field Name Field Type
recipe Lnet/minecraft/resources/ResourceLocation;

Deserialization (read())

  • recipe: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]

Example read:

public void read(ByteBuf byteBuf) {
    this.recipe = byteBuf.readResourceLocation();
}

Serialization (write())

  • recipe: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeResourceLocation(this.recipe);
}

net/minecraft/network/protocol/game/ServerboundRenameItemPacket

Field Name Field Type
name Ljava/lang/String;

Deserialization (read())

  • name: [readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.name = byteBuf.readUtf();
}

Serialization (write())

  • name: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.name);
}

net/minecraft/network/protocol/game/ServerboundRecipeBookChangeSettingsPacket

Field Name Field Type
bookType Lnet/minecraft/world/inventory/RecipeBookType;
isOpen Z
isFiltering Z

Deserialization (read())

  • bookType: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • isOpen: [readBoolean()Z]
  • isFiltering: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.bookType = byteBuf.readEnum();
    this.isOpen = byteBuf.readBoolean();
    this.isFiltering = byteBuf.readBoolean();
}

Serialization (write())

  • bookType: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • isOpen: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • isFiltering: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.bookType);
    byteBuf.writeBoolean(this.isOpen);
    byteBuf.writeBoolean(this.isFiltering);
}

net/minecraft/network/protocol/game/ServerboundPlayerInputPacket

Field Name Field Type
xxa F
zza F
isJumping Z
isShiftKeyDown Z

Deserialization (read())

  • xxa: [readFloat()F]
  • zza: [readFloat()F]
  • isJumping: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.xxa = byteBuf.readFloat();
    this.zza = byteBuf.readFloat();
    this.isJumping = byteBuf.readByte();
}

Serialization (write())

  • xxa: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • zza: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • isShiftKeyDown: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeFloat(this.xxa);
    byteBuf.writeFloat(this.zza);
    byteBuf.writeByte(this.isShiftKeyDown);
}

net/minecraft/network/protocol/game/ServerboundPlayerCommandPacket

Field Name Field Type
id I
action Lnet/minecraft/network/protocol/game/ServerboundPlayerCommandPacket$Action;
data I

Deserialization (read())

  • id: [readVarInt()I]
  • action: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • data: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.action = byteBuf.readEnum();
    this.data = byteBuf.readVarInt();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • action: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • data: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeEnum(this.action);
    byteBuf.writeVarInt(this.data);
}

net/minecraft/network/protocol/game/ServerboundPlayerActionPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
direction Lnet/minecraft/core/Direction;
action Lnet/minecraft/network/protocol/game/ServerboundPlayerActionPacket$Action;

Deserialization (read())

  • action: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • direction: [readUnsignedByte()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.action = byteBuf.readEnum();
    this.pos = byteBuf.readBlockPos();
    this.direction = byteBuf.readUnsignedByte();
}

Serialization (write())

  • action: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • direction: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.action);
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeByte(this.direction);
}

net/minecraft/network/protocol/game/ServerboundPlaceRecipePacket

Field Name Field Type
containerId I
recipe Lnet/minecraft/resources/ResourceLocation;
shiftDown Z

Deserialization (read())

  • containerId: [readByte()B]
  • recipe: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • shiftDown: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readByte();
    this.recipe = byteBuf.readResourceLocation();
    this.shiftDown = byteBuf.readBoolean();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • recipe: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • shiftDown: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeResourceLocation(this.recipe);
    byteBuf.writeBoolean(this.shiftDown);
}

net/minecraft/network/protocol/login/ClientboundLoginCompressionPacket

Field Name Field Type
compressionThreshold I

Deserialization (read())

  • compressionThreshold: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.compressionThreshold = byteBuf.readVarInt();
}

Serialization (write())

  • compressionThreshold: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.compressionThreshold);
}

net/minecraft/network/protocol/game/ServerboundSetJigsawBlockPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
name Lnet/minecraft/resources/ResourceLocation;
target Lnet/minecraft/resources/ResourceLocation;
pool Lnet/minecraft/resources/ResourceLocation;
finalState Ljava/lang/String;
joint Lnet/minecraft/world/level/block/entity/JigsawBlockEntity$JointType;

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • name: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • target: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • pool: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • finalState: [readUtf(I)Ljava/lang/String;]
  • joint: [readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
    this.name = byteBuf.readResourceLocation();
    this.target = byteBuf.readResourceLocation();
    this.pool = byteBuf.readResourceLocation();
    this.finalState = byteBuf.readUtf();
    this.joint = byteBuf.readUtf();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • name: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • target: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • pool: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • finalState: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • joint: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeResourceLocation(this.name);
    byteBuf.writeResourceLocation(this.target);
    byteBuf.writeResourceLocation(this.pool);
    byteBuf.writeUtf(this.finalState);
    byteBuf.writeUtf(this.joint);
}

net/minecraft/network/protocol/game/ServerboundSetCarriedItemPacket

Field Name Field Type
slot I

Deserialization (read())

  • slot: [readShort()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.slot = byteBuf.readShort();
}

Serialization (write())

  • slot: [writeShort(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeShort(this.slot);
}

net/minecraft/network/protocol/game/ServerboundPlayerAbilitiesPacket

Field Name Field Type
isFlying Z

Deserialization (read())

  • isFlying: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.isFlying = byteBuf.readByte();
}

Serialization (write())

  • isFlying: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.isFlying);
}

net/minecraft/network/protocol/game/ServerboundPickItemPacket

Field Name Field Type
slot I

Deserialization (read())

  • slot: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.slot = byteBuf.readVarInt();
}

Serialization (write())

  • slot: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.slot);
}

net/minecraft/network/protocol/game/ServerboundPaddleBoatPacket

Field Name Field Type
left Z
right Z

Deserialization (read())

  • left: [readBoolean()Z]
  • right: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.left = byteBuf.readBoolean();
    this.right = byteBuf.readBoolean();
}

Serialization (write())

  • left: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • right: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBoolean(this.left);
    byteBuf.writeBoolean(this.right);
}

net/minecraft/network/protocol/game/ServerboundSelectTradePacket

Field Name Field Type
item I

Deserialization (read())

  • item: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.item = byteBuf.readVarInt();
}

Serialization (write())

  • item: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.item);
}

net/minecraft/network/protocol/game/ServerboundSetCreativeModeSlotPacket

Field Name Field Type
slotNum I
itemStack Lnet/minecraft/world/item/ItemStack;

Deserialization (read())

  • slotNum: [readShort()S]
  • itemStack: [readItem()Lnet/minecraft/world/item/ItemStack;]

Example read:

public void read(ByteBuf byteBuf) {
    this.slotNum = byteBuf.readShort();
    this.itemStack = byteBuf.readItem();
}

Serialization (write())

  • slotNum: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • itemStack: [writeItem(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeShort(this.slotNum);
    byteBuf.writeItem(this.itemStack);
}

net/minecraft/network/protocol/game/ServerboundMoveVehiclePacket

Field Name Field Type
x D
y D
z D
yRot F
xRot F

Deserialization (read())

  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • yRot: [readFloat()F]
  • xRot: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.yRot = byteBuf.readFloat();
    this.xRot = byteBuf.readFloat();
}

Serialization (write())

  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • yRot: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • xRot: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeFloat(this.yRot);
    byteBuf.writeFloat(this.xRot);
}

net/minecraft/network/protocol/game/ServerboundSetStructureBlockPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
updateType Lnet/minecraft/world/level/block/entity/StructureBlockEntity$UpdateType;
mode Lnet/minecraft/world/level/block/state/properties/StructureMode;
name Ljava/lang/String;
offset Lnet/minecraft/core/BlockPos;
size Lnet/minecraft/core/BlockPos;
mirror Lnet/minecraft/world/level/block/Mirror;
rotation Lnet/minecraft/world/level/block/Rotation;
data Ljava/lang/String;
ignoreEntities Z
showAir Z
showBoundingBox Z
integrity F
seed J

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • updateType: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • mode: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • name: [readUtf(I)Ljava/lang/String;]
  • offset: [readByte()B, readByte()B, readByte()B]
  • size: [readByte()B, readByte()B, readByte()B]
  • mirror: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • rotation: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • data: [readUtf(I)Ljava/lang/String;]
  • integrity: [readFloat()F]
  • seed: [readVarLong()J]
  • ignoreEntities: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
    this.updateType = byteBuf.readEnum();
    this.mode = byteBuf.readEnum();
    this.name = byteBuf.readUtf();
    this.offset = byteBuf.readByte();
    this.size = byteBuf.readByte();
    this.mirror = byteBuf.readEnum();
    this.rotation = byteBuf.readEnum();
    this.data = byteBuf.readUtf();
    this.integrity = byteBuf.readFloat();
    this.seed = byteBuf.readVarLong();
    this.ignoreEntities = byteBuf.readByte();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • updateType: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • mode: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • name: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • offset: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • offset: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • offset: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • size: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • size: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • size: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • mirror: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • rotation: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • data: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • integrity: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • seed: [writeVarLong(J)Lnet/minecraft/network/FriendlyByteBuf;]
  • showBoundingBox: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeEnum(this.updateType);
    byteBuf.writeEnum(this.mode);
    byteBuf.writeUtf(this.name);
    byteBuf.writeByte(this.offset);
    byteBuf.writeByte(this.offset);
    byteBuf.writeByte(this.offset);
    byteBuf.writeByte(this.size);
    byteBuf.writeByte(this.size);
    byteBuf.writeByte(this.size);
    byteBuf.writeEnum(this.mirror);
    byteBuf.writeEnum(this.rotation);
    byteBuf.writeUtf(this.data);
    byteBuf.writeFloat(this.integrity);
    byteBuf.writeVarLong(this.seed);
    byteBuf.writeByte(this.showBoundingBox);
}

net/minecraft/network/protocol/game/ServerboundMovePlayerPacket

Field Name Field Type
x D
y D
z D
yRot F
xRot F
onGround Z
hasPos Z
hasRot Z

Deserialization (read())

  • onGround: [readUnsignedByte()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.onGround = byteBuf.readUnsignedByte();
}

Serialization (write())

  • onGround: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.onGround);
}

net/minecraft/network/protocol/game/ServerboundKeepAlivePacket

Field Name Field Type
id J

Deserialization (read())

  • id: [readLong()J]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readLong();
}

Serialization (write())

  • id: [writeLong(J)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeLong(this.id);
}

net/minecraft/network/protocol/game/ServerboundLockDifficultyPacket

Field Name Field Type
locked Z

Deserialization (read())

  • locked: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.locked = byteBuf.readBoolean();
}

Serialization (write())

  • locked: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBoolean(this.locked);
}

net/minecraft/network/protocol/game/ServerboundEntityTagQuery

Field Name Field Type
transactionId I
entityId I

Deserialization (read())

  • transactionId: [readVarInt()I]
  • entityId: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.transactionId = byteBuf.readVarInt();
    this.entityId = byteBuf.readVarInt();
}

Serialization (write())

  • transactionId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • entityId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.transactionId);
    byteBuf.writeVarInt(this.entityId);
}

net/minecraft/network/protocol/game/ServerboundJigsawGeneratePacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
levels I
keepJigsaws Z

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • levels: [readVarInt()I]
  • keepJigsaws: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
    this.levels = byteBuf.readVarInt();
    this.keepJigsaws = byteBuf.readBoolean();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • levels: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • keepJigsaws: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeVarInt(this.levels);
    byteBuf.writeBoolean(this.keepJigsaws);
}

net/minecraft/network/protocol/game/ServerboundEditBookPacket

Field Name Field Type
book Lnet/minecraft/world/item/ItemStack;
signing Z
slot I

Deserialization (read())

  • book: [readItem()Lnet/minecraft/world/item/ItemStack;]
  • signing: [readBoolean()Z]
  • slot: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.book = byteBuf.readItem();
    this.signing = byteBuf.readBoolean();
    this.slot = byteBuf.readVarInt();
}

Serialization (write())

  • book: [writeItem(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/network/FriendlyByteBuf;]
  • signing: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • slot: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeItem(this.book);
    byteBuf.writeBoolean(this.signing);
    byteBuf.writeVarInt(this.slot);
}

net/minecraft/network/protocol/game/ServerboundContainerClosePacket

Field Name Field Type
containerId I

Deserialization (read())

  • containerId: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readByte();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
}

net/minecraft/network/protocol/game/ServerboundCommandSuggestionPacket

Field Name Field Type
id I
command Ljava/lang/String;

Deserialization (read())

  • id: [readVarInt()I]
  • command: [readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.command = byteBuf.readUtf();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • command: [writeUtf(Ljava/lang/String;I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeUtf(this.command);
}

net/minecraft/network/protocol/game/ServerboundContainerClickPacket

Field Name Field Type
containerId I
slotNum I
buttonNum I
uid S
itemStack Lnet/minecraft/world/item/ItemStack;
clickType Lnet/minecraft/world/inventory/ClickType;

Deserialization (read())

  • containerId: [readByte()B]
  • slotNum: [readShort()S]
  • buttonNum: [readByte()B]
  • uid: [readShort()S]
  • clickType: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • itemStack: [readItem()Lnet/minecraft/world/item/ItemStack;]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readByte();
    this.slotNum = byteBuf.readShort();
    this.buttonNum = byteBuf.readByte();
    this.uid = byteBuf.readShort();
    this.clickType = byteBuf.readEnum();
    this.itemStack = byteBuf.readItem();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • slotNum: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • buttonNum: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • uid: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • clickType: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • itemStack: [writeItem(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeShort(this.slotNum);
    byteBuf.writeByte(this.buttonNum);
    byteBuf.writeShort(this.uid);
    byteBuf.writeEnum(this.clickType);
    byteBuf.writeItem(this.itemStack);
}

net/minecraft/network/protocol/game/ServerboundInteractPacket

Field Name Field Type
entityId I
action Lnet/minecraft/network/protocol/game/ServerboundInteractPacket$Action;
location Lnet/minecraft/world/phys/Vec3;
hand Lnet/minecraft/world/InteractionHand;
usingSecondaryAction Z

Deserialization (read())

  • entityId: [readVarInt()I]
  • action: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • location: [readFloat()F, readFloat()F, readFloat()F]
  • hand: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • usingSecondaryAction: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityId = byteBuf.readVarInt();
    this.action = byteBuf.readEnum();
    this.location = byteBuf.readFloat();
    this.hand = byteBuf.readEnum();
    this.usingSecondaryAction = byteBuf.readBoolean();
}

Serialization (write())

  • entityId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • action: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • y: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • z: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • hand: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • usingSecondaryAction: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entityId);
    byteBuf.writeEnum(this.action);
    byteBuf.writeFloat(this.x);
    byteBuf.writeFloat(this.y);
    byteBuf.writeFloat(this.z);
    byteBuf.writeEnum(this.hand);
    byteBuf.writeBoolean(this.usingSecondaryAction);
}

net/minecraft/network/protocol/game/ServerboundContainerAckPacket

Field Name Field Type
containerId I
uid S
accepted Z

Deserialization (read())

  • containerId: [readByte()B]
  • uid: [readShort()S]
  • accepted: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readByte();
    this.uid = byteBuf.readShort();
    this.accepted = byteBuf.readByte();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • uid: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • accepted: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeShort(this.uid);
    byteBuf.writeByte(this.accepted);
}

net/minecraft/network/protocol/game/ServerboundClientCommandPacket

Field Name Field Type
action Lnet/minecraft/network/protocol/game/ServerboundClientCommandPacket$Action;

Deserialization (read())

  • action: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.action = byteBuf.readEnum();
}

Serialization (write())

  • action: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.action);
}

net/minecraft/network/protocol/game/ServerboundCustomPayloadPacket

Field Name Field Type
identifier Lnet/minecraft/resources/ResourceLocation;
data Lnet/minecraft/network/FriendlyByteBuf;

Deserialization (read())

  • identifier: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • data: [readBytes(I)Lio/netty/buffer/ByteBuf;]

Example read:

public void read(ByteBuf byteBuf) {
    this.identifier = byteBuf.readResourceLocation();
    this.data = byteBuf.readBytes();
}

Serialization (write())

  • identifier: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • data: [writeBytes(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeResourceLocation(this.identifier);
    byteBuf.writeBytes(this.data);
}

net/minecraft/network/protocol/game/ServerboundContainerButtonClickPacket

Field Name Field Type
containerId I
buttonId I

Deserialization (read())

  • containerId: [readByte()B]
  • buttonId: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readByte();
    this.buttonId = byteBuf.readByte();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • buttonId: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeByte(this.buttonId);
}

net/minecraft/network/protocol/game/ServerboundChangeDifficultyPacket

Field Name Field Type
difficulty Lnet/minecraft/world/Difficulty;

Deserialization (read())

  • difficulty: [readUnsignedByte()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.difficulty = byteBuf.readUnsignedByte();
}

Serialization (write())

  • difficulty: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.difficulty);
}

net/minecraft/network/protocol/game/ServerboundChatPacket

Field Name Field Type
message Ljava/lang/String;

Deserialization (read())

  • message: [readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.message = byteBuf.readUtf();
}

Serialization (write())

  • message: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.message);
}

net/minecraft/network/protocol/game/ServerboundAcceptTeleportationPacket

Field Name Field Type
id I

Deserialization (read())

  • id: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
}

net/minecraft/network/protocol/game/ServerboundClientInformationPacket

Field Name Field Type
language Ljava/lang/String;
viewDistance I
chatVisibility Lnet/minecraft/world/entity/player/ChatVisiblity;
chatColors Z
modelCustomisation I
mainHand Lnet/minecraft/world/entity/HumanoidArm;

Deserialization (read())

  • language: [readUtf(I)Ljava/lang/String;]
  • viewDistance: [readByte()B]
  • chatVisibility: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • chatColors: [readBoolean()Z]
  • modelCustomisation: [readUnsignedByte()S]
  • mainHand: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.language = byteBuf.readUtf();
    this.viewDistance = byteBuf.readByte();
    this.chatVisibility = byteBuf.readEnum();
    this.chatColors = byteBuf.readBoolean();
    this.modelCustomisation = byteBuf.readUnsignedByte();
    this.mainHand = byteBuf.readEnum();
}

Serialization (write())

  • language: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • viewDistance: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • chatVisibility: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • chatColors: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • modelCustomisation: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • mainHand: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.language);
    byteBuf.writeByte(this.viewDistance);
    byteBuf.writeEnum(this.chatVisibility);
    byteBuf.writeBoolean(this.chatColors);
    byteBuf.writeByte(this.modelCustomisation);
    byteBuf.writeEnum(this.mainHand);
}

net/minecraft/network/protocol/game/ServerboundBlockEntityTagQuery

Field Name Field Type
transactionId I
pos Lnet/minecraft/core/BlockPos;

Deserialization (read())

  • transactionId: [readVarInt()I]
  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]

Example read:

public void read(ByteBuf byteBuf) {
    this.transactionId = byteBuf.readVarInt();
    this.pos = byteBuf.readBlockPos();
}

Serialization (write())

  • transactionId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.transactionId);
    byteBuf.writeBlockPos(this.pos);
}

net/minecraft/network/protocol/game/ClientboundUpdateTagsPacket

Field Name Field Type
tags Lnet/minecraft/tags/TagContainer;

net/minecraft/network/protocol/game/ClientboundUpdateMobEffectPacket

Field Name Field Type
entityId I
effectId B
effectAmplifier B
effectDurationTicks I
flags B

Deserialization (read())

  • entityId: [readVarInt()I]
  • effectId: [readByte()B]
  • effectAmplifier: [readByte()B]
  • effectDurationTicks: [readVarInt()I]
  • flags: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityId = byteBuf.readVarInt();
    this.effectId = byteBuf.readByte();
    this.effectAmplifier = byteBuf.readByte();
    this.effectDurationTicks = byteBuf.readVarInt();
    this.flags = byteBuf.readByte();
}

Serialization (write())

  • entityId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • effectId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • effectAmplifier: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • effectDurationTicks: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • flags: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entityId);
    byteBuf.writeByte(this.effectId);
    byteBuf.writeByte(this.effectAmplifier);
    byteBuf.writeVarInt(this.effectDurationTicks);
    byteBuf.writeByte(this.flags);
}

net/minecraft/network/protocol/game/ClientboundTeleportEntityPacket

Field Name Field Type
id I
x D
y D
z D
yRot B
xRot B
onGround Z

Deserialization (read())

  • id: [readVarInt()I]
  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • yRot: [readByte()B]
  • xRot: [readByte()B]
  • onGround: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.yRot = byteBuf.readByte();
    this.xRot = byteBuf.readByte();
    this.onGround = byteBuf.readBoolean();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • yRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • xRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • onGround: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeByte(this.yRot);
    byteBuf.writeByte(this.xRot);
    byteBuf.writeBoolean(this.onGround);
}

net/minecraft/network/protocol/game/ClientboundTabListPacket

Field Name Field Type
header Lnet/minecraft/network/chat/Component;
footer Lnet/minecraft/network/chat/Component;

Deserialization (read())

  • header: [readComponent()Lnet/minecraft/network/chat/Component;]
  • footer: [readComponent()Lnet/minecraft/network/chat/Component;]

Example read:

public void read(ByteBuf byteBuf) {
    this.header = byteBuf.readComponent();
    this.footer = byteBuf.readComponent();
}

Serialization (write())

  • header: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • footer: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeComponent(this.header);
    byteBuf.writeComponent(this.footer);
}

net/minecraft/network/protocol/game/ClientboundTagQueryPacket

Field Name Field Type
transactionId I
tag Lnet/minecraft/nbt/CompoundTag;

Deserialization (read())

  • transactionId: [readVarInt()I]
  • tag: [readNbt()Lnet/minecraft/nbt/CompoundTag;]

Example read:

public void read(ByteBuf byteBuf) {
    this.transactionId = byteBuf.readVarInt();
    this.tag = byteBuf.readNbt();
}

Serialization (write())

  • transactionId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • tag: [writeNbt(Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.transactionId);
    byteBuf.writeNbt(this.tag);
}

net/minecraft/network/protocol/game/ClientboundStopSoundPacket

Field Name Field Type
name Lnet/minecraft/resources/ResourceLocation;
source Lnet/minecraft/sounds/SoundSource;

Deserialization (read())

  • source: [readByte()B, readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • name: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]

Example read:

public void read(ByteBuf byteBuf) {
    this.source = byteBuf.readByte();
    this.name = byteBuf.readResourceLocation();
}

Serialization (write())

  • name: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • source: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • name: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • source: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • name: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • name: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.name);
    byteBuf.writeEnum(this.source);
    byteBuf.writeResourceLocation(this.name);
    byteBuf.writeEnum(this.source);
    byteBuf.writeByte(this.name);
    byteBuf.writeResourceLocation(this.name);
}

net/minecraft/network/protocol/game/ClientboundTakeItemEntityPacket

Field Name Field Type
itemId I
playerId I
amount I

Deserialization (read())

  • itemId: [readVarInt()I]
  • playerId: [readVarInt()I]
  • amount: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.itemId = byteBuf.readVarInt();
    this.playerId = byteBuf.readVarInt();
    this.amount = byteBuf.readVarInt();
}

Serialization (write())

  • itemId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • playerId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • amount: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.itemId);
    byteBuf.writeVarInt(this.playerId);
    byteBuf.writeVarInt(this.amount);
}

net/minecraft/network/protocol/game/ClientboundUpdateRecipesPacket

Field Name Field Type
recipes Ljava/util/List;

Serialization (write())

  • recipes: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.recipes);
}

net/minecraft/network/protocol/game/ClientboundSoundPacket

Field Name Field Type
sound Lnet/minecraft/sounds/SoundEvent;
source Lnet/minecraft/sounds/SoundSource;
x I
y I
z I
volume F
pitch F

Deserialization (read())

  • sound: [readVarInt()I]
  • source: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • x: [readInt()I]
  • y: [readInt()I]
  • z: [readInt()I]
  • volume: [readFloat()F]
  • pitch: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.sound = byteBuf.readVarInt();
    this.source = byteBuf.readEnum();
    this.x = byteBuf.readInt();
    this.y = byteBuf.readInt();
    this.z = byteBuf.readInt();
    this.volume = byteBuf.readFloat();
    this.pitch = byteBuf.readFloat();
}

Serialization (write())

  • sound: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • source: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • y: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • z: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • volume: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • pitch: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.sound);
    byteBuf.writeEnum(this.source);
    byteBuf.writeInt(this.x);
    byteBuf.writeInt(this.y);
    byteBuf.writeInt(this.z);
    byteBuf.writeFloat(this.volume);
    byteBuf.writeFloat(this.pitch);
}

net/minecraft/network/protocol/game/ClientboundSoundEntityPacket

Field Name Field Type
sound Lnet/minecraft/sounds/SoundEvent;
source Lnet/minecraft/sounds/SoundSource;
id I
volume F
pitch F

Deserialization (read())

  • sound: [readVarInt()I]
  • source: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • id: [readVarInt()I]
  • volume: [readFloat()F]
  • pitch: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.sound = byteBuf.readVarInt();
    this.source = byteBuf.readEnum();
    this.id = byteBuf.readVarInt();
    this.volume = byteBuf.readFloat();
    this.pitch = byteBuf.readFloat();
}

Serialization (write())

  • sound: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • source: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • volume: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • pitch: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.sound);
    byteBuf.writeEnum(this.source);
    byteBuf.writeVarInt(this.id);
    byteBuf.writeFloat(this.volume);
    byteBuf.writeFloat(this.pitch);
}

net/minecraft/network/protocol/game/ClientboundSetTimePacket

Field Name Field Type
gameTime J
dayTime J

Deserialization (read())

  • gameTime: [readLong()J]
  • dayTime: [readLong()J]

Example read:

public void read(ByteBuf byteBuf) {
    this.gameTime = byteBuf.readLong();
    this.dayTime = byteBuf.readLong();
}

Serialization (write())

  • gameTime: [writeLong(J)Lio/netty/buffer/ByteBuf;]
  • dayTime: [writeLong(J)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeLong(this.gameTime);
    byteBuf.writeLong(this.dayTime);
}

net/minecraft/network/protocol/game/ClientboundSetPassengersPacket

Field Name Field Type
vehicle I
passengers [I

Deserialization (read())

  • vehicle: [readVarInt()I]
  • passengers: [readVarIntArray()[I]

Example read:

public void read(ByteBuf byteBuf) {
    this.vehicle = byteBuf.readVarInt();
    this.passengers = byteBuf.readVarIntArray();
}

Serialization (write())

  • vehicle: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • passengers: [writeVarIntArray([I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.vehicle);
    byteBuf.writeVarIntArray(this.passengers);
}

net/minecraft/network/protocol/game/ClientboundUpdateAdvancementsPacket

Field Name Field Type
reset Z
added Ljava/util/Map;
removed Ljava/util/Set;
progress Ljava/util/Map;

Deserialization (read())

  • reset: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.reset = byteBuf.readBoolean();
}

Serialization (write())

  • reset: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • added: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • added: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • removed: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • removed: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • progress: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • progress: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBoolean(this.reset);
    byteBuf.writeVarInt(this.added);
    byteBuf.writeResourceLocation(this.added);
    byteBuf.writeVarInt(this.removed);
    byteBuf.writeResourceLocation(this.removed);
    byteBuf.writeVarInt(this.progress);
    byteBuf.writeResourceLocation(this.progress);
}

net/minecraft/network/protocol/game/ClientboundUpdateAttributesPacket

Field Name Field Type
entityId I
attributes Ljava/util/List;

Deserialization (read())

  • entityId: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityId = byteBuf.readVarInt();
}

Serialization (write())

  • entityId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • attributes: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • attributes: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entityId);
    byteBuf.writeInt(this.attributes);
    byteBuf.writeResourceLocation(this.attributes);
}

net/minecraft/network/protocol/game/ClientboundSetHealthPacket

Field Name Field Type
health F
food I
saturation F

Deserialization (read())

  • health: [readFloat()F]
  • food: [readVarInt()I]
  • saturation: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.health = byteBuf.readFloat();
    this.food = byteBuf.readVarInt();
    this.saturation = byteBuf.readFloat();
}

Serialization (write())

  • health: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • food: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • saturation: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeFloat(this.health);
    byteBuf.writeVarInt(this.food);
    byteBuf.writeFloat(this.saturation);
}

net/minecraft/network/protocol/game/ClientboundSetTitlesPacket

Field Name Field Type
type Lnet/minecraft/network/protocol/game/ClientboundSetTitlesPacket$Type;
text Lnet/minecraft/network/chat/Component;
fadeInTime I
stayTime I
fadeOutTime I

Deserialization (read())

  • type: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • text: [readComponent()Lnet/minecraft/network/chat/Component;]
  • fadeInTime: [readInt()I]
  • stayTime: [readInt()I]
  • fadeOutTime: [readInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.type = byteBuf.readEnum();
    this.text = byteBuf.readComponent();
    this.fadeInTime = byteBuf.readInt();
    this.stayTime = byteBuf.readInt();
    this.fadeOutTime = byteBuf.readInt();
}

Serialization (write())

  • type: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • text: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • fadeInTime: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • stayTime: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • fadeOutTime: [writeInt(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.type);
    byteBuf.writeComponent(this.text);
    byteBuf.writeInt(this.fadeInTime);
    byteBuf.writeInt(this.stayTime);
    byteBuf.writeInt(this.fadeOutTime);
}

net/minecraft/network/protocol/game/ClientboundSetScorePacket

Field Name Field Type
owner Ljava/lang/String;
objectiveName Ljava/lang/String;
score I
method Lnet/minecraft/server/ServerScoreboard$Method;

Deserialization (read())

  • owner: [readUtf(I)Ljava/lang/String;]
  • method: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • objectiveName: [readUtf(I)Ljava/lang/String;]
  • score: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.owner = byteBuf.readUtf();
    this.method = byteBuf.readEnum();
    this.objectiveName = byteBuf.readUtf();
    this.score = byteBuf.readVarInt();
}

Serialization (write())

  • owner: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • method: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • objectiveName: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • score: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.owner);
    byteBuf.writeEnum(this.method);
    byteBuf.writeUtf(this.objectiveName);
    byteBuf.writeVarInt(this.score);
}

net/minecraft/network/protocol/game/ClientboundSetExperiencePacket

Field Name Field Type
experienceProgress F
totalExperience I
experienceLevel I

Deserialization (read())

  • experienceProgress: [readFloat()F]
  • experienceLevel: [readVarInt()I]
  • totalExperience: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.experienceProgress = byteBuf.readFloat();
    this.experienceLevel = byteBuf.readVarInt();
    this.totalExperience = byteBuf.readVarInt();
}

Serialization (write())

  • experienceProgress: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • experienceLevel: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • totalExperience: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeFloat(this.experienceProgress);
    byteBuf.writeVarInt(this.experienceLevel);
    byteBuf.writeVarInt(this.totalExperience);
}

net/minecraft/network/protocol/game/ClientboundSetObjectivePacket

Field Name Field Type
objectiveName Ljava/lang/String;
displayName Lnet/minecraft/network/chat/Component;
renderType Lnet/minecraft/world/scores/criteria/ObjectiveCriteria$RenderType;
method I

Deserialization (read())

  • objectiveName: [readUtf(I)Ljava/lang/String;]
  • method: [readByte()B]
  • displayName: [readComponent()Lnet/minecraft/network/chat/Component;]
  • renderType: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.objectiveName = byteBuf.readUtf();
    this.method = byteBuf.readByte();
    this.displayName = byteBuf.readComponent();
    this.renderType = byteBuf.readEnum();
}

Serialization (write())

  • objectiveName: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • method: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • displayName: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • renderType: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.objectiveName);
    byteBuf.writeByte(this.method);
    byteBuf.writeComponent(this.displayName);
    byteBuf.writeEnum(this.renderType);
}

net/minecraft/network/protocol/game/ClientboundSetEquipmentPacket

Field Name Field Type
entity I
slots Ljava/util/List;

Deserialization (read())

  • entity: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.entity = byteBuf.readVarInt();
}

Serialization (write())

  • entity: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • slots: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entity);
    byteBuf.writeByte(this.slots);
}

net/minecraft/network/protocol/game/ClientboundSetEntityLinkPacket

Field Name Field Type
sourceId I
destId I

Deserialization (read())

  • sourceId: [readInt()I]
  • destId: [readInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.sourceId = byteBuf.readInt();
    this.destId = byteBuf.readInt();
}

Serialization (write())

  • sourceId: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • destId: [writeInt(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeInt(this.sourceId);
    byteBuf.writeInt(this.destId);
}

net/minecraft/network/protocol/game/ClientboundSetEntityMotionPacket

Field Name Field Type
id I
xa I
ya I
za I

Deserialization (read())

  • id: [readVarInt()I]
  • xa: [readShort()S]
  • ya: [readShort()S]
  • za: [readShort()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.xa = byteBuf.readShort();
    this.ya = byteBuf.readShort();
    this.za = byteBuf.readShort();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • xa: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • ya: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • za: [writeShort(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeShort(this.xa);
    byteBuf.writeShort(this.ya);
    byteBuf.writeShort(this.za);
}

net/minecraft/network/protocol/game/ClientboundSetChunkCacheRadiusPacket

Field Name Field Type
radius I

Deserialization (read())

  • radius: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.radius = byteBuf.readVarInt();
}

Serialization (write())

  • radius: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.radius);
}

net/minecraft/network/protocol/game/ClientboundSetEntityDataPacket

Field Name Field Type
id I
packedItems Ljava/util/List;

Deserialization (read())

  • id: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
}

net/minecraft/network/protocol/game/ClientboundSetDisplayObjectivePacket

Field Name Field Type
slot I
objectiveName Ljava/lang/String;

Deserialization (read())

  • slot: [readByte()B]
  • objectiveName: [readUtf(I)Ljava/lang/String;]

Example read:

public void read(ByteBuf byteBuf) {
    this.slot = byteBuf.readByte();
    this.objectiveName = byteBuf.readUtf();
}

Serialization (write())

  • slot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • objectiveName: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.slot);
    byteBuf.writeUtf(this.objectiveName);
}

net/minecraft/network/protocol/game/ClientboundSetCarriedItemPacket

Field Name Field Type
slot I

Deserialization (read())

  • slot: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.slot = byteBuf.readByte();
}

Serialization (write())

  • slot: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.slot);
}

net/minecraft/network/protocol/game/ClientboundSetDefaultSpawnPositionPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
angle F

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
}

net/minecraft/network/protocol/game/ClientboundSetChunkCacheCenterPacket

Field Name Field Type
x I
z I

Deserialization (read())

  • x: [readVarInt()I]
  • z: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.x = byteBuf.readVarInt();
    this.z = byteBuf.readVarInt();
}

Serialization (write())

  • x: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • z: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.x);
    byteBuf.writeVarInt(this.z);
}

net/minecraft/network/protocol/game/ClientboundSetCameraPacket

Field Name Field Type
cameraId I

Deserialization (read())

  • cameraId: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.cameraId = byteBuf.readVarInt();
}

Serialization (write())

  • cameraId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.cameraId);
}

net/minecraft/network/protocol/game/ClientboundSetPlayerTeamPacket

Field Name Field Type
name Ljava/lang/String;
displayName Lnet/minecraft/network/chat/Component;
playerPrefix Lnet/minecraft/network/chat/Component;
playerSuffix Lnet/minecraft/network/chat/Component;
nametagVisibility Ljava/lang/String;
collisionRule Ljava/lang/String;
color Lnet/minecraft/ChatFormatting;
players Ljava/util/Collection;
method I
options I

Deserialization (read())

  • name: [readUtf(I)Ljava/lang/String;]
  • method: [readByte()B]
  • displayName: [readComponent()Lnet/minecraft/network/chat/Component;]
  • options: [readByte()B]
  • nametagVisibility: [readUtf(I)Ljava/lang/String;]
  • collisionRule: [readUtf(I)Ljava/lang/String;]
  • color: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • playerPrefix: [readComponent()Lnet/minecraft/network/chat/Component;]
  • playerSuffix: [readComponent()Lnet/minecraft/network/chat/Component;]

Example read:

public void read(ByteBuf byteBuf) {
    this.name = byteBuf.readUtf();
    this.method = byteBuf.readByte();
    this.displayName = byteBuf.readComponent();
    this.options = byteBuf.readByte();
    this.nametagVisibility = byteBuf.readUtf();
    this.collisionRule = byteBuf.readUtf();
    this.color = byteBuf.readEnum();
    this.playerPrefix = byteBuf.readComponent();
    this.playerSuffix = byteBuf.readComponent();
}

Serialization (write())

  • name: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • method: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • displayName: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • options: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • nametagVisibility: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • collisionRule: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • color: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • playerPrefix: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • playerSuffix: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • players: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • players: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.name);
    byteBuf.writeByte(this.method);
    byteBuf.writeComponent(this.displayName);
    byteBuf.writeByte(this.options);
    byteBuf.writeUtf(this.nametagVisibility);
    byteBuf.writeUtf(this.collisionRule);
    byteBuf.writeEnum(this.color);
    byteBuf.writeComponent(this.playerPrefix);
    byteBuf.writeComponent(this.playerSuffix);
    byteBuf.writeVarInt(this.players);
    byteBuf.writeUtf(this.players);
}

net/minecraft/network/protocol/game/ClientboundSelectAdvancementsTabPacket

Field Name Field Type
tab Lnet/minecraft/resources/ResourceLocation;

Deserialization (read())

  • tab: [readBoolean()Z, readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]

Example read:

public void read(ByteBuf byteBuf) {
    this.tab = byteBuf.readBoolean();
}

Serialization (write())

  • tab: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • tab: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBoolean(this.tab);
    byteBuf.writeResourceLocation(this.tab);
}

net/minecraft/network/protocol/game/ClientboundRemoveEntitiesPacket

Field Name Field Type
entityIds [I

Deserialization (read())

  • entityIds: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityIds = byteBuf.readVarInt();
}

Serialization (write())

  • entityIds: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • entityIds: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entityIds);
    byteBuf.writeVarInt(this.entityIds);
}

net/minecraft/network/protocol/game/ClientboundResourcePackPacket

Field Name Field Type
url Ljava/lang/String;
hash Ljava/lang/String;
required Z

Deserialization (read())

  • url: [readUtf(I)Ljava/lang/String;]
  • hash: [readUtf(I)Ljava/lang/String;]
  • required: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.url = byteBuf.readUtf();
    this.hash = byteBuf.readUtf();
    this.required = byteBuf.readBoolean();
}

Serialization (write())

  • url: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • hash: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]
  • required: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUtf(this.url);
    byteBuf.writeUtf(this.hash);
    byteBuf.writeBoolean(this.required);
}

net/minecraft/network/protocol/game/ClientboundRotateHeadPacket

Field Name Field Type
entityId I
yHeadRot B

Deserialization (read())

  • entityId: [readVarInt()I]
  • yHeadRot: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityId = byteBuf.readVarInt();
    this.yHeadRot = byteBuf.readByte();
}

Serialization (write())

  • entityId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • yHeadRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entityId);
    byteBuf.writeByte(this.yHeadRot);
}

net/minecraft/network/protocol/game/ClientboundRemoveMobEffectPacket

Field Name Field Type
entityId I
effect Lnet/minecraft/world/effect/MobEffect;

Deserialization (read())

  • entityId: [readVarInt()I]
  • effect: [readUnsignedByte()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityId = byteBuf.readVarInt();
    this.effect = byteBuf.readUnsignedByte();
}

Serialization (write())

  • entityId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • effect: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entityId);
    byteBuf.writeByte(this.effect);
}

net/minecraft/network/protocol/game/ClientboundSetBorderPacket

Field Name Field Type
type Lnet/minecraft/network/protocol/game/ClientboundSetBorderPacket$Type;
newAbsoluteMaxSize I
newCenterX D
newCenterZ D
newSize D
oldSize D
lerpTime J
warningTime I
warningBlocks I

Deserialization (read())

  • type: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • newSize: [readDouble()D]
  • oldSize: [readDouble()D]
  • newSize: [readDouble()D]
  • lerpTime: [readVarLong()J]
  • newCenterX: [readDouble()D]
  • newCenterZ: [readDouble()D]
  • warningBlocks: [readVarInt()I]
  • warningTime: [readVarInt()I]
  • newCenterX: [readDouble()D]
  • newCenterZ: [readDouble()D]
  • oldSize: [readDouble()D]
  • newSize: [readDouble()D]
  • lerpTime: [readVarLong()J]
  • newAbsoluteMaxSize: [readVarInt()I]
  • warningBlocks: [readVarInt()I]
  • warningTime: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.type = byteBuf.readEnum();
    this.newSize = byteBuf.readDouble();
    this.oldSize = byteBuf.readDouble();
    this.newSize = byteBuf.readDouble();
    this.lerpTime = byteBuf.readVarLong();
    this.newCenterX = byteBuf.readDouble();
    this.newCenterZ = byteBuf.readDouble();
    this.warningBlocks = byteBuf.readVarInt();
    this.warningTime = byteBuf.readVarInt();
    this.newCenterX = byteBuf.readDouble();
    this.newCenterZ = byteBuf.readDouble();
    this.oldSize = byteBuf.readDouble();
    this.newSize = byteBuf.readDouble();
    this.lerpTime = byteBuf.readVarLong();
    this.newAbsoluteMaxSize = byteBuf.readVarInt();
    this.warningBlocks = byteBuf.readVarInt();
    this.warningTime = byteBuf.readVarInt();
}

Serialization (write())

  • type: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • newSize: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • oldSize: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • newSize: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • lerpTime: [writeVarLong(J)Lnet/minecraft/network/FriendlyByteBuf;]
  • newCenterX: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • newCenterZ: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • warningTime: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • warningBlocks: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • newCenterX: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • newCenterZ: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • oldSize: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • newSize: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • lerpTime: [writeVarLong(J)Lnet/minecraft/network/FriendlyByteBuf;]
  • newAbsoluteMaxSize: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • warningBlocks: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • warningTime: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.type);
    byteBuf.writeDouble(this.newSize);
    byteBuf.writeDouble(this.oldSize);
    byteBuf.writeDouble(this.newSize);
    byteBuf.writeVarLong(this.lerpTime);
    byteBuf.writeDouble(this.newCenterX);
    byteBuf.writeDouble(this.newCenterZ);
    byteBuf.writeVarInt(this.warningTime);
    byteBuf.writeVarInt(this.warningBlocks);
    byteBuf.writeDouble(this.newCenterX);
    byteBuf.writeDouble(this.newCenterZ);
    byteBuf.writeDouble(this.oldSize);
    byteBuf.writeDouble(this.newSize);
    byteBuf.writeVarLong(this.lerpTime);
    byteBuf.writeVarInt(this.newAbsoluteMaxSize);
    byteBuf.writeVarInt(this.warningBlocks);
    byteBuf.writeVarInt(this.warningTime);
}

net/minecraft/network/protocol/game/ClientboundRespawnPacket

Field Name Field Type
dimensionType Lnet/minecraft/world/level/dimension/DimensionType;
dimension Lnet/minecraft/resources/ResourceKey;
seed J
playerGameType Lnet/minecraft/world/level/GameType;
previousPlayerGameType Lnet/minecraft/world/level/GameType;
isDebug Z
isFlat Z
keepAllPlayerData Z

Deserialization (read())

  • dimensionType: [readWithCodec(Lcom/mojang/serialization/Codec;)Ljava/lang/Object;]
  • dimension: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • seed: [readLong()J]
  • playerGameType: [readUnsignedByte()S]
  • previousPlayerGameType: [readUnsignedByte()S]
  • isDebug: [readBoolean()Z]
  • isFlat: [readBoolean()Z]
  • keepAllPlayerData: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.dimensionType = byteBuf.readWithCodec();
    this.dimension = byteBuf.readResourceLocation();
    this.seed = byteBuf.readLong();
    this.playerGameType = byteBuf.readUnsignedByte();
    this.previousPlayerGameType = byteBuf.readUnsignedByte();
    this.isDebug = byteBuf.readBoolean();
    this.isFlat = byteBuf.readBoolean();
    this.keepAllPlayerData = byteBuf.readBoolean();
}

Serialization (write())

  • dimension: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • seed: [writeLong(J)Lio/netty/buffer/ByteBuf;]
  • playerGameType: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • previousPlayerGameType: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • isDebug: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • isFlat: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • keepAllPlayerData: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeResourceLocation(this.dimension);
    byteBuf.writeLong(this.seed);
    byteBuf.writeByte(this.playerGameType);
    byteBuf.writeByte(this.previousPlayerGameType);
    byteBuf.writeBoolean(this.isDebug);
    byteBuf.writeBoolean(this.isFlat);
    byteBuf.writeBoolean(this.keepAllPlayerData);
}

net/minecraft/network/protocol/game/ClientboundSectionBlocksUpdatePacket

Field Name Field Type
sectionPos Lnet/minecraft/core/SectionPos;
positions [S
states [Lnet/minecraft/world/level/block/state/BlockState;
suppressLightUpdates Z

Deserialization (read())

  • sectionPos: [readLong()J]
  • suppressLightUpdates: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.sectionPos = byteBuf.readLong();
    this.suppressLightUpdates = byteBuf.readBoolean();
}

Serialization (write())

  • sectionPos: [writeLong(J)Lio/netty/buffer/ByteBuf;]
  • suppressLightUpdates: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • positions: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • positions: [writeVarLong(J)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeLong(this.sectionPos);
    byteBuf.writeBoolean(this.suppressLightUpdates);
    byteBuf.writeVarInt(this.positions);
    byteBuf.writeVarLong(this.positions);
}

net/minecraft/network/protocol/game/ClientboundRecipePacket

Field Name Field Type
state Lnet/minecraft/network/protocol/game/ClientboundRecipePacket$State;
recipes Ljava/util/List;
toHighlight Ljava/util/List;
bookSettings Lnet/minecraft/stats/RecipeBookSettings;

Deserialization (read())

  • state: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • recipes: [readVarInt()I]
  • toHighlight: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;, readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.state = byteBuf.readEnum();
    this.recipes = byteBuf.readVarInt();
    this.toHighlight = byteBuf.readResourceLocation();
}

Serialization (write())

  • state: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • recipes: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • recipes: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • toHighlight: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • toHighlight: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.state);
    byteBuf.writeVarInt(this.recipes);
    byteBuf.writeResourceLocation(this.recipes);
    byteBuf.writeVarInt(this.toHighlight);
    byteBuf.writeResourceLocation(this.toHighlight);
}

net/minecraft/network/protocol/game/ClientboundPlayerPositionPacket

Field Name Field Type
x D
y D
z D
yRot F
xRot F
relativeArguments Ljava/util/Set;
id I

Deserialization (read())

  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • yRot: [readFloat()F]
  • xRot: [readFloat()F]
  • relativeArguments: [readUnsignedByte()S]
  • id: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.yRot = byteBuf.readFloat();
    this.xRot = byteBuf.readFloat();
    this.relativeArguments = byteBuf.readUnsignedByte();
    this.id = byteBuf.readVarInt();
}

Serialization (write())

  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • yRot: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • xRot: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • relativeArguments: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeFloat(this.yRot);
    byteBuf.writeFloat(this.xRot);
    byteBuf.writeByte(this.relativeArguments);
    byteBuf.writeVarInt(this.id);
}

net/minecraft/network/protocol/game/ClientboundPlayerLookAtPacket

Field Name Field Type
x D
y D
z D
entity I
fromAnchor Lnet/minecraft/commands/arguments/EntityAnchorArgument$Anchor;
toAnchor Lnet/minecraft/commands/arguments/EntityAnchorArgument$Anchor;
atEntity Z

Deserialization (read())

  • fromAnchor: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • atEntity: [readBoolean()Z]
  • entity: [readVarInt()I]
  • toAnchor: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.fromAnchor = byteBuf.readEnum();
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.atEntity = byteBuf.readBoolean();
    this.entity = byteBuf.readVarInt();
    this.toAnchor = byteBuf.readEnum();
}

Serialization (write())

  • fromAnchor: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • atEntity: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • entity: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • toAnchor: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.fromAnchor);
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeBoolean(this.atEntity);
    byteBuf.writeVarInt(this.entity);
    byteBuf.writeEnum(this.toAnchor);
}

net/minecraft/network/protocol/game/ClientboundOpenSignEditorPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
}

net/minecraft/network/protocol/game/ClientboundPlaceGhostRecipePacket

Field Name Field Type
containerId I
recipe Lnet/minecraft/resources/ResourceLocation;

Deserialization (read())

  • containerId: [readByte()B]
  • recipe: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readByte();
    this.recipe = byteBuf.readResourceLocation();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • recipe: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeResourceLocation(this.recipe);
}

net/minecraft/network/protocol/game/ClientboundOpenBookPacket

Field Name Field Type
hand Lnet/minecraft/world/InteractionHand;

Deserialization (read())

  • hand: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.hand = byteBuf.readEnum();
}

Serialization (write())

  • hand: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.hand);
}

net/minecraft/network/protocol/game/ClientboundPlayerAbilitiesPacket

Field Name Field Type
invulnerable Z
isFlying Z
canFly Z
instabuild Z
flyingSpeed F
walkingSpeed F

Deserialization (read())

  • invulnerable: [readByte()B]
  • flyingSpeed: [readFloat()F]
  • walkingSpeed: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.invulnerable = byteBuf.readByte();
    this.flyingSpeed = byteBuf.readFloat();
    this.walkingSpeed = byteBuf.readFloat();
}

Serialization (write())

  • instabuild: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • flyingSpeed: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • walkingSpeed: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.instabuild);
    byteBuf.writeFloat(this.flyingSpeed);
    byteBuf.writeFloat(this.walkingSpeed);
}

net/minecraft/network/protocol/game/ClientboundOpenScreenPacket

Field Name Field Type
containerId I
type I
title Lnet/minecraft/network/chat/Component;

Deserialization (read())

  • containerId: [readVarInt()I]
  • type: [readVarInt()I]
  • title: [readComponent()Lnet/minecraft/network/chat/Component;]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readVarInt();
    this.type = byteBuf.readVarInt();
    this.title = byteBuf.readComponent();
}

Serialization (write())

  • containerId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • type: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • title: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.containerId);
    byteBuf.writeVarInt(this.type);
    byteBuf.writeComponent(this.title);
}

net/minecraft/network/protocol/game/ClientboundPlayerCombatPacket

Field Name Field Type
event Lnet/minecraft/network/protocol/game/ClientboundPlayerCombatPacket$Event;
playerId I
killerId I
duration I
message Lnet/minecraft/network/chat/Component;

Deserialization (read())

  • event: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • duration: [readVarInt()I]
  • killerId: [readInt()I]
  • playerId: [readVarInt()I]
  • killerId: [readInt()I]
  • message: [readComponent()Lnet/minecraft/network/chat/Component;]

Example read:

public void read(ByteBuf byteBuf) {
    this.event = byteBuf.readEnum();
    this.duration = byteBuf.readVarInt();
    this.killerId = byteBuf.readInt();
    this.playerId = byteBuf.readVarInt();
    this.killerId = byteBuf.readInt();
    this.message = byteBuf.readComponent();
}

Serialization (write())

  • event: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • duration: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • killerId: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • playerId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • killerId: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • message: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.event);
    byteBuf.writeVarInt(this.duration);
    byteBuf.writeInt(this.killerId);
    byteBuf.writeVarInt(this.playerId);
    byteBuf.writeInt(this.killerId);
    byteBuf.writeComponent(this.message);
}

net/minecraft/network/protocol/game/ClientboundMoveVehiclePacket

Field Name Field Type
x D
y D
z D
yRot F
xRot F

Deserialization (read())

  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • yRot: [readFloat()F]
  • xRot: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.yRot = byteBuf.readFloat();
    this.xRot = byteBuf.readFloat();
}

Serialization (write())

  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • yRot: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • xRot: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeFloat(this.yRot);
    byteBuf.writeFloat(this.xRot);
}

net/minecraft/network/protocol/game/ClientboundMerchantOffersPacket

Field Name Field Type
containerId I
offers Lnet/minecraft/world/item/trading/MerchantOffers;
villagerLevel I
villagerXp I
showProgress Z
canRestock Z

Deserialization (read())

  • containerId: [readVarInt()I]
  • villagerLevel: [readVarInt()I]
  • villagerXp: [readVarInt()I]
  • showProgress: [readBoolean()Z]
  • canRestock: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readVarInt();
    this.villagerLevel = byteBuf.readVarInt();
    this.villagerXp = byteBuf.readVarInt();
    this.showProgress = byteBuf.readBoolean();
    this.canRestock = byteBuf.readBoolean();
}

Serialization (write())

  • containerId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • villagerLevel: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • villagerXp: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • showProgress: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • canRestock: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.containerId);
    byteBuf.writeVarInt(this.villagerLevel);
    byteBuf.writeVarInt(this.villagerXp);
    byteBuf.writeBoolean(this.showProgress);
    byteBuf.writeBoolean(this.canRestock);
}

net/minecraft/network/protocol/game/ClientboundMoveEntityPacket

Field Name Field Type
entityId I
xa S
ya S
za S
yRot B
xRot B
onGround Z
hasRot Z
hasPos Z

Deserialization (read())

  • entityId: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityId = byteBuf.readVarInt();
}

Serialization (write())

  • entityId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entityId);
}

net/minecraft/network/protocol/game/ClientboundKeepAlivePacket

Field Name Field Type
id J

Deserialization (read())

  • id: [readLong()J]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readLong();
}

Serialization (write())

  • id: [writeLong(J)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeLong(this.id);
}

net/minecraft/network/protocol/game/ClientboundLevelEventPacket

Field Name Field Type
type I
pos Lnet/minecraft/core/BlockPos;
data I
globalEvent Z

Deserialization (read())

  • type: [readInt()I]
  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • data: [readInt()I]
  • globalEvent: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.type = byteBuf.readInt();
    this.pos = byteBuf.readBlockPos();
    this.data = byteBuf.readInt();
    this.globalEvent = byteBuf.readBoolean();
}

Serialization (write())

  • type: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • data: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • globalEvent: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeInt(this.type);
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeInt(this.data);
    byteBuf.writeBoolean(this.globalEvent);
}

net/minecraft/network/protocol/game/ClientboundHorseScreenOpenPacket

Field Name Field Type
containerId I
size I
entityId I

Deserialization (read())

  • containerId: [readUnsignedByte()S]
  • size: [readVarInt()I]
  • entityId: [readInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readUnsignedByte();
    this.size = byteBuf.readVarInt();
    this.entityId = byteBuf.readInt();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • size: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • entityId: [writeInt(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeVarInt(this.size);
    byteBuf.writeInt(this.entityId);
}

net/minecraft/network/protocol/game/ClientboundForgetLevelChunkPacket

Field Name Field Type
x I
z I

Deserialization (read())

  • x: [readInt()I]
  • z: [readInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.x = byteBuf.readInt();
    this.z = byteBuf.readInt();
}

Serialization (write())

  • x: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • z: [writeInt(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeInt(this.x);
    byteBuf.writeInt(this.z);
}

net/minecraft/network/protocol/game/ClientboundLevelParticlesPacket

Field Name Field Type
x D
y D
z D
xDist F
yDist F
zDist F
maxSpeed F
count I
overrideLimiter Z
particle Lnet/minecraft/core/particles/ParticleOptions;

Deserialization (read())

  • overrideLimiter: [readInt()I, readBoolean()Z]
  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • xDist: [readFloat()F]
  • yDist: [readFloat()F]
  • zDist: [readFloat()F]
  • maxSpeed: [readFloat()F]
  • count: [readInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.overrideLimiter = byteBuf.readInt();
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.xDist = byteBuf.readFloat();
    this.yDist = byteBuf.readFloat();
    this.zDist = byteBuf.readFloat();
    this.maxSpeed = byteBuf.readFloat();
    this.count = byteBuf.readInt();
}

Serialization (write())

  • particle: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • overrideLimiter: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • xDist: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • yDist: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • zDist: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • maxSpeed: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • count: [writeInt(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeInt(this.particle);
    byteBuf.writeBoolean(this.overrideLimiter);
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeFloat(this.xDist);
    byteBuf.writeFloat(this.yDist);
    byteBuf.writeFloat(this.zDist);
    byteBuf.writeFloat(this.maxSpeed);
    byteBuf.writeInt(this.count);
}

net/minecraft/network/protocol/game/ClientboundPlayerInfoPacket

Field Name Field Type
action Lnet/minecraft/network/protocol/game/ClientboundPlayerInfoPacket$Action;
entries Ljava/util/List;

Deserialization (read())

  • action: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.action = byteBuf.readEnum();
}

Serialization (write())

  • action: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • entries: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • action: [writeUUID(Ljava/util/UUID;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeEnum(this.action);
    byteBuf.writeVarInt(this.entries);
    byteBuf.writeUUID(this.action);
}

net/minecraft/network/protocol/game/ClientboundEntityEventPacket

Field Name Field Type
entityId I
eventId B

Deserialization (read())

  • entityId: [readInt()I]
  • eventId: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityId = byteBuf.readInt();
    this.eventId = byteBuf.readByte();
}

Serialization (write())

  • entityId: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • eventId: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeInt(this.entityId);
    byteBuf.writeByte(this.eventId);
}

net/minecraft/network/protocol/game/ClientboundMapItemDataPacket

Field Name Field Type
mapId I
scale B
trackingPosition Z
locked Z
decorations [Lnet/minecraft/world/level/saveddata/maps/MapDecoration;
startX I
startY I
width I
height I
mapColors [B

Deserialization (read())

  • mapId: [readVarInt()I]
  • scale: [readByte()B]
  • trackingPosition: [readBoolean()Z]
  • locked: [readBoolean()Z]
  • decorations: [readVarInt()I]
  • width: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;, readByte()B, readByte()B, readByte()B, readBoolean()Z, readComponent()Lnet/minecraft/network/chat/Component;, readUnsignedByte()S]
  • height: [readUnsignedByte()S]
  • startX: [readUnsignedByte()S]
  • startY: [readUnsignedByte()S]
  • mapColors: [readByteArray()[B]

Example read:

public void read(ByteBuf byteBuf) {
    this.mapId = byteBuf.readVarInt();
    this.scale = byteBuf.readByte();
    this.trackingPosition = byteBuf.readBoolean();
    this.locked = byteBuf.readBoolean();
    this.decorations = byteBuf.readVarInt();
    this.width = byteBuf.readEnum();
    this.height = byteBuf.readUnsignedByte();
    this.startX = byteBuf.readUnsignedByte();
    this.startY = byteBuf.readUnsignedByte();
    this.mapColors = byteBuf.readByteArray();
}

Serialization (write())

  • mapId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • scale: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • trackingPosition: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • locked: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • decorations: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • decorations: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • width: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • height: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • startX: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • startY: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • mapColors: [writeByteArray([B)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.mapId);
    byteBuf.writeByte(this.scale);
    byteBuf.writeBoolean(this.trackingPosition);
    byteBuf.writeBoolean(this.locked);
    byteBuf.writeVarInt(this.decorations);
    byteBuf.writeEnum(this.decorations);
    byteBuf.writeByte(this.width);
    byteBuf.writeByte(this.height);
    byteBuf.writeByte(this.startX);
    byteBuf.writeByte(this.startY);
    byteBuf.writeByteArray(this.mapColors);
}

net/minecraft/network/protocol/game/ClientboundDisconnectPacket

Field Name Field Type
reason Lnet/minecraft/network/chat/Component;

Deserialization (read())

  • reason: [readComponent()Lnet/minecraft/network/chat/Component;]

Example read:

public void read(ByteBuf byteBuf) {
    this.reason = byteBuf.readComponent();
}

Serialization (write())

  • reason: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeComponent(this.reason);
}

net/minecraft/network/protocol/game/ClientboundLoginPacket

Field Name Field Type
playerId I
seed J
hardcore Z
gameType Lnet/minecraft/world/level/GameType;
previousGameType Lnet/minecraft/world/level/GameType;
levels Ljava/util/Set;
registryHolder Lnet/minecraft/core/RegistryAccess$RegistryHolder;
dimensionType Lnet/minecraft/world/level/dimension/DimensionType;
dimension Lnet/minecraft/resources/ResourceKey;
maxPlayers I
chunkRadius I
reducedDebugInfo Z
showDeathScreen Z
isDebug Z
isFlat Z

Deserialization (read())

  • playerId: [readInt()I]
  • hardcore: [readBoolean()Z]
  • gameType: [readByte()B]
  • previousGameType: [readByte()B]
  • levels: [readVarInt()I]
  • registryHolder: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;, readWithCodec(Lcom/mojang/serialization/Codec;)Ljava/lang/Object;]
  • dimensionType: [readWithCodec(Lcom/mojang/serialization/Codec;)Ljava/lang/Object;]
  • dimension: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • seed: [readLong()J]
  • maxPlayers: [readVarInt()I]
  • chunkRadius: [readVarInt()I]
  • reducedDebugInfo: [readBoolean()Z]
  • showDeathScreen: [readBoolean()Z]
  • isDebug: [readBoolean()Z]
  • isFlat: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.playerId = byteBuf.readInt();
    this.hardcore = byteBuf.readBoolean();
    this.gameType = byteBuf.readByte();
    this.previousGameType = byteBuf.readByte();
    this.levels = byteBuf.readVarInt();
    this.registryHolder = byteBuf.readResourceLocation();
    this.dimensionType = byteBuf.readWithCodec();
    this.dimension = byteBuf.readResourceLocation();
    this.seed = byteBuf.readLong();
    this.maxPlayers = byteBuf.readVarInt();
    this.chunkRadius = byteBuf.readVarInt();
    this.reducedDebugInfo = byteBuf.readBoolean();
    this.showDeathScreen = byteBuf.readBoolean();
    this.isDebug = byteBuf.readBoolean();
    this.isFlat = byteBuf.readBoolean();
}

Serialization (write())

  • playerId: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • hardcore: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • gameType: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • previousGameType: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • levels: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • levels: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • registryHolder: [writeWithCodec(Lcom/mojang/serialization/Codec;Ljava/lang/Object;)V]
  • dimension: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • seed: [writeLong(J)Lio/netty/buffer/ByteBuf;]
  • maxPlayers: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • chunkRadius: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • reducedDebugInfo: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • showDeathScreen: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • isDebug: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • isFlat: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeInt(this.playerId);
    byteBuf.writeBoolean(this.hardcore);
    byteBuf.writeByte(this.gameType);
    byteBuf.writeByte(this.previousGameType);
    byteBuf.writeVarInt(this.levels);
    byteBuf.writeResourceLocation(this.levels);
    byteBuf.writeWithCodec(this.registryHolder);
    byteBuf.writeResourceLocation(this.dimension);
    byteBuf.writeLong(this.seed);
    byteBuf.writeVarInt(this.maxPlayers);
    byteBuf.writeVarInt(this.chunkRadius);
    byteBuf.writeBoolean(this.reducedDebugInfo);
    byteBuf.writeBoolean(this.showDeathScreen);
    byteBuf.writeBoolean(this.isDebug);
    byteBuf.writeBoolean(this.isFlat);
}

net/minecraft/network/protocol/game/ClientboundContainerSetSlotPacket

Field Name Field Type
containerId I
slot I
itemStack Lnet/minecraft/world/item/ItemStack;

Deserialization (read())

  • containerId: [readByte()B]
  • slot: [readShort()S]
  • itemStack: [readItem()Lnet/minecraft/world/item/ItemStack;]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readByte();
    this.slot = byteBuf.readShort();
    this.itemStack = byteBuf.readItem();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • slot: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • itemStack: [writeItem(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeShort(this.slot);
    byteBuf.writeItem(this.itemStack);
}

net/minecraft/network/protocol/game/ClientboundExplodePacket

Field Name Field Type
x D
y D
z D
power F
toBlow Ljava/util/List;
knockbackX F
knockbackY F
knockbackZ F

Deserialization (read())

  • x: [readFloat()F]
  • y: [readFloat()F]
  • z: [readFloat()F]
  • power: [readFloat()F]
  • toBlow: [readInt()I]
  • knockbackX: [readByte()B, readByte()B, readByte()B, readFloat()F]
  • knockbackY: [readFloat()F]
  • knockbackZ: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.x = byteBuf.readFloat();
    this.y = byteBuf.readFloat();
    this.z = byteBuf.readFloat();
    this.power = byteBuf.readFloat();
    this.toBlow = byteBuf.readInt();
    this.knockbackX = byteBuf.readByte();
    this.knockbackY = byteBuf.readFloat();
    this.knockbackZ = byteBuf.readFloat();
}

Serialization (write())

  • x: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • y: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • z: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • power: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • toBlow: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • toBlow: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • knockbackX: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • knockbackY: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • knockbackZ: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeFloat(this.x);
    byteBuf.writeFloat(this.y);
    byteBuf.writeFloat(this.z);
    byteBuf.writeFloat(this.power);
    byteBuf.writeInt(this.toBlow);
    byteBuf.writeByte(this.toBlow);
    byteBuf.writeFloat(this.knockbackX);
    byteBuf.writeFloat(this.knockbackY);
    byteBuf.writeFloat(this.knockbackZ);
}

net/minecraft/network/protocol/game/ClientboundCooldownPacket

Field Name Field Type
item Lnet/minecraft/world/item/Item;
duration I

Deserialization (read())

  • item: [readVarInt()I]
  • duration: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.item = byteBuf.readVarInt();
    this.duration = byteBuf.readVarInt();
}

Serialization (write())

  • item: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • duration: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.item);
    byteBuf.writeVarInt(this.duration);
}

net/minecraft/network/protocol/game/ClientboundContainerSetDataPacket

Field Name Field Type
containerId I
id I
value I

Deserialization (read())

  • containerId: [readUnsignedByte()S]
  • id: [readShort()S]
  • value: [readShort()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readUnsignedByte();
    this.id = byteBuf.readShort();
    this.value = byteBuf.readShort();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • id: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • value: [writeShort(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeShort(this.id);
    byteBuf.writeShort(this.value);
}

net/minecraft/network/protocol/game/ClientboundCustomSoundPacket

Field Name Field Type
name Lnet/minecraft/resources/ResourceLocation;
source Lnet/minecraft/sounds/SoundSource;
x I
y I
z I
volume F
pitch F

Deserialization (read())

  • name: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • source: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • x: [readInt()I]
  • y: [readInt()I]
  • z: [readInt()I]
  • volume: [readFloat()F]
  • pitch: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.name = byteBuf.readResourceLocation();
    this.source = byteBuf.readEnum();
    this.x = byteBuf.readInt();
    this.y = byteBuf.readInt();
    this.z = byteBuf.readInt();
    this.volume = byteBuf.readFloat();
    this.pitch = byteBuf.readFloat();
}

Serialization (write())

  • name: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • source: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • y: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • z: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • volume: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • pitch: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeResourceLocation(this.name);
    byteBuf.writeEnum(this.source);
    byteBuf.writeInt(this.x);
    byteBuf.writeInt(this.y);
    byteBuf.writeInt(this.z);
    byteBuf.writeFloat(this.volume);
    byteBuf.writeFloat(this.pitch);
}

net/minecraft/network/protocol/game/ClientboundContainerClosePacket

Field Name Field Type
containerId I

Deserialization (read())

  • containerId: [readUnsignedByte()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readUnsignedByte();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
}

net/minecraft/network/protocol/game/ClientboundContainerSetContentPacket

Field Name Field Type
containerId I
items Ljava/util/List;

Deserialization (read())

  • containerId: [readUnsignedByte()S]
  • items: [readShort()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readUnsignedByte();
    this.items = byteBuf.readShort();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • items: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • items: [writeItem(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeShort(this.items);
    byteBuf.writeItem(this.items);
}

net/minecraft/network/protocol/game/ClientboundGameEventPacket

Field Name Field Type
event Lnet/minecraft/network/protocol/game/ClientboundGameEventPacket$Type;
param F

Deserialization (read())

  • event: [readUnsignedByte()S]
  • param: [readFloat()F]

Example read:

public void read(ByteBuf byteBuf) {
    this.event = byteBuf.readUnsignedByte();
    this.param = byteBuf.readFloat();
}

Serialization (write())

  • event: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • param: [writeFloat(F)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.event);
    byteBuf.writeFloat(this.param);
}

net/minecraft/network/protocol/game/ClientboundChatPacket

Field Name Field Type
message Lnet/minecraft/network/chat/Component;
type Lnet/minecraft/network/chat/ChatType;
sender Ljava/util/UUID;

Deserialization (read())

  • message: [readComponent()Lnet/minecraft/network/chat/Component;]
  • type: [readByte()B]
  • sender: [readUUID()Ljava/util/UUID;]

Example read:

public void read(ByteBuf byteBuf) {
    this.message = byteBuf.readComponent();
    this.type = byteBuf.readByte();
    this.sender = byteBuf.readUUID();
}

Serialization (write())

  • message: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • type: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • sender: [writeUUID(Ljava/util/UUID;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeComponent(this.message);
    byteBuf.writeByte(this.type);
    byteBuf.writeUUID(this.sender);
}

net/minecraft/network/protocol/game/ClientboundLevelChunkPacket

Field Name Field Type
x I
z I
availableSections I
heightmaps Lnet/minecraft/nbt/CompoundTag;
biomes [I
buffer [B
blockEntitiesTags Ljava/util/List;

Deserialization (read())

  • x: [readInt()I]
  • z: [readInt()I]
  • availableSections: [readVarInt()I]
  • heightmaps: [readNbt()Lnet/minecraft/nbt/CompoundTag;]
  • biomes: [readVarIntArray(I)[I]
  • buffer: [readVarInt()I]
  • blockEntitiesTags: [readBytes([B)Lio/netty/buffer/ByteBuf;, readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.x = byteBuf.readInt();
    this.z = byteBuf.readInt();
    this.availableSections = byteBuf.readVarInt();
    this.heightmaps = byteBuf.readNbt();
    this.biomes = byteBuf.readVarIntArray();
    this.buffer = byteBuf.readVarInt();
    this.blockEntitiesTags = byteBuf.readBytes();
}

Serialization (write())

  • x: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • z: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • availableSections: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • heightmaps: [writeNbt(Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/network/FriendlyByteBuf;]
  • biomes: [writeVarIntArray([I)Lnet/minecraft/network/FriendlyByteBuf;]
  • buffer: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • buffer: [writeBytes([B)Lio/netty/buffer/ByteBuf;]
  • blockEntitiesTags: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • blockEntitiesTags: [writeNbt(Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeInt(this.x);
    byteBuf.writeInt(this.z);
    byteBuf.writeVarInt(this.availableSections);
    byteBuf.writeNbt(this.heightmaps);
    byteBuf.writeVarIntArray(this.biomes);
    byteBuf.writeVarInt(this.buffer);
    byteBuf.writeBytes(this.buffer);
    byteBuf.writeVarInt(this.blockEntitiesTags);
    byteBuf.writeNbt(this.blockEntitiesTags);
}

net/minecraft/network/protocol/game/ClientboundChangeDifficultyPacket

Field Name Field Type
difficulty Lnet/minecraft/world/Difficulty;
locked Z

Deserialization (read())

  • difficulty: [readUnsignedByte()S]
  • locked: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.difficulty = byteBuf.readUnsignedByte();
    this.locked = byteBuf.readBoolean();
}

Serialization (write())

  • difficulty: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • locked: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.difficulty);
    byteBuf.writeBoolean(this.locked);
}

net/minecraft/network/protocol/game/ClientboundContainerAckPacket

Field Name Field Type
containerId I
uid S
accepted Z

Deserialization (read())

  • containerId: [readUnsignedByte()S]
  • uid: [readShort()S]
  • accepted: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.containerId = byteBuf.readUnsignedByte();
    this.uid = byteBuf.readShort();
    this.accepted = byteBuf.readBoolean();
}

Serialization (write())

  • containerId: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • uid: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • accepted: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeByte(this.containerId);
    byteBuf.writeShort(this.uid);
    byteBuf.writeBoolean(this.accepted);
}

net/minecraft/network/protocol/game/ClientboundCommandSuggestionsPacket

Field Name Field Type
id I
suggestions Lcom/mojang/brigadier/suggestion/Suggestions;

Deserialization (read())

  • id: [readVarInt()I]
  • suggestions: [readVarInt()I, readVarInt()I, readVarInt()I, readUtf(I)Ljava/lang/String;, readBoolean()Z, readComponent()Lnet/minecraft/network/chat/Component;]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.suggestions = byteBuf.readVarInt();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • suggestions: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • suggestions: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • suggestions: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • suggestions: [writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeVarInt(this.suggestions);
    byteBuf.writeVarInt(this.suggestions);
    byteBuf.writeVarInt(this.suggestions);
    byteBuf.writeUtf(this.suggestions);
}

net/minecraft/network/protocol/game/ClientboundBlockEventPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
b0 I
b1 I
block Lnet/minecraft/world/level/block/Block;

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • b0: [readUnsignedByte()S]
  • b1: [readUnsignedByte()S]
  • block: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
    this.b0 = byteBuf.readUnsignedByte();
    this.b1 = byteBuf.readUnsignedByte();
    this.block = byteBuf.readVarInt();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • b0: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • b1: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • block: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeByte(this.b0);
    byteBuf.writeByte(this.b1);
    byteBuf.writeVarInt(this.block);
}

net/minecraft/network/protocol/game/ClientboundBlockUpdatePacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
blockState Lnet/minecraft/world/level/block/state/BlockState;

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • blockState: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
    this.blockState = byteBuf.readVarInt();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • blockState: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeVarInt(this.blockState);
}

net/minecraft/network/protocol/game/ClientboundBlockEntityDataPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
type I
tag Lnet/minecraft/nbt/CompoundTag;

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • type: [readUnsignedByte()S]
  • tag: [readNbt()Lnet/minecraft/nbt/CompoundTag;]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
    this.type = byteBuf.readUnsignedByte();
    this.tag = byteBuf.readNbt();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • type: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • tag: [writeNbt(Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeByte(this.type);
    byteBuf.writeNbt(this.tag);
}

net/minecraft/network/protocol/game/ClientboundBlockDestructionPacket

Field Name Field Type
id I
pos Lnet/minecraft/core/BlockPos;
progress I

Deserialization (read())

  • id: [readVarInt()I]
  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • progress: [readUnsignedByte()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.pos = byteBuf.readBlockPos();
    this.progress = byteBuf.readUnsignedByte();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • progress: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeByte(this.progress);
}

net/minecraft/network/protocol/game/ClientboundAnimatePacket

Field Name Field Type
id I
action I

Deserialization (read())

  • id: [readVarInt()I]
  • action: [readUnsignedByte()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.action = byteBuf.readUnsignedByte();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • action: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeByte(this.action);
}

net/minecraft/network/protocol/game/ClientboundBossEventPacket

Field Name Field Type
id Ljava/util/UUID;
operation Lnet/minecraft/network/protocol/game/ClientboundBossEventPacket$Operation;
name Lnet/minecraft/network/chat/Component;
pct F
color Lnet/minecraft/world/BossEvent$BossBarColor;
overlay Lnet/minecraft/world/BossEvent$BossBarOverlay;
darkenScreen Z
playMusic Z
createWorldFog Z

Deserialization (read())

  • id: [readUUID()Ljava/util/UUID;]
  • operation: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • name: [readComponent()Lnet/minecraft/network/chat/Component;]
  • pct: [readFloat()F]
  • color: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • overlay: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • pct: [readUnsignedByte()S, readFloat()F]
  • name: [readComponent()Lnet/minecraft/network/chat/Component;]
  • color: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • overlay: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readUUID();
    this.operation = byteBuf.readEnum();
    this.name = byteBuf.readComponent();
    this.pct = byteBuf.readFloat();
    this.color = byteBuf.readEnum();
    this.overlay = byteBuf.readEnum();
    this.pct = byteBuf.readUnsignedByte();
    this.name = byteBuf.readComponent();
    this.color = byteBuf.readEnum();
    this.overlay = byteBuf.readEnum();
}

Serialization (write())

  • id: [writeUUID(Ljava/util/UUID;)Lnet/minecraft/network/FriendlyByteBuf;]
  • operation: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • name: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • pct: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • color: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • overlay: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • pct: [writeFloat(F)Lio/netty/buffer/ByteBuf;]
  • name: [writeComponent(Lnet/minecraft/network/chat/Component;)Lnet/minecraft/network/FriendlyByteBuf;]
  • color: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • overlay: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeUUID(this.id);
    byteBuf.writeEnum(this.operation);
    byteBuf.writeComponent(this.name);
    byteBuf.writeFloat(this.pct);
    byteBuf.writeEnum(this.color);
    byteBuf.writeEnum(this.overlay);
    byteBuf.writeFloat(this.pct);
    byteBuf.writeComponent(this.name);
    byteBuf.writeEnum(this.color);
    byteBuf.writeEnum(this.overlay);
}

net/minecraft/network/protocol/game/ClientboundBlockBreakAckPacket

Field Name Field Type
pos Lnet/minecraft/core/BlockPos;
state Lnet/minecraft/world/level/block/state/BlockState;
action Lnet/minecraft/network/protocol/game/ServerboundPlayerActionPacket$Action;
allGood Z

Deserialization (read())

  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • state: [readVarInt()I]
  • action: [readEnum(Ljava/lang/Class;)Ljava/lang/Enum;]
  • allGood: [readBoolean()Z]

Example read:

public void read(ByteBuf byteBuf) {
    this.pos = byteBuf.readBlockPos();
    this.state = byteBuf.readVarInt();
    this.action = byteBuf.readEnum();
    this.allGood = byteBuf.readBoolean();
}

Serialization (write())

  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • state: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • action: [writeEnum(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf;]
  • allGood: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeVarInt(this.state);
    byteBuf.writeEnum(this.action);
    byteBuf.writeBoolean(this.allGood);
}

net/minecraft/network/protocol/game/ClientboundAddPlayerPacket

Field Name Field Type
entityId I
playerId Ljava/util/UUID;
x D
y D
z D
yRot B
xRot B

Deserialization (read())

  • entityId: [readVarInt()I]
  • playerId: [readUUID()Ljava/util/UUID;]
  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • yRot: [readByte()B]
  • xRot: [readByte()B]

Example read:

public void read(ByteBuf byteBuf) {
    this.entityId = byteBuf.readVarInt();
    this.playerId = byteBuf.readUUID();
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.yRot = byteBuf.readByte();
    this.xRot = byteBuf.readByte();
}

Serialization (write())

  • entityId: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • playerId: [writeUUID(Ljava/util/UUID;)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • yRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • xRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.entityId);
    byteBuf.writeUUID(this.playerId);
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeByte(this.yRot);
    byteBuf.writeByte(this.xRot);
}

net/minecraft/network/protocol/game/ClientboundAwardStatsPacket

Field Name Field Type
stats Lit/unimi/dsi/fastutil/objects/Object2IntMap;

Deserialization (read())

  • stats: [readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.stats = byteBuf.readVarInt();
}

Serialization (write())

  • stats: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • stats: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.stats);
    byteBuf.writeVarInt(this.stats);
}

net/minecraft/network/protocol/game/ClientboundCustomPayloadPacket

Field Name Field Type
identifier Lnet/minecraft/resources/ResourceLocation;
data Lnet/minecraft/network/FriendlyByteBuf;

Deserialization (read())

  • identifier: [readResourceLocation()Lnet/minecraft/resources/ResourceLocation;]
  • data: [readBytes(I)Lio/netty/buffer/ByteBuf;]

Example read:

public void read(ByteBuf byteBuf) {
    this.identifier = byteBuf.readResourceLocation();
    this.data = byteBuf.readBytes();
}

Serialization (write())

  • identifier: [writeResourceLocation(Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/network/FriendlyByteBuf;]
  • data: [writeBytes(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeResourceLocation(this.identifier);
    byteBuf.writeBytes(this.data);
}

net/minecraft/network/protocol/game/ClientboundAddPaintingPacket

Field Name Field Type
id I
uuid Ljava/util/UUID;
pos Lnet/minecraft/core/BlockPos;
direction Lnet/minecraft/core/Direction;
motive I

Deserialization (read())

  • id: [readVarInt()I]
  • uuid: [readUUID()Ljava/util/UUID;]
  • motive: [readVarInt()I]
  • pos: [readBlockPos()Lnet/minecraft/core/BlockPos;]
  • direction: [readUnsignedByte()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.uuid = byteBuf.readUUID();
    this.motive = byteBuf.readVarInt();
    this.pos = byteBuf.readBlockPos();
    this.direction = byteBuf.readUnsignedByte();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • uuid: [writeUUID(Ljava/util/UUID;)Lnet/minecraft/network/FriendlyByteBuf;]
  • motive: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • pos: [writeBlockPos(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/network/FriendlyByteBuf;]
  • direction: [writeByte(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeUUID(this.uuid);
    byteBuf.writeVarInt(this.motive);
    byteBuf.writeBlockPos(this.pos);
    byteBuf.writeByte(this.direction);
}

net/minecraft/network/protocol/game/ClientboundAddExperienceOrbPacket

Field Name Field Type
id I
x D
y D
z D
value I

Deserialization (read())

  • id: [readVarInt()I]
  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • value: [readShort()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.value = byteBuf.readShort();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • value: [writeShort(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeShort(this.value);
}

net/minecraft/network/protocol/game/ClientboundAddMobPacket

Field Name Field Type
id I
uuid Ljava/util/UUID;
type I
x D
y D
z D
xd I
yd I
zd I
yRot B
xRot B
yHeadRot B

Deserialization (read())

  • id: [readVarInt()I]
  • uuid: [readUUID()Ljava/util/UUID;]
  • type: [readVarInt()I]
  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • yRot: [readByte()B]
  • xRot: [readByte()B]
  • yHeadRot: [readByte()B]
  • xd: [readShort()S]
  • yd: [readShort()S]
  • zd: [readShort()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.uuid = byteBuf.readUUID();
    this.type = byteBuf.readVarInt();
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.yRot = byteBuf.readByte();
    this.xRot = byteBuf.readByte();
    this.yHeadRot = byteBuf.readByte();
    this.xd = byteBuf.readShort();
    this.yd = byteBuf.readShort();
    this.zd = byteBuf.readShort();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • uuid: [writeUUID(Ljava/util/UUID;)Lnet/minecraft/network/FriendlyByteBuf;]
  • type: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • yRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • xRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • yHeadRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • xd: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • yd: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • zd: [writeShort(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeUUID(this.uuid);
    byteBuf.writeVarInt(this.type);
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeByte(this.yRot);
    byteBuf.writeByte(this.xRot);
    byteBuf.writeByte(this.yHeadRot);
    byteBuf.writeShort(this.xd);
    byteBuf.writeShort(this.yd);
    byteBuf.writeShort(this.zd);
}

net/minecraft/network/protocol/game/ClientboundAddEntityPacket

Field Name Field Type
id I
uuid Ljava/util/UUID;
x D
y D
z D
xa I
ya I
za I
xRot I
yRot I
type Lnet/minecraft/world/entity/EntityType;
data I

Deserialization (read())

  • id: [readVarInt()I]
  • uuid: [readUUID()Ljava/util/UUID;]
  • type: [readVarInt()I]
  • x: [readDouble()D]
  • y: [readDouble()D]
  • z: [readDouble()D]
  • xRot: [readByte()B]
  • yRot: [readByte()B]
  • data: [readInt()I]
  • xa: [readShort()S]
  • ya: [readShort()S]
  • za: [readShort()S]

Example read:

public void read(ByteBuf byteBuf) {
    this.id = byteBuf.readVarInt();
    this.uuid = byteBuf.readUUID();
    this.type = byteBuf.readVarInt();
    this.x = byteBuf.readDouble();
    this.y = byteBuf.readDouble();
    this.z = byteBuf.readDouble();
    this.xRot = byteBuf.readByte();
    this.yRot = byteBuf.readByte();
    this.data = byteBuf.readInt();
    this.xa = byteBuf.readShort();
    this.ya = byteBuf.readShort();
    this.za = byteBuf.readShort();
}

Serialization (write())

  • id: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • uuid: [writeUUID(Ljava/util/UUID;)Lnet/minecraft/network/FriendlyByteBuf;]
  • type: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • x: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • y: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • z: [writeDouble(D)Lio/netty/buffer/ByteBuf;]
  • xRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • yRot: [writeByte(I)Lio/netty/buffer/ByteBuf;]
  • data: [writeInt(I)Lio/netty/buffer/ByteBuf;]
  • xa: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • ya: [writeShort(I)Lio/netty/buffer/ByteBuf;]
  • za: [writeShort(I)Lio/netty/buffer/ByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.id);
    byteBuf.writeUUID(this.uuid);
    byteBuf.writeVarInt(this.type);
    byteBuf.writeDouble(this.x);
    byteBuf.writeDouble(this.y);
    byteBuf.writeDouble(this.z);
    byteBuf.writeByte(this.xRot);
    byteBuf.writeByte(this.yRot);
    byteBuf.writeInt(this.data);
    byteBuf.writeShort(this.xa);
    byteBuf.writeShort(this.ya);
    byteBuf.writeShort(this.za);
}

net/minecraft/network/protocol/game/ClientboundCommandsPacket

Field Name Field Type
root Lcom/mojang/brigadier/tree/RootCommandNode;

Deserialization (read())

  • root: [readVarInt()I, readVarInt()I]

Example read:

public void read(ByteBuf byteBuf) {
    this.root = byteBuf.readVarInt();
}

Serialization (write())

  • root: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • root: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.root);
    byteBuf.writeVarInt(this.root);
}

net/minecraft/network/protocol/game/ClientboundLightUpdatePacket

Field Name Field Type
x I
z I
skyYMask J
blockYMask J
emptySkyYMask J
emptyBlockYMask J
skyUpdates Ljava/util/List;
blockUpdates Ljava/util/List;
trustEdges Z

Deserialization (read())

  • x: [readVarInt()I]
  • z: [readVarInt()I]
  • trustEdges: [readBoolean()Z]
  • skyYMask: [readVarLong()J]
  • blockYMask: [readVarLong()J]
  • emptySkyYMask: [readVarLong()J]
  • emptyBlockYMask: [readVarLong()J]
  • blockUpdates: [readByteArray(I)[B]

Example read:

public void read(ByteBuf byteBuf) {
    this.x = byteBuf.readVarInt();
    this.z = byteBuf.readVarInt();
    this.trustEdges = byteBuf.readBoolean();
    this.skyYMask = byteBuf.readVarLong();
    this.blockYMask = byteBuf.readVarLong();
    this.emptySkyYMask = byteBuf.readVarLong();
    this.emptyBlockYMask = byteBuf.readVarLong();
    this.blockUpdates = byteBuf.readByteArray();
}

Serialization (write())

  • x: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • z: [writeVarInt(I)Lnet/minecraft/network/FriendlyByteBuf;]
  • trustEdges: [writeBoolean(Z)Lio/netty/buffer/ByteBuf;]
  • skyYMask: [writeVarLong(J)Lnet/minecraft/network/FriendlyByteBuf;]
  • blockYMask: [writeVarLong(J)Lnet/minecraft/network/FriendlyByteBuf;]
  • emptySkyYMask: [writeVarLong(J)Lnet/minecraft/network/FriendlyByteBuf;]
  • emptyBlockYMask: [writeVarLong(J)Lnet/minecraft/network/FriendlyByteBuf;]
  • skyUpdates: [writeByteArray([B)Lnet/minecraft/network/FriendlyByteBuf;]
  • blockUpdates: [writeByteArray([B)Lnet/minecraft/network/FriendlyByteBuf;]

Example write:

public void write(ByteBuf byteBuf) {
    byteBuf.writeVarInt(this.x);
    byteBuf.writeVarInt(this.z);
    byteBuf.writeBoolean(this.trustEdges);
    byteBuf.writeVarLong(this.skyYMask);
    byteBuf.writeVarLong(this.blockYMask);
    byteBuf.writeVarLong(this.emptySkyYMask);
    byteBuf.writeVarLong(this.emptyBlockYMask);
    byteBuf.writeByteArray(this.skyUpdates);
    byteBuf.writeByteArray(this.blockUpdates);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment