The Play state is the long-lived gameplay protocol entered after the Login (and optional Configuration) state completes. It carries every server-to-client message related to world updates, entities, the player, the inventory, sound, chat, and so on. This page enumerates every clientbound Play packet in registration order — that order, defined by the call sequence of addPacket(...) in GameProtocols.CLIENTBOUND_TEMPLATE, is the wire packet ID starting at 0x00.
Common types referenced throughout this page are described in data-types. Heavily structured payloads (chunk data, entity metadata, slots, particles, text components, command graphs, recipe displays, registries, tags) link out to their dedicated reference pages.
Packet ID: 0x00 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| (none) | — | Marker packet; presence delimits a bundle. |
Semantics. Sent twice by the server to bracket a group of packets the client should buffer and apply atomically on a single client tick. The opening delimiter starts the bundle, the closing delimiter flushes it. Used to keep multi-packet effects consistent (e.g. spawn entity + initial metadata + velocity).
Packet ID: 0x01 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity ID | VarInt | Server-assigned numeric ID for this entity, used by every subsequent entity-targeted packet. |
| Entity UUID | UUID | Stable identifier; randomly generated for newly spawned entities. |
| Type | VarInt | Registry id into the minecraft:entity_type registry. |
| X / Y / Z | Double × 3 | Spawn position in absolute world coordinates. |
| Velocity | LP Vec3 | Initial velocity. Encoded via Vec3.LP_STREAM_CODEC (net.minecraft.network.LpVec3): a single 0x00 byte for zero, otherwise 6 bytes packing three 15-bit axes plus a 2-bit scale, optionally followed by a VarInt for the upper scale bits. |
| Pitch | Angle | Packed degrees (degrees * 256/360). |
| Yaw | Angle | Packed degrees. |
| Head Yaw | Angle | Packed degrees; relevant for mobs with an independent head. |
| Data | VarInt | Object-specific data: e.g. block state id for falling blocks, shooter entity id for projectiles. Meaning depends on Type. |
Semantics. Sent when a non-player entity becomes visible to the client. Players are introduced via Player Info Update and entered into the world by their entry there. Velocity uses the low-precision Vec3.LP_STREAM_CODEC format (variable-length, 1 byte when zero, 6+ bytes otherwise) — not three signed shorts as in pre-1.21.7 protocols.
Packet ID: 0x02 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity ID | VarInt | Target entity. |
| Animation | Unsigned Byte | 0 swing main hand, 2 wake up, 3 swing off hand, 4 critical hit, 5 magic critical hit. |
Semantics. Plays a one-shot first-person/third-person animation on the target entity.
Packet ID: 0x03 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Count | VarInt | Number of statistic entries. |
| Entries | Array | Repeated count times, each (Stat Category VarInt, Stat Id VarInt, Value VarInt) per the Stat.STREAM_CODEC encoding. |
Semantics. Delivers updated statistics totals for the player; usually sent in response to a client_command request_stats.
Packet ID: 0x04 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Sequence | VarInt | Mirrors the sequence field of a player block action; lets the client retire predicted block changes up to this id. |
Semantics. Acknowledges block-modification predictions sent by the client and allows it to release client-side rollback state.
Packet ID: 0x05 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity ID | VarInt | Identifies the breaking entity (so its progress can be replaced or cleared). |
| Position | BlockPos | Block being broken. |
| Progress | Unsigned Byte | 0–9 show the breaking overlay; values >= 10 clear the overlay. |
Semantics. Drives the cracked-block overlay other players see while one player mines a block.
Packet ID: 0x06 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Position | BlockPos | Location of the block entity. |
| Type | VarInt | Registry id into minecraft:block_entity_type. |
| NBT | NBT Compound | Block-entity-specific update tag (network-trusted compound). |
Semantics. Updates the data of an existing block entity (sign text, beacon settings, etc.). The NBT layout depends on the type; see the corresponding block entity.
Packet ID: 0x07 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Position | BlockPos | Block whose event is being fired. |
| Action Id | Unsigned Byte | Block-specific action identifier (e.g. note block instrument, chest open). |
| Action Param | Unsigned Byte | Block-specific parameter (e.g. note pitch, viewer count). |
| Block Type | VarInt | Registry id into minecraft:block; a sanity check against the position. |
Semantics. Fires a transient block-driven action visible to nearby clients (note block ping, chest lid animation, piston extension, beacon beam). Meaning of action/param is per-block.
Packet ID: 0x08 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Position | BlockPos | Block to update. |
| Block State Id | VarInt | Index into the global block-state palette. |
Semantics. Replaces a single block. For multiple changes within one chunk section, see Section Blocks Update; for whole chunks, Level Chunk With Light.
Packet ID: 0x09 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Boss Bar Id | UUID | Identifies the bar. |
| Operation | Enum (Byte) | 0 ADD, 1 REMOVE, 2 UPDATE_PROGRESS, 3 UPDATE_NAME, 4 UPDATE_STYLE, 5 UPDATE_PROPERTIES. |
| Operation Body | Variant | Fields below depend on operation. |
ADD body:
| Field | Type | Notes |
|---|---|---|
| Name | Text Component | Bar title. |
| Progress | Float | 0.0–1.0 filled fraction. |
| Color | Enum (VarInt) | PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE. |
| Overlay | Enum (VarInt) | PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20. |
| Flags | Unsigned Byte | Bitfield: 0x01 darken sky, 0x02 boss music, 0x04 create world fog. |
REMOVE body: empty.
UPDATE_PROGRESS body: Progress (Float).
UPDATE_NAME body: Name (Text Component).
UPDATE_STYLE body: Color (Enum), Overlay (Enum).
UPDATE_PROPERTIES body: Flags (Unsigned Byte) as in ADD.
Semantics. Manages a named boss bar visible to the player.
Packet ID: 0x0A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Difficulty | Enum (Unsigned Byte) | 0 PEACEFUL, 1 EASY, 2 NORMAL, 3 HARD. |
| Locked | Bool | If true, the client cannot change the difficulty. |
Semantics. Synchronises the world difficulty and its lock state with the client.
Packet ID: 0x0B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Batch Size | VarInt | Number of chunks delivered in the just-finished batch. |
Semantics. Marks the end of a batch of Level Chunk With Light packets. The client uses this together with Chunk Batch Start to estimate per-chunk decode cost and respond with a chunk_batch_received rate.
Packet ID: 0x0C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| (none) | — | Marker packet. |
Semantics. Marks the beginning of a chunk batch; allows the client to time its decode.
Packet ID: 0x0D · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Count | VarInt | Number of chunks in the update. |
| Chunks | Array | Repeated count times: (Chunk X Int, Chunk Z Int, Data Byte Array) where Data is the biome-only chunk payload (length-prefixed by VarInt, max 2 MiB). |
Semantics. Refreshes only the biome layers of already-loaded chunks without replacing block data. See chunks for the biome palette layout.
Packet ID: 0x0E · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Reset | Bool | If true, also resets fade-in/stay/fade-out timings to defaults. |
Semantics. Hides any displayed title and subtitle; optionally restores default animation timings.
Packet ID: 0x0F · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Transaction Id | VarInt | Echoes the id from the corresponding command_suggestion request. |
| Start | VarInt | Index in the command string where the replacement begins. |
| Length | VarInt | Number of characters being replaced. |
| Count | VarInt | Number of suggestion entries. |
| Entries | Array | Repeated count times: (Text String, Has Tooltip Bool, Tooltip Text Component?). |
Semantics. Server-side completion results for a player's tab-complete request.
Packet ID: 0x10 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Nodes | Array | Brigadier command graph; each entry encodes flags, children indices, optional redirect, and per-type payload. See commands. |
| Root Index | VarInt | Index of the root node in Nodes. |
Semantics. Synchronises the executable command graph available to the player. The client builds its parser/auto-completer from this.
Packet ID: 0x11 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Container Id | VarInt | Id of the container to close (read via readContainerId). |
Semantics. Forces the client to close a server-opened container window.
Packet ID: 0x12 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Container Id | VarInt | Container window id. |
| State Id | VarInt | Server snapshot id; echoed by the next Container Click. |
| Items | Array of Slot | Full inventory contents in slot order. |
| Carried Item | Slot | Item currently held on the cursor. |
Semantics. Sends a complete snapshot of an opened container; supersedes any prior partial updates.
Packet ID: 0x13 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Container Id | VarInt | Container window id. |
| Property Id | Short | Container-specific property index (e.g. furnace progress). |
| Value | Short | New value of that property. |
Semantics. Updates a single integer property of a container (furnace burn time, brewing fuel, beacon level, etc.).
Packet ID: 0x14 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Container Id | VarInt | Container window id; -1 for the carried item, -2 for the player's inventory. |
| State Id | VarInt | Server snapshot id. |
| Slot | Short | Index of the slot to overwrite. |
| Item | Slot | New stack contents. |
Semantics. Updates a single inventory slot.
Packet ID: 0x15 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Key | Identifier | Cookie key the server wants the client to return. |
Semantics. Asks the client to reply with a cookie_response containing the value previously stored under key (or empty if absent).
Packet ID: 0x16 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Cooldown Group | Identifier | Cooldown bucket (typically an item id). |
| Duration | VarInt | Cooldown ticks remaining; 0 clears the cooldown. |
Semantics. Greys out items sharing the cooldown group for the given number of ticks.
Packet ID: 0x17 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Action | Enum (VarInt) | 0 ADD, 1 REMOVE, 2 SET. |
| Entries | Array of String | Names to add/remove/replace in the chat completion list. |
Semantics. Maintains the server-driven completion suggestions shown in the chat UI (typically online player names plus custom tokens).
Packet ID: 0x18 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Channel | Identifier | Plugin channel identifier. |
| Data | Byte Array | Channel-specific payload; total packet size capped at 1 MiB. The vanilla minecraft:brand payload uses a single UTF-8 string; otherwise the payload is opaque. |
Semantics. Carries plugin-defined messages from server to client.
Packet ID: 0x19 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Entity that was damaged. |
| Source Type Id | VarInt | Registry id into minecraft:damage_type. |
| Source Cause Id | VarInt | Direct/indirect attacker id encoded as id + 1; 0 means none. |
| Source Direct Id | VarInt | Projectile / direct entity id encoded the same way. |
| Has Source Position | Bool | If true, position fields follow. |
| Source Position | Double × 3 | Optional. Origin point of the damage. |
Semantics. Notifies clients of a damage event so they can play the correct hurt animation, sounds and particles.
Packet ID: 0x1A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Block Position | BlockPos | Subject block. |
| Update | Tagged Update | DebugSubscription.Update payload: subscription type id followed by type-specific data. |
Semantics. Pushes a block-scoped debug data update to the F3 debug overlay; only sent to clients that subscribed via the debug subscription request.
Packet ID: 0x1B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Chunk Position | ChunkPos | Subject chunk. |
| Update | Tagged Update | See Debug Block Value. |
Semantics. Chunk-scoped debug data update for the debug overlay.
Packet ID: 0x1C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Subject entity. |
| Update | Tagged Update | Subscription-specific payload. |
Semantics. Entity-scoped debug data update.
Packet ID: 0x1D · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Event | Tagged Event | DebugSubscription.Event payload: subscription type id followed by type-specific data. |
Semantics. Generic non-targeted debug event for subscribed debug overlays.
Packet ID: 0x1E · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Sample | Long Array | Sequence of Long values; the meaning depends on the sample type. |
| Sample Type | Enum (VarInt) | RemoteDebugSampleType, currently TICK_TIME. |
Semantics. Sends a batched performance sample (e.g. tick durations) to the debug client.
Packet ID: 0x1F · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Message Signature | Packed Signature | Either a 256-byte signature or a VarInt back-reference into the rolling signature cache (MessageSignature.Packed). |
Semantics. Removes a previously displayed chat message identified by its signature reference.
Packet ID: 0x20 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Reason | Text Component | Disconnect message; serialized via the trusted context-free codec. |
Semantics. Closes the connection and shows the reason on the client's disconnection screen.
Packet ID: 0x21 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Message | Text Component | Already-formatted message body. |
| Chat Type | Bound Chat Type | (Chat Type Holder, Sender Name Text Component, Optional Target Name Text Component) — see chat. |
Semantics. Server-side chat message that should appear to come from a player but does not carry any signature; used by /say, /me and similar.
Packet ID: 0x22 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | Int | Target entity (note: 32-bit int, not VarInt). |
| Event Id | Byte | Entity-status code (e.g. 2 hurt animation, 3 death sound). |
Semantics. Fires a status event on an entity; the meaning of Event Id is per entity class.
Packet ID: 0x23 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target entity. |
| Position | Double × 3 | Absolute X, Y, Z. |
| Delta | Double × 3 | Velocity X, Y, Z. |
| Yaw | Float | Degrees. |
| Pitch | Float | Degrees. |
| On Ground | Bool | Whether the entity is grounded. |
Semantics. Authoritative absolute-position sync for an entity (used to correct accumulated drift from delta-only updates). Uses the PositionMoveRotation codec.
Packet ID: 0x24 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Center | Double × 3 | Centre of the explosion. |
| Radius | Float | Effective explosion radius. |
| Block Count | Int | Number of blocks broken (used for particle weighting). |
| Has Player Knockback | Bool | Followed by Vec3 (3 doubles) if true. |
| Explosion Particle | Particle | Particle used at the centre. |
| Explosion Sound | Sound Holder | Inline SoundEvent (registry id, optional override). |
| Block Particles | Weighted List of Explosion Particle Info | Particles spawned per broken block, with weights. |
Semantics. Notifies the client of an explosion at a point; drives sound, screen shake, particles and player knockback.
Packet ID: 0x25 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Chunk Position | ChunkPos | Encoded as a single Long (x low 32 bits, z high 32 bits). |
Semantics. Tells the client to unload a previously sent chunk.
Packet ID: 0x26 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Event | Unsigned Byte | Event id. Notable values: 0 no respawn block, 1 end raining, 2 begin raining, 3 change game mode, 4 win game, 5 demo event, 6 arrow hit player, 7 rain level change, 8 thunder level change, 9 puffer fish sting, 10 elder guardian appearance, 11 immediate respawn, 13 start waiting for chunks. |
| Param | Float | Event-specific parameter (e.g. game mode index). |
Semantics. Generic, world-wide gameplay event for the receiving player.
Packet ID: 0x27 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Values | Map of (GameRule ResourceKey, [String](./data-types#string)) |
Each entry is a registry resource key for a gamerule and its current value as a string. |
Semantics. Sends the current value of every gamerule to the client (e.g. for the gamerule UI).
Packet ID: 0x28 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Absolute Position | BlockPos | World-space position. |
| Relative Position | BlockPos | Test-instance-local position. |
Semantics. Highlights a position in the world during gametest sessions.
Packet ID: 0x29 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Container Id | VarInt | Window id. |
| Inventory Columns | VarInt | Width of the mount inventory in columns. |
| Entity Id | Int | Mount entity (note: 32-bit int). |
Semantics. Opens the mount inventory screen (horse, llama, donkey...) for the given mount.
Packet ID: 0x2A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Hurt entity. |
| Yaw | Float | Direction (degrees) the damage came from, used to tilt the model. |
Semantics. Plays the directional knockback/hurt animation on the entity.
Packet ID: 0x2B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Center X | Double | World border centre X. |
| Center Z | Double | Centre Z. |
| Old Diameter | Double | Current diameter. |
| New Diameter | Double | Target diameter. |
| Lerp Time (ms) | VarLong | Milliseconds over which to interpolate to New Diameter. |
| Portal Boundary | VarInt | Absolute maximum coordinate (typically 29999984). |
| Warning Blocks | VarInt | Distance from border at which the red warning shader appears. |
| Warning Time | VarInt | Seconds-of-shrink threshold for the warning. |
Semantics. Sets the full state of the world border in one packet on player join or respawn.
Packet ID: 0x2C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Id | Long | Random ping id; the client must echo it via keep_alive. |
Semantics. Liveness probe. Must be answered within the server timeout (default 30 s) or the player is disconnected.
Packet ID: 0x2D · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Chunk X | Int | |
| Chunk Z | Int | |
| Chunk Data | Chunk Packet Data | Heightmaps NBT, block-state palette payload, block entities — see chunks. |
| Light Data | Light Update Packet Data | Sky/block light masks and arrays — see chunks. |
Semantics. Delivers a full chunk plus its lighting in a single packet. Sent in batches bracketed by Chunk Batch Start / Chunk Batch Finished.
Packet ID: 0x2E · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Event Id | Int | Numeric effect id (block break sound, smoke direction, etc.). |
| Position | BlockPos | Effect origin. |
| Data | Int | Event-specific parameter. |
| Global | Bool | If true, plays for all players regardless of distance. |
Semantics. Plays a one-shot world effect (sound + particles) at a position.
Packet ID: 0x2F · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Override Limiter | Bool | If true, ignores the client particle-distance setting. |
| Always Show | Bool | If true, render even with reduced particle settings. |
| X / Y / Z | Double × 3 | Spawn position. |
| Offset X / Y / Z | Float × 3 | Random spread on each axis. |
| Max Speed | Float | Velocity scalar. |
| Count | Int | Number of particles to spawn. |
| Particle | Particle | Particle type plus per-type extra fields. |
Semantics. Spawns particles at a world position. Particle-specific fields follow the type id (block/item/dust/etc.).
Packet ID: 0x30 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Chunk X | VarInt | |
| Chunk Z | VarInt | |
| Light Data | Light Update Packet Data | Sky/block light arrays + masks — see chunks. |
Semantics. Updates only the light arrays of an already-loaded chunk (e.g. after block changes that altered light propagation).
Packet ID: 0x31 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Player Id | Int | Server-side entity id of the player. |
| Hardcore | Bool | Hardcore-mode flag. |
| Dimensions | Array of Identifier | Names of every world (ResourceKey<Level>) the player may visit. |
| Max Players | VarInt | Soft cap (display only). |
| View Distance | VarInt | Render distance in chunks. |
| Simulation Distance | VarInt | Simulation radius in chunks. |
| Reduced Debug Info | Bool | If true, hides certain F3 fields. |
| Show Death Screen | Bool | If false, players respawn immediately. |
| Limited Crafting | Bool | If true, recipe book unlocks gate crafting. |
| Common Spawn Info | Spawn Info | (Dimension Type Id VarInt, Dimension Name Identifier, Hashed Seed Long, Game Mode Byte, Previous Game Mode Byte, Is Debug Bool, Is Flat Bool, Death Location? (BlockPos+Identifier), Portal Cooldown VarInt, Sea Level VarInt). |
| Enforces Secure Chat | Bool | If true, the client requires signed chat. |
Semantics. Initial world-info packet entering the Play state. Carries enough to instantiate the player entity and the local world.
Packet ID: 0x32 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| (none) | — | Marker packet. |
Semantics. Singleton warning that the local integrated server is running low on disk space; for vanilla single-player only.
Packet ID: 0x33 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Map Id | VarInt | Identifies which filled map to update. |
| Scale | Byte | Map scale (0–4). |
| Locked | Bool | True if locked with a glass pane. |
| Has Decorations | Bool | If true, a list of decorations follows. |
| Decorations | Array of MapDecoration | Optional. Each (Type VarInt, X Byte, Z Byte, Rotation Byte, Optional Display Name Text Component). |
| Has Color Patch | Bool | If true, a patch follows. |
| Color Patch | MapPatch | Optional. (Width Byte, Height Byte, X Byte, Z Byte, Pixels Byte Array). |
Semantics. Updates the rendered image / decorations of a filled map item.
Packet ID: 0x34 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Container Id | VarInt | Active trading window. |
| Trades | Array of MerchantOffer | Each offer encodes input items, output, uses, max uses, xp, special price, price multiplier and demand. |
| Villager Level | VarInt | 1–5 (Novice…Master). |
| Villager Xp | VarInt | Total experience. |
| Show Progress | Bool | Whether to show the level-up bar. |
| Can Restock | Bool | True for villagers, false for wandering traders. |
Semantics. Populates a villager / wandering-trader trade GUI.
Packet ID: 0x35 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target entity. |
| Delta X | Short | (currentX*4096) - (prevX*4096). |
| Delta Y | Short | Same for Y. |
| Delta Z | Short | Same for Z. |
| On Ground | Bool | Whether the entity touches the ground. |
Semantics. Position-only delta update. Each delta is limited to ±8 blocks; for larger movement, the server sends Teleport Entity.
Packet ID: 0x36 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Delta X / Y / Z | Short × 3 | Same encoding as Move Entity Pos. |
| Yaw | Angle | Packed degrees. |
| Pitch | Angle | Packed degrees. |
| On Ground | Bool |
Semantics. Combined position-and-rotation delta update.
Packet ID: 0x37 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Minecart. |
| Lerp Steps | Array of MinecartStep | Each (Position Vec3, Movement Vec3, Yaw Float, Pitch Float, Weight Float). |
Semantics. Server-driven smooth interpolation steps for the new minecart movement model.
Packet ID: 0x38 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Yaw | Angle | Packed degrees. |
| Pitch | Angle | Packed degrees. |
| On Ground | Bool |
Semantics. Rotation-only update for an entity that has not moved.
Packet ID: 0x39 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Position | Double × 3 | Absolute X, Y, Z. |
| Yaw | Float | Degrees. |
| Pitch | Float | Degrees. |
Semantics. Server-corrected position/rotation for the vehicle the player is riding.
Packet ID: 0x3A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Hand | Enum (VarInt) | 0 MAIN_HAND, 1 OFF_HAND. |
Semantics. Opens the written-book GUI for the book held in the given hand.
Packet ID: 0x3B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Container Id | VarInt | Newly assigned window id. |
| Type | VarInt | Registry id into minecraft:menu (chest, anvil, …). |
| Title | Text Component | Window title. |
Semantics. Tells the client to open a container window of the given type.
Packet ID: 0x3C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Position | BlockPos | Sign block. |
| Is Front Text | Bool | True for front side, false for back. |
Semantics. Opens the sign-editing UI for the given sign side.
Packet ID: 0x3D · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Id | Int | Echoed back via pong (note: 32-bit int, distinct from Keep Alive). |
Semantics. Generic round-trip probe; commonly used by datapacks/plugins to measure latency.
Packet ID: 0x3E · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Time | Long | Server-supplied timestamp echoed in response to ping_request. |
Semantics. Server-side reply to the client's status-style ping_request.
Packet ID: 0x3F · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Container Id | VarInt | Crafting window. |
| Recipe Display | RecipeDisplay | Display data for the recipe (slot images and result) — see recipe display. |
Semantics. Shows the ghost-item preview of a recipe in the crafting grid after the player clicks it in the recipe book.
Packet ID: 0x40 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Flags | Byte | Bitfield: 0x01 invulnerable, 0x02 flying, 0x04 may fly, 0x08 instant break (creative). |
| Flying Speed | Float | Speed multiplier while flying. |
| Walking Speed | Float | Field-of-view modifier base speed. |
Semantics. Updates the player's god-mode/flight abilities and speed multipliers.
Packet ID: 0x41 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Global Index | VarInt | Strictly increasing message index for the receiving client. |
| Sender | UUID | Sender's player UUID. |
| Index | VarInt | Per-sender chat index for ordering and validation. |
| Has Signature | Bool | If true, a 256-byte signature follows. |
| Signature | Byte[256] | Optional. |
| Body | SignedMessageBody.Packed | (Content String, Timestamp Long, Salt Long, Last-Seen Acks) — see chat. |
| Has Unsigned Content | Bool | If true, an alternative formatted form follows. |
| Unsigned Content | Text Component | Optional. |
| Filter Mask | FilterMask | (Type Enum, Bitset) indicating which characters were redacted. |
| Chat Type | Bound Chat Type | Decoration parameters — see chat. |
Semantics. Carries a signed chat message and the metadata needed to verify it.
Packet ID: 0x42 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Duration | VarInt | Combat duration in ticks. |
Semantics. Signals end of a combat episode (used by combat tracking only).
Packet ID: 0x43 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| (none) | — | Marker packet. |
Semantics. Signals start of a combat episode.
Packet ID: 0x44 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Player Id | VarInt | Killed player. |
| Message | Text Component | Death message. |
Semantics. Drives the death screen overlay on the receiving client.
Packet ID: 0x45 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Profile Ids | Array of UUID | Players to remove from the tab list and from the local player registry. |
Semantics. Removes player entries from the client's player-list table.
Packet ID: 0x46 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Actions | Bitset (Byte) | Combination of ADD_PLAYER, INITIALIZE_CHAT, UPDATE_GAME_MODE, UPDATE_LISTED, UPDATE_LATENCY, UPDATE_DISPLAY_NAME, UPDATE_LIST_PRIORITY, UPDATE_HAT. |
| Entries | Array of Entry | For each entry: (UUID) followed, in Actions enum order, by the fields each chosen action requires. |
Per-action payload:
ADD_PLAYER: (Name String, Properties Array of (Name, Value, Optional Signature)).INITIALIZE_CHAT: optional (Session Id UUID, Public Key Expiry Long, Public Key Bytes, Key Signature Bytes).UPDATE_GAME_MODE: (Game Mode VarInt).UPDATE_LISTED: (Listed Bool).UPDATE_LATENCY: (Latency VarInt ms).UPDATE_DISPLAY_NAME: optional (Display Name Text Component).UPDATE_LIST_PRIORITY: (Priority VarInt).UPDATE_HAT: (Show Hat Bool).Semantics. Atomically adds or updates one or more player-list entries.
Packet ID: 0x47 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| From Anchor | Enum (VarInt) | 0 FEET, 1 EYES — origin point on the player. |
| Target X / Y / Z | Double × 3 | Target position. |
| Is Entity | Bool | If true, two more fields follow. |
| Target Entity | VarInt | Optional. Entity to look at instead of the position. |
| To Anchor | Enum (VarInt) | Optional. Anchor on the target entity. |
Semantics. Forces the player camera to face a position or entity (the /teleport ... facing command).
Packet ID: 0x48 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Teleport Id | VarInt | Echoed by the client's accept_teleportation. |
| Change | PositionMoveRotation | (Position Vec3, Delta Vec3, Yaw Float, Pitch Float). |
| Relatives | Bitset of Relative |
Which fields are deltas instead of absolutes (X, Y, Z, Y_ROT, X_ROT, DELTA_X, DELTA_Y, DELTA_Z, ROTATE_DELTA). |
Semantics. Authoritatively sets the player's position/rotation. The client must reply with accept_teleportation carrying the same id.
Packet ID: 0x49 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Yaw | Float | Degrees. |
| Relative Yaw | Bool | If true, yaw is added to the current value. |
| Pitch | Float | Degrees. |
| Relative Pitch | Bool | If true, pitch is added. |
Semantics. Forces a rotation change on the player (relative or absolute per axis).
Packet ID: 0x4A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entries | Array of Entry | Each (RecipeDisplayEntry contents, Flags Byte) where 0x01 shows a notification and 0x02 highlights the entry. |
| Replace | Bool | If true, the new list replaces the existing recipe book contents. |
Semantics. Adds entries to (or replaces the contents of) the client recipe book — see recipe display.
Packet ID: 0x4B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Recipe Ids | Array of RecipeDisplayId | Recipes to remove from the book. |
Semantics. Removes recipes from the client recipe book.
Packet ID: 0x4C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Book Settings | RecipeBookSettings | One (Open Bool, Filter Bool) pair per book type (Crafting, Furnace, Blast Furnace, Smoker). |
Semantics. Synchronises per-book open/filter state with the client.
Packet ID: 0x4D · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Ids | VarInt Array (readIntIdList) |
Entities to despawn from the client world. |
Semantics. Removes one or more entities from the client.
Packet ID: 0x4E · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Affected entity. |
| Effect | VarInt | Registry id into minecraft:mob_effect. |
Semantics. Cancels a mob effect on an entity (e.g. milk cured Poison).
Packet ID: 0x4F · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Owner | String | Score owner (player name or fake-player). |
| Has Objective | Bool | If true, an objective name follows. |
| Objective | String | Optional. Specific objective to reset; if absent, all of the owner's scores are reset. |
Semantics. Removes one or all sidebar/objective scores for an owner.
Packet ID: 0x50 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Has Id | Bool | If true, a UUID follows. |
| Pack Id | UUID | Optional. If present, removes that specific pack; otherwise pops all server-applied packs. |
Semantics. Unloads previously-pushed server resource packs.
Packet ID: 0x51 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Id | UUID | Identifies the pack so it can be popped later. |
| Url | String | Pack download URL. |
| Hash | String | SHA-1 hash (40 chars) of the pack archive. |
| Required | Bool | If true, the client disconnects if the player declines. |
| Has Prompt | Bool | If true, a prompt component follows. |
| Prompt | Text Component | Optional. Custom prompt message. |
Semantics. Asks the client to download and apply a server resource pack.
Packet ID: 0x52 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Common Spawn Info | Spawn Info | Same struct as in Login. |
| Data To Keep | Byte | Bitset: 0x01 keep attribute modifiers, 0x02 keep entity data, 0x03 keep all. |
Semantics. Respawns the player into a (possibly different) dimension. Equivalent to sending Login again but reusing the existing entity.
Packet ID: 0x53 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Yaw | Angle | New head yaw (packed degrees). |
Semantics. Updates an entity's head rotation independently of its body yaw.
Packet ID: 0x54 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Section Position | Long | Packed SectionPos — chunk section X/Y/Z. |
| Records | Array of Long | Each Long packs `(BlockState << 12) |
Semantics. Batches multiple block changes within one chunk section.
Packet ID: 0x55 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Has Tab | Bool | If true, a tab id follows. |
| Tab | Identifier | Optional. Advancement tab to switch to. |
Semantics. Forces the advancements GUI to display a particular tab (or none).
Packet ID: 0x56 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| MOTD | Text Component | Server description. |
| Has Icon | Bool | If true, raw icon bytes follow. |
| Icon Bytes | Byte Array | Optional. PNG bytes of the favicon. |
Semantics. Sends the server description / icon to the client (after the connection is established, distinct from status response).
Packet ID: 0x57 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Text | Text Component | Action-bar message. |
Semantics. Displays a temporary message above the hotbar.
Packet ID: 0x58 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Center X | Double | |
| Center Z | Double |
Semantics. Updates the world border centre.
Packet ID: 0x59 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Old Diameter | Double | Current diameter. |
| New Diameter | Double | Target diameter. |
| Lerp Time | VarLong | Milliseconds over which to interpolate. |
Semantics. Smoothly resizes the world border.
Packet ID: 0x5A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Diameter | Double | New border diameter, applied immediately. |
Semantics. Snap-resizes the world border.
Packet ID: 0x5B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Warning Time | VarInt | Seconds until shrink at which the warning triggers. |
Semantics. Configures the time-based border warning threshold.
Packet ID: 0x5C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Warning Blocks | VarInt | Distance from the border (in blocks) for the warning shader. |
Semantics. Configures the distance-based border warning threshold.
Packet ID: 0x5D · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Camera Entity Id | VarInt | Entity whose POV the player views; the player's own id resets to first-person. |
Semantics. Switches the player's view to another entity (used by spectator mode and /spectate).
Packet ID: 0x5E · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Chunk X | VarInt | |
| Chunk Z | VarInt |
Semantics. Tells the client the new centre chunk for its loaded-chunk square (used to evict stale chunks).
Packet ID: 0x5F · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| View Distance | VarInt | Server-imposed view distance in chunks. |
Semantics. Updates the client's effective view distance.
Packet ID: 0x60 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Contents | Slot | New stack on the cursor. |
Semantics. Updates the item the player is dragging on the cursor independently of any container.
Packet ID: 0x61 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Respawn Data | RespawnData | (Position BlockPos, Angle Float) indicating world spawn / compass target. |
Semantics. Updates the world's default spawn point (also sets the compass target).
Packet ID: 0x62 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Slot | VarInt | Display slot id (0 list, 1 sidebar, 2 below name, 3–18 team-coloured sidebars). |
| Objective Name | String | Empty string clears the slot. |
Semantics. Selects which scoreboard objective is rendered in a particular display slot.
Packet ID: 0x63 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Metadata | Entity Metadata | Sequence of (Index Byte, Type VarInt, Value) triplets terminated by index 0xFF. See entity-metadata. |
Semantics. Updates one or more synced data values on an entity (pose, health, custom name, etc.).
Packet ID: 0x64 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Source Entity Id | Int | Leashed entity (32-bit int). |
| Destination Entity Id | Int | Holder; 0 clears the leash. |
Semantics. Sets / clears the leash link between two entities.
Packet ID: 0x65 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Velocity | LP Vec3 | Encoded via Vec3.LP_STREAM_CODEC, identical to Add Entity. |
Semantics. Sets the entity velocity directly.
Packet ID: 0x66 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Slots | Variable Array | Each entry is (Slot Byte, Item Slot); the high bit (0x80) of Slot indicates more entries follow. Slot lo-bits encode the equipment slot ordinal (main hand, off hand, feet, legs, chest, head, body, saddle). |
Semantics. Updates one or more equipment slots on an entity in a single packet.
Packet ID: 0x67 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Experience Bar | Float | 0.0–1.0 filled fraction. |
| Experience Level | VarInt | |
| Total Experience | VarInt | Lifetime XP, used for the death drop calculation. |
Semantics. Updates the experience HUD.
Packet ID: 0x68 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Health | Float | 0.0–max-health hit points. |
| Food | VarInt | 0–20. |
| Saturation | Float | 0.0–5.0. |
Semantics. Updates the health/food/saturation HUD.
Packet ID: 0x69 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Slot | VarInt | 0–8 hotbar index. |
Semantics. Forces the active hotbar slot on the client.
Packet ID: 0x6A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Objective Name | String | Identifier. |
| Method | Byte | 0 add, 1 remove, 2 change. |
| Display Name | Text Component | Present for add/change. |
| Render Type | Enum (VarInt) | 0 INTEGER, 1 HEARTS. Present for add/change. |
| Has Number Format | Bool | Present for add/change. |
| Number Format | NumberFormat | Optional. Tagged variant: BLANK / STYLED (Style) / FIXED (Text Component). |
Semantics. Creates, removes or modifies a scoreboard objective.
Packet ID: 0x6B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Vehicle Entity Id | VarInt | |
| Passenger Entity Ids | VarInt Array | All passengers, in seating order. |
Semantics. Sets the full passenger list of a vehicle.
Packet ID: 0x6C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Slot | VarInt | Player inventory slot index. |
| Contents | Slot | New stack. |
Semantics. Slim alternative to Container Set Slot for the player's own inventory; does not require an open container.
Packet ID: 0x6D · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Team Name | String | Identifier. |
| Method | Byte | 0 create, 1 remove, 2 update info, 3 add players, 4 remove players. |
| Parameters | TeamParameters | Present for create / update info. (Display Name TC, Friendly Flags Byte, Visibility String[40], Collision Rule String[40], Team Color Enum, Prefix TC, Suffix TC). |
| Players | Array of String | Present for create / add / remove. List of player names or fake-player ids. |
Semantics. Manages scoreboard teams (membership and display).
Packet ID: 0x6E · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Owner | String | Player or fake-player. |
| Objective Name | String | Objective being updated. |
| Value | VarInt | New score. |
| Has Display Name | Bool | Optional override. |
| Display Name | Text Component | Optional. |
| Has Number Format | Bool | |
| Number Format | NumberFormat | Optional. |
Semantics. Sets a scoreboard score, optionally with a per-entry custom display.
Packet ID: 0x6F · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Distance | VarInt | Simulation radius in chunks. |
Semantics. Updates the simulation-distance value previously sent in Login.
Packet ID: 0x70 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Text | Text Component | Subtitle. |
Semantics. Sets the subtitle of the next title; queue with Set Title Text and Set Titles Animation.
Packet ID: 0x71 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Game Time | Long | Total ticks the world has run. |
| Clock Updates | Map | Map<Holder<WorldClock>, ClockNetworkState>: per-clock state (e.g. day clock with (time-of-day Long, scale Float, frozen Bool)). |
Semantics. Synchronises wall-clock and per-dimension clocks (day/night, the End clock, etc.).
Packet ID: 0x72 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Text | Text Component | Title text. |
Semantics. Sets the main title; pair with Set Subtitle Text and Set Titles Animation, then trigger via the next title display.
Packet ID: 0x73 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Fade In | Int | Ticks. |
| Stay | Int | Ticks. |
| Fade Out | Int | Ticks. |
Semantics. Sets the timings for upcoming title displays.
Packet ID: 0x74 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Sound | Sound Holder | (Registry Id VarInt, Optional Override (Identifier + Optional Range Float)). |
| Source | Enum (VarInt) | Sound category (MASTER, MUSIC, RECORDS, WEATHER, BLOCKS, HOSTILE, NEUTRAL, PLAYERS, AMBIENT, VOICE, UI). |
| Entity Id | VarInt | Source entity. |
| Volume | Float | Multiplier. |
| Pitch | Float | 0.5–2.0. |
| Seed | Long | Used to deterministically pick variants. |
Semantics. Plays a sound attached to an entity (so it tracks if the entity moves).
Packet ID: 0x75 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Sound | Sound Holder | See Sound Entity. |
| Source | Enum (VarInt) | Sound category. |
| Position X | Int | floor(x * 8). |
| Position Y | Int | floor(y * 8). |
| Position Z | Int | floor(z * 8). |
| Volume | Float | |
| Pitch | Float | |
| Seed | Long |
Semantics. Plays a sound at a fixed world position with eighth-block accuracy.
Packet ID: 0x76 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| (none) | — | Marker packet. |
Semantics. Terminal packet that asks the client to leave Play and re-enter the Configuration state. The client must reply with configuration_acknowledged.
Packet ID: 0x77 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Flags | Byte | 0x01 source present, 0x02 sound id present. |
| Source | Enum (VarInt) | Optional. Source category to silence. |
| Sound Id | Identifier | Optional. Specific sound to stop. |
Semantics. Stops sounds matching the given filter; with no flags set, stops all sounds.
Packet ID: 0x78 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Key | Identifier | Cookie key. |
| Payload | Byte Array | Up to 5120 bytes; persisted by the client across sessions/transfers. |
Semantics. Asks the client to persist a small key/value pair for later retrieval via Cookie Request.
Packet ID: 0x79 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Content | Text Component | Message body. |
| Overlay | Bool | If true, render in the action-bar slot instead of the chat window. |
Semantics. Server-side, unsigned chat message (no sender identity).
Packet ID: 0x7A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Header | Text Component | Top of the player list. |
| Footer | Text Component | Bottom of the player list. |
Semantics. Sets the per-player header/footer of the tab list.
Packet ID: 0x7B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Transaction Id | VarInt | Echoes the request's transaction id. |
| Tag | NBT Compound (nullable) | Resulting NBT, or null if none. |
Semantics. Reply to a data get-style block-entity / entity NBT query.
Packet ID: 0x7C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Item Entity Id | VarInt | Item being picked up. |
| Player Entity Id | VarInt | Picker. |
| Amount | VarInt | Number of items collected. |
Semantics. Plays the pickup animation/sound (item flies into the player). The actual entity removal still arrives via Remove Entities.
Packet ID: 0x7D · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Change | PositionMoveRotation | (Position Vec3, Delta Vec3, Yaw Float, Pitch Float). |
| Relatives | Bitset of Relative |
See Player Position. |
| On Ground | Bool |
Semantics. Authoritative absolute teleport for any entity.
Packet ID: 0x7E · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Status | Text Component | Human-readable status. |
| Has Size | Bool | If true, three VarInts (Vec3i) follow. |
| Size | Vec3i | Optional. Size of the test instance bounding box. |
Semantics. Reports the status of the gametest instance block to the editing player.
Packet ID: 0x7F · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Tick Rate | Float | Server ticks per second (default 20). |
| Is Frozen | Bool | If true, world ticks are paused. |
Semantics. Updates the client's view of the server tick clock (/tick rate, /tick freeze).
Packet ID: 0x80 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Tick Steps | VarInt | Number of steps to advance while frozen. |
Semantics. Advances the frozen world by N ticks (/tick step).
Packet ID: 0x81 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Host | String | Target server hostname. |
| Port | VarInt | Target server port. |
Semantics. Asks the client to seamlessly reconnect to another server while preserving stored cookies.
Packet ID: 0x82 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Reset | Bool | If true, the client clears its advancement set first. |
| Added | Array of AdvancementHolder | New / updated advancements (id, parent?, display?, requirements, sends_telemetry_event). |
| Removed | Array of Identifier | Advancement ids to delete. |
| Progress | Map of (Identifier, AdvancementProgress) | Per-criterion completion timestamps. |
| Show Advancements | Bool | Whether to show the advancement screen. |
Semantics. Synchronises the client advancements view.
Packet ID: 0x83 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Attributes | Array of AttributeSnapshot | Each (Attribute Holder, Base Value Double, Modifiers Array) where each modifier is (Identifier, Amount Double, Operation Enum (ADD / MULTIPLY_BASE / MULTIPLY_TOTAL)). |
Semantics. Updates the entity's attribute base values and active modifiers (max health, movement speed, etc.).
Packet ID: 0x84 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Target. |
| Effect | VarInt | Registry id into minecraft:mob_effect. |
| Amplifier | VarInt | Effect level minus one (0 = level I). |
| Duration | VarInt | Ticks remaining; -1 = infinite. |
| Flags | Byte | 0x01 ambient, 0x02 show particles, 0x04 show icon, 0x08 blend. |
Semantics. Applies or refreshes a mob effect on an entity.
Packet ID: 0x85 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Item Sets | Map of (Property Set Key, Property Set) | Per-property recipe input sets (e.g. furnace fuels, smithing templates). |
| Stonecutter Recipes | SelectableRecipe.SingleInputSet | Special list of (input Ingredient, display) pairs for the stonecutter UI. |
Semantics. Sends the recipe property data needed for the recipe-driven UIs. Recipe display data is sent separately via Recipe Book Add.
Packet ID: 0x86 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Tags | Map | Map<Registry ResourceKey, NetworkPayload> where each NetworkPayload is Map<Tag Identifier, Array of VarInt registry ids>. See tags. |
Semantics. Synchronises every tag in every registry with the client.
Packet ID: 0x87 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Entity Id | VarInt | Projectile (typically a wind charge). |
| Acceleration Power | Double | Server-driven acceleration magnitude. |
Semantics. Adjusts the per-tick acceleration of a server-managed projectile.
Packet ID: 0x88 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Details | Map of (String, String) | Up to 32 entries; keys ≤ 128 chars, values ≤ 4096 chars. |
Semantics. Extra fields the client should include in any local crash report it generates while connected.
Packet ID: 0x89 · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Links | Array of UntrustedEntry | Each (Label Variant, Url String). The label variant is either a known type id (Bug Report, Community Guidelines, Support, Status, Feedback, Community, Website, Forums, News, Announcements) or a custom Text Component. |
Semantics. Populates the server-supplied links shown in the pause menu and the disconnection screen.
Packet ID: 0x8A · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Operation | Enum (VarInt) | 0 TRACK, 1 UNTRACK, 2 UPDATE. |
| Waypoint | TrackedWaypoint | Tagged variant: empty (untrack), (Position Vec3i, Icon), (Chunk ChunkPos, Icon), or (Azimuth Float, Icon). Each variant carries a UUID identifier and the icon (style id + optional color int). |
Semantics. Adds, updates or removes a tracked waypoint marker on the player's HUD.
Packet ID: 0x8B · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| (none) | — | Marker packet. |
Semantics. Closes any server-shown dialog window currently open on the client.
Packet ID: 0x8C · State: Play · Bound To: Client
| Field | Type | Notes |
|---|---|---|
| Dialog | Holder of Dialog | Either a registry reference (id 0 + VarInt registry index minus one) or an inline definition (id 0 then 0-byte then full Dialog NBT/codec data). The inline definition encodes the dialog type and per-type body (notice, confirmation, multi-action, server-links, dialog-list). |
Semantics. Opens a dialog screen on the client; user input flows back via the corresponding custom_click_action serverbound packet.
Source: net/minecraft/network/protocol/game/GameProtocols.java and the corresponding Clientbound*Packet.java files in the same directory.