Difference between revisions of "Bedrock Protocol"

From wiki.vg
Jump to navigation Jump to search
(This was an accident, sorry! Undo revision 15592 by Orladog (talk))
Tag: Undo
Line 1: Line 1:
==== Login ====
+
:: '''Remember that this page is a WIP''', ''it is not even added to the [[Main Page]]''. Come back later to see a more complete page.
 +
----
 +
 
 +
{{Box
 +
  |BORDER = #9999FF
 +
  |BACKGROUND = #99CCFF
 +
  |WIDTH = 100%
 +
  |ICON =  
 +
  |HEADING = Heads up!
 +
  |CONTENT = This article is about the protocol for the latest '''stable''' release of Minecraft '''Bedrock Edition''' ([[Bedrock Protocol version numbers|1.14.30, protocol 389]]). See [[Protocol]] for the Java Edition Protocol.
 +
}}
 +
 
 +
This is the [https://minecraft.gamepedia.com/Bedrock_Edition Bedrock Edition] Protocol Documentation.
 +
The Bedrock Edition Protocol uses [[wikipedia:User Datagram Protocol|UDP]] instead of [[wikipedia:Transmission Control Protocol|TCP]] what is used for the Java Edition.<br>
 +
The Bedrock Edition Client uses RakNet as its protocol library.
 +
 
 +
The default Bedrock Edition port is 19132
 +
 
 +
== Data types ==
  
 
{| class="wikitable"
 
{| class="wikitable"
  ! Packet ID
+
  |-
  ! Bound To
+
  !
  ! Field Name
+
  ! Size (bytes)
  ! Field Type
+
  ! Range
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="3"| 0x01
+
  ! byte
|rowspan="3"| Client
+
  | 1
  | Protocol version
+
  | 0 to 255
  | int
 
 
  |
 
  |
 
  |-
 
  |-
  | Chain data
+
! boolean
  | JWT String
+
  | 1
  | Contains the display name, UUID and XUID
+
  | 0 or 1
 +
  | A byte treated as boolean, 0 is false but anything greater then that is true
 
  |-
 
  |-
  | Skin data
+
! short
  | JWT String
+
  | 2
 +
  | -32768 to 32767
 
  |
 
  |
|}
 
 
==== Play Status ====
 
 
{| class="wikitable"
 
! Packet ID
 
! Bound To
 
! Field Name
 
! Field Type
 
! Notes
 
 
  |-
 
  |-
  |rowspan="1"| 0x02
+
! ushort
  |rowspan="1"| Client
+
| 2
}
+
| 0 to 65535
 +
|
 +
|-
 +
! int
 +
| 4
 +
| -2147483648 to 2147483647
 +
| Signed 32-bit integer
 +
|-
 +
! uint
 +
| 4
 +
| 0 to 4294967295
 +
| Unsigned 32-bit integer
 +
|-
 +
! long
 +
| 8
 +
| -2^63 to 2^63-1
 +
| Signed 64-bit integer
 +
|-
 +
! ulong
 +
| 8
 +
| 2^64-1
 +
| Unsigned 64-bit integer
 +
|-
 +
! float
 +
| 4
 +
|
 +
| A [[wikipedia:Single-precision_floating-point_format|single-precision 32-bit IEEE 754 floating point number]]
 +
  |-
 +
! double
 +
| 8
 +
|
 +
| A [[wikipedia:Double-precision_floating-point_format|double-precision 64-bit IEEE 754 floating point number]]
 +
|-
 +
! VarInt
 +
| &ge; 1<br>&le; 5
 +
| -2147483648 and 2147483647
 +
|
 +
|-
 +
! VarLong
 +
| &ge; 1<br>&le; 10
 +
  | -2^63 and 2^63-1
 +
|
 +
|-
 +
! UUID
 +
| 16
 +
| A [[wikipedia:Universally_unique_identifier|UUID]]
 +
| Encoded as two unsigned 64-bit integers: the most significant 64 bits and the least significant 64 bits
 +
|}
 +
 
 +
 
 +
== Packet Format ==
 +
 
 +
== Login process ==
 +
 
 +
== Packets ==
 +
Please note that some packet ids are missing, so they don't line up.
 +
The following packet ids are missing:
 +
0x10, 0x74, 0x7F, 0x80
 +
(16, 116, 127, 128)
  
==== Server To Client Handshake ====
+
==== Login ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 45: Line 112:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="2"| 0x03
+
  |rowspan="3"| 0x01
  |rowspan="2"| Client
+
  |rowspan="3"| Client
  |JWT data
+
| Protocol version
  |JWT String
+
| int
 +
|
 +
|-
 +
| Chain data
 +
  | JWT String
 +
| Contains the display name, UUID and XUID
 +
|-
 +
| Skin data
 +
  | JWT String
 
  |
 
  |
 
  |}
 
  |}
  
==== Disconnect ====
+
==== Play Status ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 61: Line 136:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="3"| 0x05
+
  |rowspan="1"| 0x02
  |rowspan="3"| Client
+
  |rowspan="1"| Client
|Disconnect screen visibility
 
|boolean
 
|
 
|-
 
|Kick message
 
|String
 
|
 
 
  |}
 
  |}
  
==== Resource Packs info ====
+
==== Server To Client Handshake ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 81: Line 149:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x06
+
  |rowspan="2"| 0x03
  |rowspan="1"| Client
+
  |rowspan="2"| Client
  | Forced To Accept
+
  |JWT data
  | boolean
+
  |JWT String
|
 
|- | Scripting Enabled
 
| boolean
 
 
  |
 
  |
 
  |}
 
  |}
  
==== Resource Pack Stack ====
+
==== Client To Server Handshake ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 100: Line 165:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x07
+
  |rowspan="1"| 0x04
  |rowspan="1"| Client
+
  |rowspan="1"| Server
}
+
|}
  
==== Text ====
+
==== Disconnect ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 113: Line 178:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x09
+
  |rowspan="3"| 0x05
  |rowspan="1"| Client
+
  |rowspan="3"| Client
}
+
|Disconnect screen visibility
 +
|boolean
 +
|
 +
|-
 +
|Kick message
 +
|String
 +
|
 +
|}
  
==== Set Time ====
+
==== Resource Packs info ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 126: Line 198:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="2"| 0x0A
+
  |rowspan="1"| 0x06
  |rowspan="2"| Client
+
  |rowspan="1"| Client
|Time
 
|int
 
|
 
 
  |}
 
  |}
  
==== Start Game ====
+
==== Resource Pack Stack ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 142: Line 211:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x0B
+
  |rowspan="1"| 0x07
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Add Player ====
+
==== Resource Pack Response ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 155: Line 224:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x0C
+
  |rowspan="1"| 0x08
  |rowspan="1"| Client
+
  |rowspan="1"| Server
}
+
|}
  
==== Add Entity ====
+
==== Text ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 168: Line 237:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x0D
+
  |rowspan="1"| 0x09
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Remove Entity ====
+
==== Set Time ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 181: Line 250:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x0E
+
  |rowspan="2"| 0x0A
  |rowspan="1"| Client
+
  |rowspan="2"| Client
  | Unique Entity Id
+
  |Time
  | long
+
  |int
 
  |
 
  |
 
  |}
 
  |}
  
==== Add Item Entity ====
+
==== Start Game ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 197: Line 266:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x0F
+
  |rowspan="1"| 0x0B
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Take Item Entity ====
+
==== Add Player ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 210: Line 279:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x11
+
  |rowspan="1"| 0x0C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Item Runtime Entity Id
 
| ulong
 
|
 
|- | Runtime Entity Id
 
| ulong
 
|
 
 
  |}
 
  |}
  
==== Move Entity Absolute ====
+
==== Add Entity ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 229: Line 292:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x12
+
  |rowspan="1"| 0x0D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Move Player ====
+
==== Remove Entity ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 242: Line 305:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x13
+
  |rowspan="1"| 0x0E
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Rider Jump ====
+
==== Add Item Entity ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 255: Line 318:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x14
+
  |rowspan="1"| 0x0F
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Jump Strength
 
| int
 
|
 
 
  |}
 
  |}
  
==== Update Block ====
+
==== Take Item Entity ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 271: Line 331:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x15
+
  |rowspan="1"| 0x11
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Add Painting ====
+
==== Move Entity Absolute ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 284: Line 344:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x16
+
  |rowspan="1"| 0x12
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Unique Entity Id
+
  |}
| long
 
|
 
|- | Runtime Entity Id
 
| ulong
 
|
 
|- | Position X
 
| float
 
|
 
|- | Position Y
 
| float
 
|
 
|- | Position Z
 
| float
 
|
 
|- | Direction
 
| int
 
|
 
|- | Name
 
| String
 
|
 
  |}
 
  
==== Tick Sync ====
+
==== Move Player ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 318: Line 357:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x17
+
  |rowspan="1"| 0x13
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Request Timestamp
 
| long (little endian)
 
|
 
|- | Response Timestamp
 
| long (little endian)
 
|
 
 
  |}
 
  |}
  
==== Level Sound Event (1) ====
+
==== Rider Jump ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 337: Line 370:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x18
+
  |rowspan="1"| 0x14
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Level Event ====
+
==== Update Block ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 350: Line 383:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x19
+
  |rowspan="1"| 0x15
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Block Event ====
+
==== Add Painting ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 363: Line 396:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x1A
+
  |rowspan="1"| 0x16
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Block Position
+
  |}
| Position
 
|
 
|- | Event Type
 
| int
 
|
 
|- | Event Data
 
| int
 
|
 
  |}
 
  
==== Entity Event ====
+
==== Tick Sync ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 385: Line 409:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x1B
+
  |rowspan="1"| 0x17
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Mob Effect ====
+
==== Level Sound Event (1) ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 398: Line 422:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x1C
+
  |rowspan="1"| 0x18
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Update Attributes ====
+
==== Level Event ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 411: Line 435:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x1D
+
  |rowspan="1"| 0x19
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Inventory Transaction ====
+
==== Block Event ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 424: Line 448:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x1E
+
  |rowspan="1"| 0x1A
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Mob Equipment ====
+
==== Entity Event ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 437: Line 461:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x1F
+
  |rowspan="1"| 0x1B
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Mob Armor Equipment ====
+
==== Mob Effect ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 450: Line 474:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x20
+
  |rowspan="1"| 0x1C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Interact ====
+
==== Update Attributes ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 463: Line 487:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x21
+
  |rowspan="1"| 0x1D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Block Pick Request ====
+
==== Inventory Transaction ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 476: Line 500:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x22
+
  |rowspan="1"| 0x1E
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Block Position X
 
| int
 
|
 
|- | Block Position Y
 
| int
 
|
 
|- | Block Position Z
 
| int
 
|
 
|- | Add User Data
 
| boolean
 
|
 
|- | Hotbar Slot
 
| byte
 
|
 
 
  |}
 
  |}
  
==== Entity Pick Request ====
+
==== Mob Equipment ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 504: Line 513:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x23
+
  |rowspan="1"| 0x1F
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Runtime Entity Id
+
  |}
| long (little endian)
 
|
 
|- | Hotbar Slot
 
| byte
 
|
 
  |}
 
  
==== Player Action ====
+
==== Mob Armor Equipment ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 523: Line 526:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x24
+
  |rowspan="1"| 0x20
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Entity Fall ====
+
==== Interact ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 536: Line 539:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x25
+
  |rowspan="1"| 0x21
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Runtime Entity Id
 
| ulong
 
|
 
|- | Fall Distance
 
| float
 
|
 
|- | In Void
 
| boolean
 
|
 
 
  |}
 
  |}
  
==== Hurt Armor ====
+
 
 +
==== Block Pick Request ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 558: Line 553:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x26
+
  |rowspan="1"| 0x22
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Health
 
| int
 
|
 
 
  |}
 
  |}
  
==== Set Entity Data ====
+
==== Entity Pick Request ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 574: Line 566:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x27
+
  |rowspan="1"| 0x23
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Set Entity Motion ====
+
==== Player Action ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 587: Line 579:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x28
+
  |rowspan="1"| 0x24
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Runtime Entity Id
 
| ulong
 
|
 
|- | Motion X
 
| float
 
|
 
|- | Motion Y
 
| float
 
|
 
|- | Motion Z
 
| float
 
|
 
 
  |}
 
  |}
  
==== Set Entity Link ====
+
==== Entity Fall ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 612: Line 592:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x29
+
  |rowspan="1"| 0x25
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Set Health ====
+
==== Hurt Armor ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 625: Line 605:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="2"| 0x2A
+
  |rowspan="1"| 0x26
  |rowspan="2"| Client
+
  |rowspan="1"| Client
|Health
 
|int
 
|
 
 
  |}
 
  |}
  
==== Set Spawn Position ====
+
==== Set Entity Data ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 641: Line 618:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x2B
+
  |rowspan="1"| 0x27
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Animate ====
+
==== Set Entity Motion ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 654: Line 631:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x2C
+
  |rowspan="1"| 0x28
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Respawn ====
+
==== Set Entity Link ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 667: Line 644:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x2D
+
  |rowspan="1"| 0x29
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Position X
 
| float
 
|
 
|- | Position Y
 
| float
 
|
 
|- | Position Z
 
| float
 
|
 
|- | Runtime Entity Id
 
| ulong
 
|
 
 
  |}
 
  |}
  
==== Container Open ====
+
==== Set Health ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 692: Line 657:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x2E
+
  |rowspan="2"| 0x2A
  |rowspan="1"| Client
+
  |rowspan="2"| Client
  | Window Id
+
  |Health
  | byte
+
  |int
|
 
|- | Type
 
| byte
 
|
 
|- | Block Position
 
| Position
 
|
 
|- | Unique Entity Id
 
| long
 
 
  |
 
  |
 
  |}
 
  |}
  
==== Container Close ====
+
==== Set Spawn Position ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 717: Line 673:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x2F
+
  |rowspan="1"| 0x2B
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Window Id
 
| byte
 
|
 
 
  |}
 
  |}
  
==== Player Hotbar ====
+
==== Animate ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 733: Line 686:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x30
+
  |rowspan="1"| 0x2C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Selected Hotbar Slot
 
| uint
 
|
 
|- | Container Id
 
| byte
 
|
 
|- | Select Hotbar Slot
 
| boolean
 
|
 
 
  |}
 
  |}
  
==== Inventory Content ====
+
==== Respawn ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 755: Line 699:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x31
+
  |rowspan="1"| 0x2D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Inventory Slot ====
+
==== Container Open ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 768: Line 712:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x32
+
  |rowspan="1"| 0x2E
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Container Set Data ====
+
==== Container Close ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 781: Line 725:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x33
+
  |rowspan="1"| 0x2F
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Window Id
 
| byte
 
|
 
|- | Property
 
| int
 
|
 
|- | Value
 
| int
 
|
 
 
  |}
 
  |}
  
==== Crafting Data ====
+
==== Player Hotbar ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 803: Line 738:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x34
+
  |rowspan="1"| 0x30
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Crafting Event ====
+
==== Inventory Content ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 816: Line 751:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x35
+
  |rowspan="1"| 0x31
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Gui Data Pick Item ====
+
==== Inventory Slot ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 829: Line 764:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x36
+
  |rowspan="1"| 0x32
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Adventure Settings ====
+
==== Container Set Data ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 842: Line 777:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x37
+
  |rowspan="1"| 0x33
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Block Entity Data ====
+
==== Crafting Data ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 855: Line 790:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x38
+
  |rowspan="1"| 0x34
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Player Input ====
+
==== Crafting Event ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 868: Line 803:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x39
+
  |rowspan="1"| 0x35
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Level Chunk ====
+
==== Gui Data Pick Item ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 881: Line 816:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x3A
+
  |rowspan="1"| 0x36
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Set Commands Enabled ====
+
==== Adventure Settings ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 894: Line 829:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="2"| 0x3B
+
  |rowspan="1"| 0x37
  |rowspan="2"| Client
+
  |rowspan="1"| Client
|Commands enabled
 
|boolean
 
|
 
 
  |}
 
  |}
  
==== Set Difficulty ====
+
==== Block Entity Data ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 910: Line 842:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x3C
+
  |rowspan="1"| 0x38
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
|Difficulty
 
|int
 
|
 
 
  |}
 
  |}
  
==== Change Dimension ====
+
==== Player Input ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 926: Line 855:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x3D
+
  |rowspan="1"| 0x39
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Dimension
 
| int
 
|
 
|- | Position X
 
| float
 
|
 
|- | Position Y
 
| float
 
|
 
|- | Position Z
 
| float
 
|
 
|- | Respawn
 
| boolean
 
|
 
 
  |}
 
  |}
  
==== Set Player Game Type ====
+
==== Level Chunk ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 954: Line 868:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x3E
+
  |rowspan="1"| 0x3A
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
|Game mode
 
|int
 
|
 
 
  |}
 
  |}
  
==== Player List ====
+
==== Set Commands Enabled ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 970: Line 881:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x3F
+
  |rowspan="2"| 0x3B
  |rowspan="1"| Client
+
  |rowspan="2"| Client
}
+
|Commands enabled
 +
|boolean
 +
|
 +
|}
  
==== Simple Event ====
+
==== Set Difficulty ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 983: Line 897:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x40
+
  |rowspan="1"| 0x3C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|Difficulty
 +
|int
 +
|
 +
|}
  
==== Event ====
+
==== Change Dimension ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 996: Line 913:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x41
+
  |rowspan="1"| 0x3D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Spawn Experience Orb ====
+
==== Set Player Game Type ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,009: Line 926:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x42
+
  |rowspan="1"| 0x3E
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
  | Position X
+
  |Game mode
| float
+
  |int
|
 
|- | Position Y
 
| float
 
|
 
|- | Position Z
 
| float
 
|
 
|- | Amount
 
  | int
 
 
  |
 
  |
 
  |}
 
  |}
  
==== Map Item Data ====
+
==== Player List ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,034: Line 942:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x43
+
  |rowspan="1"| 0x3F
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Map Info Request ====
+
==== Simple Event ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,047: Line 955:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x44
+
  |rowspan="1"| 0x40
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Unique Map Id
 
| long
 
|
 
 
  |}
 
  |}
  
==== Request Chunk Radius ====
+
==== Event ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,063: Line 968:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x45
+
  |rowspan="1"| 0x41
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
|Chunk radius
 
|int
 
|
 
 
  |}
 
  |}
  
==== Chunk Radius Updated ====
+
==== Spawn Experience Orb====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,079: Line 981:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x46
+
  |rowspan="1"| 0x42
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
|Chunk radius
 
|int
 
|
 
 
  |}
 
  |}
  
==== ItemFrame Drop Item ====
+
==== Map Item Data ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,095: Line 994:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x47
+
  |rowspan="1"| 0x43
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Block Position X
 
| int
 
|
 
|- | Block Position Y
 
| int
 
|
 
|- | Block Position Z
 
| int
 
|
 
 
  |}
 
  |}
  
==== Game Rules Changed ====
+
==== Map Info Request ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,117: Line 1,007:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x48
+
  |rowspan="1"| 0x44
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Camera ====
+
==== Request Chunk Radius ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,130: Line 1,020:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x49
+
  |rowspan="1"| 0x45
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
  | Camera Unique Entity Id
+
  |Chunk radius
  | long
+
  |int
|
 
|- | Player Unique Entity Id
 
| long
 
 
  |
 
  |
 
  |}
 
  |}
  
==== Boss Event ====
+
==== Chunk Radius Updated ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,149: Line 1,036:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x4A
+
  |rowspan="1"| 0x46
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|Chunk radius
 
+
|int
==== Show Credits ====
+
|
 +
|}
 +
 
 +
==== ItemFrame Drop Item ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,162: Line 1,052:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x4B
+
  |rowspan="1"| 0x47
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Available Commands ====
+
==== Game Rules Changed ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,175: Line 1,065:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x4C
+
  |rowspan="1"| 0x48
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Command Request ====
+
==== Camera ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,188: Line 1,078:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x4D
+
  |rowspan="1"| 0x49
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== CommandBlock Update ====
+
==== Boss Event ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,201: Line 1,091:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x4E
+
  |rowspan="1"| 0x4A
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Command Output ====
+
==== Show Credits ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,214: Line 1,104:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x4F
+
  |rowspan="1"| 0x4B
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Update Trade ====
+
==== Available Commands ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,227: Line 1,117:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x50
+
  |rowspan="1"| 0x4C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Update Equip ====
+
==== Command Request ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,240: Line 1,130:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x51
+
  |rowspan="1"| 0x4D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Resource Pack Data Info ====
+
==== CommandBlock Update====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,253: Line 1,143:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x52
+
  |rowspan="1"| 0x4E
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Resource Pack Chunk Data ====
+
==== Command Output ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,266: Line 1,156:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x53
+
  |rowspan="1"| 0x4F
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Resource Pack Chunk Request ====
+
==== Update Trade ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,279: Line 1,169:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x54
+
  |rowspan="1"| 0x50
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Transfer ====
+
==== Update Equip ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,292: Line 1,182:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="2"| 0x55
+
  |rowspan="1"| 0x51
  |rowspan="2"| Client
+
  |rowspan="1"| Client
  |Address
+
  |}
  |String
+
 
  |
+
==== Resource Pack Data Info ====
 +
 
 +
{| class="wikitable"
 +
! Packet ID
 +
! Bound To
 +
! Field Name
 +
  ! Field Type
 +
  ! Notes
 
  |-
 
  |-
  |Port
+
  |rowspan="1"| 0x52
  |int
+
  |rowspan="1"| Client
|
 
 
  |}
 
  |}
  
==== Play Sound ====
+
==== Resource Pack Chunk Data ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,312: Line 1,208:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="4"| 0x56
+
  |rowspan="1"| 0x53
  |rowspan="4"| Client
+
  |rowspan="1"| Client
|Sound name
+
  |}
|String
+
 
|
+
==== Resource Pack Chunk Request ====
|-
 
|Sound position
 
|Position
 
|
 
|-
 
|Volume
 
|float
 
|
 
|-
 
|Pitch
 
|float
 
|
 
  |}
 
 
 
==== Stop Sound ====
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,340: Line 1,221:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x57
+
  |rowspan="1"| 0x54
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Sound Name
 
| String
 
|
 
|- | Stopping All Sound
 
| boolean
 
|
 
 
  |}
 
  |}
  
==== Set Title ====
+
==== Transfer ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,359: Line 1,234:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x58
+
  |rowspan="2"| 0x55
  |rowspan="1"| Client
+
  |rowspan="2"| Client
}
+
|Address
 
+
|String
==== Add Behavior Tree ====
+
|
 +
|-
 +
|Port
 +
|int
 +
|
 +
|}
 +
 
 +
==== Play Sound ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,372: Line 1,254:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x59
+
  |rowspan="4"| 0x56
  |rowspan="1"| Client
+
  |rowspan="4"| Client
  | Behavior Tree Json
+
  |Sound name
  | String
+
  |String
 +
|
 +
|-
 +
|Sound position
 +
|Position
 +
|
 +
|-
 +
|Volume
 +
|float
 +
|
 +
|-
 +
|Pitch
 +
|float
 
  |
 
  |
 
  |}
 
  |}
  
==== Structure Block Update ====
+
==== Stop Sound ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,388: Line 1,282:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x5A
+
  |rowspan="1"| 0x57
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Show Store Offer ====
+
==== Set Title ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,401: Line 1,295:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x5B
+
  |rowspan="1"| 0x58
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Offer Id
 
| String
 
|
 
|- | Shown To All
 
| boolean
 
|
 
 
  |}
 
  |}
  
==== Purchase Receipt ====
+
==== Add Behavior Tree ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,420: Line 1,308:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x5C
+
  |rowspan="1"| 0x59
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Player Skin ====
+
==== Structure Block Update ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,433: Line 1,321:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x5D
+
  |rowspan="1"| 0x5A
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Sub Client Login ====
+
==== Show Store Offer ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,446: Line 1,334:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x5E
+
  |rowspan="1"| 0x5B
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Automation Client Connect ====
+
==== Purchase Receipt ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,459: Line 1,347:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x5F
+
  |rowspan="1"| 0x5C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Address
 
| String
 
|
 
 
  |}
 
  |}
  
==== Set Last Hurt By ====
+
==== Player Skin ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,475: Line 1,360:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x60
+
  |rowspan="1"| 0x5D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Entity Type Id
 
| int
 
|
 
 
  |}
 
  |}
  
==== Book Edit ====
+
==== Sub Client Login ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,491: Line 1,373:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x61
+
  |rowspan="1"| 0x5E
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Npc Request ====
+
==== Automation Client Connect ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,504: Line 1,386:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x62
+
  |rowspan="1"| 0x5F
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Photo Transfer ====
+
==== Set Last Hurt By ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,517: Line 1,399:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x63
+
  |rowspan="1"| 0x60
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Model Form Request ====
+
==== Book Edit ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,530: Line 1,412:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x64
+
  |rowspan="1"| 0x61
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Form Id
 
| uint
 
|
 
|- | Form Data
 
| String
 
|
 
 
  |}
 
  |}
  
==== Model Form Response ====
+
==== Npc Request ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,549: Line 1,425:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x65
+
  |rowspan="1"| 0x62
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Form Id
 
| uint
 
|
 
|- | Form Data
 
| String
 
|
 
 
  |}
 
  |}
  
==== Server Settings Request ====
+
==== Photo Transfer ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,568: Line 1,438:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x66
+
  |rowspan="1"| 0x63
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Server Settings Response ====
+
==== Model Form Request ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,581: Line 1,451:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x67
+
  |rowspan="1"| 0x64
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Form Id
 
| uint
 
|
 
|- | Form Data
 
| String
 
|
 
 
  |}
 
  |}
  
==== Show Profile ====
+
==== Model Form Response  ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,600: Line 1,464:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x68
+
  |rowspan="1"| 0x65
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Xuid
 
| String
 
|
 
 
  |}
 
  |}
  
==== Set Default Game Type ====
+
==== Server Settings Request ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,616: Line 1,477:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x69
+
  |rowspan="1"| 0x66
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
|Game mode
 
|int
 
|
 
 
  |}
 
  |}
  
==== Remove Objective ====
+
==== Server Settings Response ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,632: Line 1,490:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x6A
+
  |rowspan="1"| 0x67
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Objective Id
 
| String
 
|
 
 
  |}
 
  |}
  
==== Set Display Objective ====
+
==== Show Profile ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,648: Line 1,503:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x6B
+
  |rowspan="1"| 0x68
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Display Slot
 
| String
 
|
 
|- | Objective Id
 
| String
 
|
 
|- | Display Name
 
| String
 
|
 
|- | Criteria
 
| String
 
|
 
|- | Sort Order
 
| int
 
|
 
 
  |}
 
  |}
  
==== Set Score ====
+
==== Set Default Game Type ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,676: Line 1,516:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x6C
+
  |rowspan="1"| 0x69
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|Game mode
 +
|int
 +
|
 +
|}
  
==== Lab Table ====
+
==== Remove Objective ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,689: Line 1,532:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x6D
+
  |rowspan="1"| 0x6A
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Unknown Byte 0
+
  |}
| byte
+
 
|
+
==== Set Display Objective ====
|- | Block Entity Position X
+
 
| int
 
|
 
|- | Block Entity Position Y
 
| int
 
|
 
|- | Block Entity Position Z
 
| int
 
|
 
|- | Reaction Type
 
| byte
 
|
 
  |}
 
 
 
==== Update Block Synced ====
 
 
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  ! Packet ID
 
  ! Packet ID
Line 1,717: Line 1,545:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x6E
+
  |rowspan="1"| 0x6B
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Move Entity Delta ====
+
==== Set Score ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,730: Line 1,558:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x6F
+
  |rowspan="1"| 0x6C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Set Scoreboard Identity ====
+
==== Lab Table ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,743: Line 1,571:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x70
+
  |rowspan="1"| 0x6D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Set Local Player As Initialized ====
+
==== Update Block Synced ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,756: Line 1,584:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x71
+
  |rowspan="1"| 0x6E
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Runtime Entity Id
 
| ulong
 
|
 
 
  |}
 
  |}
  
==== Update Soft Enum ====
+
==== Move Entity Delta ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,772: Line 1,597:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x72
+
  |rowspan="1"| 0x6F
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Network Stack Latency ====
+
==== Set Scoreboard Identity ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,785: Line 1,610:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x73
+
  |rowspan="1"| 0x70
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Timestamp
 
| long (little endian)
 
|
 
|- | Send Back
 
| boolean
 
|
 
 
  |}
 
  |}
  
==== Script Custom Event ====
+
==== Set Local Player As Initialized ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,804: Line 1,623:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x75
+
  |rowspan="1"| 0x71
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Event Name
 
| String
 
|
 
|- | Data
 
| String
 
|
 
 
  |}
 
  |}
  
==== Spawn Particle Effect ====
+
==== Update Soft Enum ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,823: Line 1,636:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x76
+
  |rowspan="1"| 0x72
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Dimension Id
 
| byte
 
|
 
|- | Unique Entity Id
 
| long
 
|
 
|- | Position X
 
| float
 
|
 
|- | Position Y
 
| float
 
|
 
|- | Position Z
 
| float
 
|
 
|- | Identifier
 
| String
 
|
 
 
  |}
 
  |}
  
==== Available Entity Identifiers ====
+
==== Network Stack Latency ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,854: Line 1,649:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x77
+
  |rowspan="1"| 0x73
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Level Sound Event (2) ====
+
==== Script Custom Event ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,867: Line 1,662:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x78
+
  |rowspan="1"| 0x75
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Network Chunk Publisher Update ====
+
==== Spawn Particle Effect ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,880: Line 1,675:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x79
+
  |rowspan="1"| 0x76
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Position X
 
| int
 
|
 
|- | Position Y
 
| int
 
|
 
|- | Position Z
 
| int
 
|
 
|- | Radius
 
| uint
 
|
 
 
  |}
 
  |}
  
==== Biome Definition List ====
+
==== Available Entity Identifiers ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,905: Line 1,688:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x7A
+
  |rowspan="1"| 0x77
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Level Sound Event (3) ====
+
==== Level Sound Event (2) ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,918: Line 1,701:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x7B
+
  |rowspan="1"| 0x78
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Level Event Generic ====
+
==== Network Chunk Publisher Update ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,931: Line 1,714:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x7C
+
  |rowspan="1"| 0x79
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Lectern Update ====
+
==== Biome Definition List ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,944: Line 1,727:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x7D
+
  |rowspan="1"| 0x7A
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Page
 
| byte
 
|
 
|- | Total Pages
 
| byte
 
|
 
|- | Block Position
 
| Position
 
|
 
|- | Dropping Book
 
| boolean
 
|
 
 
  |}
 
  |}
  
==== Video Stream Connect ====
+
==== Level Sound Event (3) ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,969: Line 1,740:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x7E
+
  |rowspan="1"| 0x7B
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Client Cache Status ====
+
==== Level Event Generic ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,982: Line 1,753:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x81
+
  |rowspan="1"| 0x7C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Supported
 
| boolean
 
|
 
 
  |}
 
  |}
  
==== On Screen Texture Animation ====
+
==== Lectern Update ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 1,998: Line 1,766:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x82
+
  |rowspan="1"| 0x7D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Map Create Locked Copy ====
+
==== Video Stream Connect ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 2,011: Line 1,779:
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="1"| 0x83
+
  |rowspan="1"| 0x7E
  |rowspan="1"| Client
+
|rowspan="1"| Client
  | Original Map Id
+
|}
  | long
+
 
  |
+
==== Client Cache Status ====
  |- | New Map Id
+
 
  | long
+
{| class="wikitable"
  |
+
! Packet ID
 +
! Bound To
 +
! Field Name
 +
! Field Type
 +
! Notes
 +
|-
 +
|rowspan="1"| 0x81
 +
|rowspan="1"| Client
 +
|}
 +
 
 +
==== On Screen Texture Animation ====
 +
 
 +
{| class="wikitable"
 +
! Packet ID
 +
! Bound To
 +
! Field Name
 +
! Field Type
 +
! Notes
 +
|-
 +
|rowspan="1"| 0x82
 +
  |rowspan="1"| Client
 +
  |}
 +
 
 +
==== Map Create Locked Copy ====
 +
 
 +
{| class="wikitable"
 +
! Packet ID
 +
! Bound To
 +
! Field Name
 +
! Field Type
 +
! Notes
 +
  |-
 +
  |rowspan="1"| 0x83
 +
|rowspan="1"| Client
 +
|}
 +
 
 +
==== Structure Template Data Export Request ====
 +
 
 +
{| class="wikitable"
 +
! Packet ID
 +
! Bound To
 +
! Field Name
 +
! Field Type
 +
! Notes
 +
  |-
 +
|rowspan="1"| 0x84
 +
|rowspan="1"| Client
 +
|}
 +
 
 +
==== Structure Template Data Export Response ====
 +
 
 +
{| class="wikitable"
 +
! Packet ID
 +
! Bound To
 +
! Field Name
 +
! Field Type
 +
! Notes
 +
|-
 +
  |rowspan="1"| 0x85
 +
  |rowspan="1"| Client
 
  |}
 
  |}
 
==== Structure Template Data Export Request ====
 
 
{| class="wikitable"
 
! Packet ID
 
! Bound To
 
! Field Name
 
! Field Type
 
! Notes
 
|-
 
|rowspan="1"| 0x84
 
|rowspan="1"| Client
 
}
 
 
==== Structure Template Data Export Response ====
 
 
{| class="wikitable"
 
! Packet ID
 
! Bound To
 
! Field Name
 
! Field Type
 
! Notes
 
|-
 
|rowspan="1"| 0x85
 
|rowspan="1"| Client
 
}
 
  
 
==== Update Block Properties ====
 
==== Update Block Properties ====
Line 2,058: Line 1,859:
 
  |rowspan="1"| 0x86
 
  |rowspan="1"| 0x86
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
==== Client Cache Blob Status ====
+
==== Client Cache Blob Status====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 2,071: Line 1,872:
 
  |rowspan="1"| 0x87
 
  |rowspan="1"| 0x87
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
 
==== Client Cache Miss Response ====
 
==== Client Cache Miss Response ====
Line 2,084: Line 1,885:
 
  |rowspan="1"| 0x88
 
  |rowspan="1"| 0x88
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
 
==== Education Settings ====
 
==== Education Settings ====
Line 2,097: Line 1,898:
 
  |rowspan="1"| 0x89
 
  |rowspan="1"| 0x89
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Settings
 
| String
 
|
 
|- | Unknown 0
 
| boolean
 
|
 
 
  |}
 
  |}
  
Line 2,116: Line 1,911:
 
  |rowspan="1"| 0x8A
 
  |rowspan="1"| 0x8A
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Runtime Entity Id
 
| ulong
 
|
 
|- | Emote Id
 
| String
 
|
 
|- | Flags
 
| byte
 
|
 
 
  |}
 
  |}
  
Line 2,138: Line 1,924:
 
  |rowspan="1"| 0x8B
 
  |rowspan="1"| 0x8B
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
 
==== Settings Command ====
 
==== Settings Command ====
Line 2,151: Line 1,937:
 
  |rowspan="1"| 0x8C
 
  |rowspan="1"| 0x8C
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Command
 
| String
 
|
 
|- | Suppressing Output
 
| boolean
 
|
 
 
  |}
 
  |}
  
Line 2,170: Line 1,950:
 
  |rowspan="1"| 0x8D
 
  |rowspan="1"| 0x8D
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
| Damage
 
| byte
 
|
 
|- | Position
 
| Position
 
|
 
 
  |}
 
  |}
  
Line 2,189: Line 1,963:
 
  |rowspan="1"| 0x8E
 
  |rowspan="1"| 0x8E
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
 
==== Network Settings ====
 
==== Network Settings ====
Line 2,202: Line 1,976:
 
  |rowspan="1"| 0x8F
 
  |rowspan="1"| 0x8F
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
  
 
==== Player Auth Input ====
 
==== Player Auth Input ====
Line 2,215: Line 1,989:
 
  |rowspan="1"| 0x90
 
  |rowspan="1"| 0x90
 
  |rowspan="1"| Client
 
  |rowspan="1"| Client
}
+
|}
 +
 
 +
[[Category:Bedrock Minecraft]]

Revision as of 16:33, 7 May 2020

Remember that this page is a WIP, it is not even added to the Main Page. Come back later to see a more complete page.

Heads up!

This article is about the protocol for the latest stable release of Minecraft Bedrock Edition (1.14.30, protocol 389). See Protocol for the Java Edition Protocol.

This is the Bedrock Edition Protocol Documentation. The Bedrock Edition Protocol uses UDP instead of TCP what is used for the Java Edition.
The Bedrock Edition Client uses RakNet as its protocol library.

The default Bedrock Edition port is 19132

Contents

Data types

Size (bytes) Range Notes
byte 1 0 to 255
boolean 1 0 or 1 A byte treated as boolean, 0 is false but anything greater then that is true
short 2 -32768 to 32767
ushort 2 0 to 65535
int 4 -2147483648 to 2147483647 Signed 32-bit integer
uint 4 0 to 4294967295 Unsigned 32-bit integer
long 8 -2^63 to 2^63-1 Signed 64-bit integer
ulong 8 2^64-1 Unsigned 64-bit integer
float 4 A single-precision 32-bit IEEE 754 floating point number
double 8 A double-precision 64-bit IEEE 754 floating point number
VarInt ≥ 1
≤ 5
-2147483648 and 2147483647
VarLong ≥ 1
≤ 10
-2^63 and 2^63-1
UUID 16 A UUID Encoded as two unsigned 64-bit integers: the most significant 64 bits and the least significant 64 bits


Packet Format

Login process

Packets

Please note that some packet ids are missing, so they don't line up. The following packet ids are missing: 0x10, 0x74, 0x7F, 0x80 (16, 116, 127, 128)

Login

Packet ID Bound To Field Name Field Type Notes
0x01 Client Protocol version int
Chain data JWT String Contains the display name, UUID and XUID
Skin data JWT String

Play Status

Packet ID Bound To Field Name Field Type Notes
0x02 Client

Server To Client Handshake

Packet ID Bound To Field Name Field Type Notes
0x03 Client JWT data JWT String

Client To Server Handshake

Packet ID Bound To Field Name Field Type Notes
0x04 Server

Disconnect

Packet ID Bound To Field Name Field Type Notes
0x05 Client Disconnect screen visibility boolean
Kick message String

Resource Packs info

Packet ID Bound To Field Name Field Type Notes
0x06 Client

Resource Pack Stack

Packet ID Bound To Field Name Field Type Notes
0x07 Client

Resource Pack Response

Packet ID Bound To Field Name Field Type Notes
0x08 Server

Text

Packet ID Bound To Field Name Field Type Notes
0x09 Client

Set Time

Packet ID Bound To Field Name Field Type Notes
0x0A Client Time int

Start Game

Packet ID Bound To Field Name Field Type Notes
0x0B Client

Add Player

Packet ID Bound To Field Name Field Type Notes
0x0C Client

Add Entity

Packet ID Bound To Field Name Field Type Notes
0x0D Client

Remove Entity

Packet ID Bound To Field Name Field Type Notes
0x0E Client

Add Item Entity

Packet ID Bound To Field Name Field Type Notes
0x0F Client

Take Item Entity

Packet ID Bound To Field Name Field Type Notes
0x11 Client

Move Entity Absolute

Packet ID Bound To Field Name Field Type Notes
0x12 Client

Move Player

Packet ID Bound To Field Name Field Type Notes
0x13 Client

Rider Jump

Packet ID Bound To Field Name Field Type Notes
0x14 Client

Update Block

Packet ID Bound To Field Name Field Type Notes
0x15 Client

Add Painting

Packet ID Bound To Field Name Field Type Notes
0x16 Client

Tick Sync

Packet ID Bound To Field Name Field Type Notes
0x17 Client

Level Sound Event (1)

Packet ID Bound To Field Name Field Type Notes
0x18 Client

Level Event

Packet ID Bound To Field Name Field Type Notes
0x19 Client

Block Event

Packet ID Bound To Field Name Field Type Notes
0x1A Client

Entity Event

Packet ID Bound To Field Name Field Type Notes
0x1B Client

Mob Effect

Packet ID Bound To Field Name Field Type Notes
0x1C Client

Update Attributes

Packet ID Bound To Field Name Field Type Notes
0x1D Client

Inventory Transaction

Packet ID Bound To Field Name Field Type Notes
0x1E Client

Mob Equipment

Packet ID Bound To Field Name Field Type Notes
0x1F Client

Mob Armor Equipment

Packet ID Bound To Field Name Field Type Notes
0x20 Client

Interact

Packet ID Bound To Field Name Field Type Notes
0x21 Client


Block Pick Request

Packet ID Bound To Field Name Field Type Notes
0x22 Client

Entity Pick Request

Packet ID Bound To Field Name Field Type Notes
0x23 Client

Player Action

Packet ID Bound To Field Name Field Type Notes
0x24 Client

Entity Fall

Packet ID Bound To Field Name Field Type Notes
0x25 Client

Hurt Armor

Packet ID Bound To Field Name Field Type Notes
0x26 Client

Set Entity Data

Packet ID Bound To Field Name Field Type Notes
0x27 Client

Set Entity Motion

Packet ID Bound To Field Name Field Type Notes
0x28 Client

Set Entity Link

Packet ID Bound To Field Name Field Type Notes
0x29 Client

Set Health

Packet ID Bound To Field Name Field Type Notes
0x2A Client Health int

Set Spawn Position

Packet ID Bound To Field Name Field Type Notes
0x2B Client

Animate

Packet ID Bound To Field Name Field Type Notes
0x2C Client

Respawn

Packet ID Bound To Field Name Field Type Notes
0x2D Client

Container Open

Packet ID Bound To Field Name Field Type Notes
0x2E Client

Container Close

Packet ID Bound To Field Name Field Type Notes
0x2F Client

Player Hotbar

Packet ID Bound To Field Name Field Type Notes
0x30 Client

Inventory Content

Packet ID Bound To Field Name Field Type Notes
0x31 Client

Inventory Slot

Packet ID Bound To Field Name Field Type Notes
0x32 Client

Container Set Data

Packet ID Bound To Field Name Field Type Notes
0x33 Client

Crafting Data

Packet ID Bound To Field Name Field Type Notes
0x34 Client

Crafting Event

Packet ID Bound To Field Name Field Type Notes
0x35 Client

Gui Data Pick Item

Packet ID Bound To Field Name Field Type Notes
0x36 Client

Adventure Settings

Packet ID Bound To Field Name Field Type Notes
0x37 Client

Block Entity Data

Packet ID Bound To Field Name Field Type Notes
0x38 Client

Player Input

Packet ID Bound To Field Name Field Type Notes
0x39 Client

Level Chunk

Packet ID Bound To Field Name Field Type Notes
0x3A Client

Set Commands Enabled

Packet ID Bound To Field Name Field Type Notes
0x3B Client Commands enabled boolean

Set Difficulty

Packet ID Bound To Field Name Field Type Notes
0x3C Client Difficulty int

Change Dimension

Packet ID Bound To Field Name Field Type Notes
0x3D Client

Set Player Game Type

Packet ID Bound To Field Name Field Type Notes
0x3E Client Game mode int

Player List

Packet ID Bound To Field Name Field Type Notes
0x3F Client

Simple Event

Packet ID Bound To Field Name Field Type Notes
0x40 Client

Event

Packet ID Bound To Field Name Field Type Notes
0x41 Client

Spawn Experience Orb

Packet ID Bound To Field Name Field Type Notes
0x42 Client

Map Item Data

Packet ID Bound To Field Name Field Type Notes
0x43 Client

Map Info Request

Packet ID Bound To Field Name Field Type Notes
0x44 Client

Request Chunk Radius

Packet ID Bound To Field Name Field Type Notes
0x45 Client Chunk radius int

Chunk Radius Updated

Packet ID Bound To Field Name Field Type Notes
0x46 Client Chunk radius int

ItemFrame Drop Item

Packet ID Bound To Field Name Field Type Notes
0x47 Client

Game Rules Changed

Packet ID Bound To Field Name Field Type Notes
0x48 Client

Camera

Packet ID Bound To Field Name Field Type Notes
0x49 Client

Boss Event

Packet ID Bound To Field Name Field Type Notes
0x4A Client

Show Credits

Packet ID Bound To Field Name Field Type Notes
0x4B Client

Available Commands

Packet ID Bound To Field Name Field Type Notes
0x4C Client

Command Request

Packet ID Bound To Field Name Field Type Notes
0x4D Client

CommandBlock Update

Packet ID Bound To Field Name Field Type Notes
0x4E Client

Command Output

Packet ID Bound To Field Name Field Type Notes
0x4F Client

Update Trade

Packet ID Bound To Field Name Field Type Notes
0x50 Client

Update Equip

Packet ID Bound To Field Name Field Type Notes
0x51 Client

Resource Pack Data Info

Packet ID Bound To Field Name Field Type Notes
0x52 Client

Resource Pack Chunk Data

Packet ID Bound To Field Name Field Type Notes
0x53 Client

Resource Pack Chunk Request

Packet ID Bound To Field Name Field Type Notes
0x54 Client

Transfer

Packet ID Bound To Field Name Field Type Notes
0x55 Client Address String
Port int

Play Sound

Packet ID Bound To Field Name Field Type Notes
0x56 Client Sound name String
Sound position Position
Volume float
Pitch float

Stop Sound

Packet ID Bound To Field Name Field Type Notes
0x57 Client

Set Title

Packet ID Bound To Field Name Field Type Notes
0x58 Client

Add Behavior Tree

Packet ID Bound To Field Name Field Type Notes
0x59 Client

Structure Block Update

Packet ID Bound To Field Name Field Type Notes
0x5A Client

Show Store Offer

Packet ID Bound To Field Name Field Type Notes
0x5B Client

Purchase Receipt

Packet ID Bound To Field Name Field Type Notes
0x5C Client

Player Skin

Packet ID Bound To Field Name Field Type Notes
0x5D Client

Sub Client Login

Packet ID Bound To Field Name Field Type Notes
0x5E Client

Automation Client Connect

Packet ID Bound To Field Name Field Type Notes
0x5F Client

Set Last Hurt By

Packet ID Bound To Field Name Field Type Notes
0x60 Client

Book Edit

Packet ID Bound To Field Name Field Type Notes
0x61 Client

Npc Request

Packet ID Bound To Field Name Field Type Notes
0x62 Client

Photo Transfer

Packet ID Bound To Field Name Field Type Notes
0x63 Client

Model Form Request

Packet ID Bound To Field Name Field Type Notes
0x64 Client

Model Form Response

Packet ID Bound To Field Name Field Type Notes
0x65 Client

Server Settings Request

Packet ID Bound To Field Name Field Type Notes
0x66 Client

Server Settings Response

Packet ID Bound To Field Name Field Type Notes
0x67 Client

Show Profile

Packet ID Bound To Field Name Field Type Notes
0x68 Client

Set Default Game Type

Packet ID Bound To Field Name Field Type Notes
0x69 Client Game mode int

Remove Objective

Packet ID Bound To Field Name Field Type Notes
0x6A Client

Set Display Objective

Packet ID Bound To Field Name Field Type Notes
0x6B Client

Set Score

Packet ID Bound To Field Name Field Type Notes
0x6C Client

Lab Table

Packet ID Bound To Field Name Field Type Notes
0x6D Client

Update Block Synced

Packet ID Bound To Field Name Field Type Notes
0x6E Client

Move Entity Delta

Packet ID Bound To Field Name Field Type Notes
0x6F Client

Set Scoreboard Identity

Packet ID Bound To Field Name Field Type Notes
0x70 Client

Set Local Player As Initialized

Packet ID Bound To Field Name Field Type Notes
0x71 Client

Update Soft Enum

Packet ID Bound To Field Name Field Type Notes
0x72 Client

Network Stack Latency

Packet ID Bound To Field Name Field Type Notes
0x73 Client

Script Custom Event

Packet ID Bound To Field Name Field Type Notes
0x75 Client

Spawn Particle Effect

Packet ID Bound To Field Name Field Type Notes
0x76 Client

Available Entity Identifiers

Packet ID Bound To Field Name Field Type Notes
0x77 Client

Level Sound Event (2)

Packet ID Bound To Field Name Field Type Notes
0x78 Client

Network Chunk Publisher Update

Packet ID Bound To Field Name Field Type Notes
0x79 Client

Biome Definition List

Packet ID Bound To Field Name Field Type Notes
0x7A Client

Level Sound Event (3)

Packet ID Bound To Field Name Field Type Notes
0x7B Client

Level Event Generic

Packet ID Bound To Field Name Field Type Notes
0x7C Client

Lectern Update

Packet ID Bound To Field Name Field Type Notes
0x7D Client

Video Stream Connect

Packet ID Bound To Field Name Field Type Notes
0x7E Client

Client Cache Status

Packet ID Bound To Field Name Field Type Notes
0x81 Client

On Screen Texture Animation

Packet ID Bound To Field Name Field Type Notes
0x82 Client

Map Create Locked Copy

Packet ID Bound To Field Name Field Type Notes
0x83 Client

Structure Template Data Export Request

Packet ID Bound To Field Name Field Type Notes
0x84 Client

Structure Template Data Export Response

Packet ID Bound To Field Name Field Type Notes
0x85 Client

Update Block Properties

Packet ID Bound To Field Name Field Type Notes
0x86 Client

Client Cache Blob Status

Packet ID Bound To Field Name Field Type Notes
0x87 Client

Client Cache Miss Response

Packet ID Bound To Field Name Field Type Notes
0x88 Client

Education Settings

Packet ID Bound To Field Name Field Type Notes
0x89 Client

Emote

Packet ID Bound To Field Name Field Type Notes
0x8A Client

Multiplayer Settings

Packet ID Bound To Field Name Field Type Notes
0x8B Client

Settings Command

Packet ID Bound To Field Name Field Type Notes
0x8C Client

Anvil Damage

Packet ID Bound To Field Name Field Type Notes
0x8D Client

Completed Using Item

Packet ID Bound To Field Name Field Type Notes
0x8E Client

Network Settings

Packet ID Bound To Field Name Field Type Notes
0x8F Client

Player Auth Input

Packet ID Bound To Field Name Field Type Notes
0x90 Client