Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
(Updated to 1.21-pre2)
 
(760 intermediate revisions by 48 users not shown)
Line 1: Line 1:
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.12.2, protocol 340]]) to the current pre-release (currently [[Protocol version numbers|17w46a, protocol 345]]). Note that this page contains bleeding-edge information that may not be completely or correctly documented.
+
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.20.6, protocol 766]]) to the current pre-release (currently [[Protocol version numbers|1.21-pre2, protocol {{Snapshot PVN|1073742024}}]]). Note that this page contains bleeding-edge information that may not be completely or correctly documented.
  
 
One who wishes to commandeer the merging of this into [[Protocol]] when an update is made must be sure to respect any changes that may have occurred to the respective packets there.
 
One who wishes to commandeer the merging of this into [[Protocol]] when an update is made must be sure to respect any changes that may have occurred to the respective packets there.
Line 9: Line 9:
 
=== Data types ===
 
=== Data types ===
  
No changes so far.
+
No changes documented so far.
  
 
=== Packets ===
 
=== Packets ===
Line 18: Line 18:
 
  !colspan="2"| Documentation
 
  !colspan="2"| Documentation
 
  |-
 
  |-
!colspan="4"| Handshaking serverbound
+
!colspan="4"| Configuration clientbound
{{PacketList|0x00|Handshake}}
+
{{PacketList|0x0F|Clientbound Report Details (configuration)|rel=added}}
 +
{{PacketList|0x10|Clientbound Server Links (configuration)|rel=added}}
 
  |-
 
  |-
!colspan="4"| Play clientbound
+
!colspan="4"| Play clientbound
{{PacketList|{{change|0x0F|0x0E}}|Chat Message (clientbound)|pre=unchanged}}
+
{{PacketList|0x7A|Clientbound Report Details (play)|rel=added}}
{{PacketList|{{change|0x10|0x0F}}|Multi Block Change|pre=unchanged}}
+
{{PacketList|0x7B|Clientbound Server Links (play)|rel=added}}
{{PacketList|{{change|0x0E|0x10}}|Tab-Complete (clientbound)}}
 
{{PacketList|0x11|Declare Commands|rel=added}}
 
{{PacketList|{{change|0x11|0x12}}|Confirm Transaction (clientbound)|pre=unchanged}}
 
{{PacketList|{{change|0x12|0x13}}|Close Window (clientbound)|pre=unchanged}}
 
{{PacketList|{{change|0x13|0x14}}|Open Window|pre=unchanged}}
 
{{PacketList|{{change|0x14|0x15}}|Window Items|pre=unchanged}}
 
{{PacketList|{{change|0x15|0x16}}|Window Property|pre=unchanged}}
 
{{PacketList|{{change|0x16|0x17}}|Set Slot|pre=unchanged}}
 
{{PacketList|{{change|0x17|0x18}}|Set Cooldown|pre=unchanged}}
 
{{PacketList|{{change|0x18|0x19}}|Plugin Message (clientbound)|pre=unchanged}}
 
{{PacketList|{{change|0x19|0x1A}}|Named Sound Effect}}
 
{{PacketList|{{change|0x1A|0x1B}}|Disconnect (play)|pre=unchanged}}
 
{{PacketList|{{change|0x1B|0x1C}}|Entity Status|pre=unchanged}}
 
{{PacketList|{{change|0x1C|0x1D}}|Explosion|pre=unchanged}}
 
{{PacketList|{{change|0x1D|0x1E}}|Unload Chunk|pre=unchanged}}
 
{{PacketList|{{change|0x1E|0x1F}}|Change Game State|pre=unchanged}}
 
{{PacketList|{{change|0x1F|0x20}}|Keep Alive (clientbound)|pre=unchanged}}
 
{{PacketList|{{change|0x20|0x21}}|Chunk Data|pre=unchanged}}
 
{{PacketList|{{change|0x21|0x22}}|Effect|pre=unchanged}}
 
{{PacketList|{{change|0x22|0x23}}|Particle}}
 
{{PacketList|{{change|0x23|0x24}}|Join Game|pre=unchanged}}
 
{{PacketList|{{change|0x24|0x25}}|Map|pre=unchanged}}
 
{{PacketList|{{change|0x25|0x26}}|Entity|pre=unchanged}}
 
{{PacketList|{{change|0x26|0x27}}|Entity Relative Move|pre=unchanged}}
 
{{PacketList|{{change|0x27|0x28}}|Entity Look And Relative Move|pre=unchanged}}
 
{{PacketList|{{change|0x28|0x29}}|Entity Look|pre=unchanged}}
 
{{PacketList|{{change|0x29|0x2A}}|Vehicle Move (clientbound)|pre=unchanged}}
 
{{PacketList|{{change|0x2A|0x2B}}|Open Sign Editor|pre=unchanged}}
 
{{PacketList|{{change|0x2B|0x2C}}|Craft Recipe Response|pre=unchanged}}
 
{{PacketList|{{change|0x2C|0x2D}}|Player Abilities (clientbound)|pre=unchanged}}
 
{{PacketList|{{change|0x2D|0x2E}}|Combat Event|pre=unchanged}}
 
{{PacketList|{{change|0x2E|0x2F}}|Player List Item|pre=unchanged}}
 
{{PacketList|{{change|0x2F|0x30}}|Player Position And Look (clientbound)|pre=unchanged}}
 
{{PacketList|{{change|0x30|0x31}}|Use Bed|pre=unchanged}}
 
{{PacketList|{{change|0x31|0x32}}|Unlock Recipes|pre=unchanged}}
 
{{PacketList|{{change|0x32|0x33}}|Destroy Entities|pre=unchanged}}
 
{{PacketList|{{change|0x33|0x34}}|Remove Entity Effect|pre=unchanged}}
 
{{PacketList|{{change|0x34|0x35}}|Resource Pack Send|pre=unchanged}}
 
{{PacketList|{{change|0x35|0x36}}|Respawn|pre=unchanged}}
 
{{PacketList|{{change|0x36|0x37}}|Entity Head Look|pre=unchanged}}
 
{{PacketList|{{change|0x37|0x38}}|Select Advancement Tab|pre=unchanged}}
 
{{PacketList|{{change|0x38|0x39}}|World Border|pre=unchanged}}
 
{{PacketList|{{change|0x39|0x3A}}|Camera|pre=unchanged}}
 
{{PacketList|{{change|0x3A|0x3B}}|Held Item Change (clientbound)|pre=unchanged}}
 
{{PacketList|{{change|0x3B|0x3C}}|Display Scoreboard|pre=unchanged}}
 
{{PacketList|{{change|0x3C|0x3D}}|Entity Metadata|pre=unchanged}}
 
{{PacketList|{{change|0x3D|0x3E}}|Attach Entity|pre=unchanged}}
 
{{PacketList|{{change|0x3E|0x3F}}|Entity Velocity|pre=unchanged}}
 
{{PacketList|{{change|0x3F|0x40}}|Entity Equipment|pre=unchanged}}
 
{{PacketList|{{change|0x40|0x41}}|Set Experience|pre=unchanged}}
 
{{PacketList|{{change|0x41|0x42}}|Update Health|pre=unchanged}}
 
{{PacketList|{{change|0x42|0x43}}|Scoreboard Objective|pre=unchanged}}
 
{{PacketList|{{change|0x43|0x44}}|Set Passengers|pre=unchanged}}
 
{{PacketList|{{change|0x44|0x45}}|Teams|pre=unchanged}}
 
{{PacketList|{{change|0x45|0x46}}|Update Score|pre=unchanged}}
 
{{PacketList|{{change|0x46|0x47}}|Spawn Position|pre=unchanged}}
 
{{PacketList|{{change|0x47|0x48}}|Time Update|pre=unchanged}}
 
{{PacketList|{{change|0x48|0x49}}|Title|pre=unchanged}}
 
{{PacketList|0x4A|Stop Sound|rel=added}}
 
{{PacketList|{{change|0x49|0x4B}}|Sound Effect|pre=unchanged}}
 
{{PacketList|{{change|0x4A|0x4C}}|Player List Header And Footer|pre=unchanged}}
 
{{PacketList|{{change|0x4B|0x4D}}|Collect Item|pre=unchanged}}
 
{{PacketList|{{change|0x4C|0x4E}}|Entity Teleport|pre=unchanged}}
 
{{PacketList|{{change|0x4D|0x4F}}|Advancements|pre=unchanged}}
 
{{PacketList|{{change|0x4E|0x50}}|Entity Properties|pre=unchanged}}
 
{{PacketList|{{change|0x4F|0x51}}|Entity Effect|pre=unchanged}}
 
 
  |-
 
  |-
!colspan="4"| Play serverbound
+
|}
{{PacketList|{{change|0x02|0x01}}|Chat Message (serverbound)|pre=unchanged}}
 
{{PacketList|{{change|0x03|0x02}}|Client Status|pre=unchanged}}
 
{{PacketList|{{change|0x04|0x03}}|Client Settings|pre=unchanged}}
 
{{PacketList|{{change|0x01|0x04}}|Tab-Complete (serverbound)}}
 
|}
 
  
== New/modified data types ==
+
== Handshake ==
  
 
No changes so far.
 
No changes so far.
  
== Block Actions ==
+
== Status ==
  
No changes so far.  
+
No changes so far.
  
== Plugin Channels ==
+
== Login ==
  
=== <code>MC|StopSound</code> ===
+
No changes so far.
 
 
{{Change|''Server to client''}}
 
 
 
{{Change|Used to implement {{Minecraft Wiki|Commands#StopSound|the <code>/stopsound</code> command}}. Stops a sound that is currently playing on the client.}}
 
 
 
{| class="wikitable" style="background-color: #f4cccc; text-decoration: line-through;"
 
! Field name
 
! Field type
 
! Notes
 
|-
 
| Sound category
 
| String
 
| Should be one of the sound categories used in [[Protocol#Named Sound Effect|Named Sound Effect]], but if it's invalid or empty then it is (intentionally) treated as ''all'' sound categories.
 
|-
 
| Sound name
 
| String
 
| A [http://pokechu22.github.io/Burger/1.11.html#sounds sound effect name].  If left empty, ''all'' sounds are stopped.
 
|}
 
 
 
{{Change|Emptiness of sound category or sound name can be combined, IE a empty sound name but a set sound category will stop all sounds in the given category.}}
 
 
 
{{Change||This plugin channel has been replaced by the [[#Stop sound|stop sound]] packet.}}
 
  
== Play ==
+
== Configuration ==
  
 
=== Clientbound ===
 
=== Clientbound ===
  
==== Tab-Complete (clientbound) ====
+
==== Clientbound Report Details (configuration) ====
  
{{Need Info|This is most definitely no longer an accurate description of this packet}}
+
Contains a list of key-value text entries that are included in any crash or disconnection report generated during connection to the server.
  
The server responds with a list of auto-completions of the last word sent to it. In the case of regular chat, this is a player username. Command names and parameters are also supported. The client sorts these alphabetically before listing them.
+
{| class="wikitable" {{added}}
 
 
{| class="wikitable"
 
 
  ! Packet ID
 
  ! Packet ID
 
  ! State
 
  ! State
 
  ! Bound To
 
  ! Bound To
  ! Field Name
+
  ! colspan="2"| Field Name
  ! Field Type
+
  ! colspan="2"| Field Type
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="3"| {{Change|0x0E|0x10}}
+
  | rowspan="3"| 0x0F
  |rowspan="3"| Play
+
  | rowspan="3"| Configuration
  |rowspan="3"| Client
+
  | rowspan="3"| Client
  |style="background-color: #d9ead3;"| Unknown
+
  | colspan="2"| Details Count
  |style="background-color: #d9ead3;"| VarInt
+
  | colspan="2"| {{Type|VarInt}} (32)
  |style="background-color: #d9ead3;"|
+
  | The number of details in the following array.
 
  |-
 
  |-
  | Count
+
  | rowspan="2"| Details
  | VarInt
+
| Title
  | Number of elements in the following array
+
| rowspan="2"| {{Type|Array}}
 +
  | {{Type|String}} (128)
 +
  |
 
  |-
 
  |-
  | Matches
+
  | Description
  | Array of String (32767)
+
  | {{Type|String}} (4096)
| One eligible command, note that each command is sent separately instead of in a single string, hence the need for Count
+
  |
|}
+
|}
 
 
 
 
==== Declare Commands ====
 
 
 
{{Need Info|Has a payload now}}
 
 
 
Currently has no payload, but will serialize a Brigadier <code>RootCommandNode</code> instance.
 
 
 
{| class="wikitable"
 
! Packet ID
 
! State
 
! Bound To
 
! Field Name
 
! Field Type
 
! Notes
 
|-
 
  | 0x11
 
| Play
 
| Client
 
|colspan="3"| ''no fields''
 
|}
 
  
==== Named Sound Effect ====
+
==== Clientbound Server Links (configuration) ====
{{See also|#Sound Effect}}
 
  
Used to play a sound effect on the client. Custom sounds may be added by resource packs.
+
This packet contains a list of links that the Notchian client will display in the menu available from the pause menu. Link labels can be built-in or custom (i.e., any text).
  
{| class="wikitable"
+
{| class="wikitable" {{added}}
 
  ! Packet ID
 
  ! Packet ID
 
  ! State
 
  ! State
 
  ! Bound To
 
  ! Bound To
  ! Field Name
+
  ! colspan="2"| Field Name
  ! Field Type
+
  ! colspan="2"| Field Type
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="7"| {{Change|0x19|0x1A}}
+
  | rowspan="4"| 0x10
  |rowspan="7"| Play
+
  | rowspan="4"| Configuration
  |rowspan="7"| Client
+
  | rowspan="4"| Client
  | Sound Name
+
  | colspan="2"| Links Count
  | {{Change|String (256)|Identifier}}
+
  | colspan="2"| {{Type|VarInt}}
| All sound effect names as of 1.12.2 can be seen [http://pokechu22.github.io/Burger/1.12.2.html#sounds here].
+
  | The number of links in the following array.
|-
 
| Sound Category
 
| VarInt Enum
 
  | The category that this sound will be played from ([https://gist.github.com/konwboj/7c0c380d3923443e9d55 current categories])
 
|-
 
| Effect Position X
 
| Int
 
| Effect X multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part)
 
|-
 
| Effect Position Y
 
| Int
 
| Effect Y multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part)
 
 
  |-
 
  |-
  | Effect Position Z
+
  | rowspan="3"| Links
  | Int
+
| Is built-in
  | Effect Z multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part)
+
  | rowspan="3"| {{Type|Array}}
 +
  | {{Type|Boolean}}
 +
| Determines if the following label is built-in (from enum) or custom (text component).
 
  |-
 
  |-
  | Volume
+
  | Label
  | Float
+
  | {{Type|VarInt}} {{Type|Enum}} / {{Type|Text Component}}
  | 1 is 100%, can be more
+
  | See below.
 
  |-
 
  |-
  | Pitch
+
  | URL
  | Float
+
  | {{Type|String}}
  | Float between 0.5 and 2.0 by Notchian clients
+
  | Valid URL.
|}
+
|}
  
==== Particle ====
 
  
Displays the named particle
+
{| class="wikitable" {{added}}
 
+
  ! ID
{| class="wikitable"
+
  ! Name
  ! Packet ID
 
  ! State
 
! Bound To
 
! Field Name
 
! Field Type
 
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="11"| {{Change|0x22|0x23}}
+
  | 0
|rowspan="11"| Play
+
  | Bug Report
|rowspan="11"| Client
+
  | Displayed on connection error screen; included as a comment in the disconnection report.
| Particle ID
 
  | Int
 
  | See below
 
 
  |-
 
  |-
  | Long Distance
+
  | 1
  | Boolean
+
  | Community Guidelines
  | If true, particle distance increases from 256 to 65536
+
  |  
 
  |-
 
  |-
  | X
+
  | 2
  | Float
+
  | Support
  | X position of the particle
+
  |  
 
  |-
 
  |-
  | Y
+
  | 3
  | Float
+
  | Status
  | Y position of the particle
+
  |  
 
  |-
 
  |-
  | Z
+
  | 4
  | Float
+
  | Feedback
  | Z position of the particle
+
  |  
 
  |-
 
  |-
  | Offset X
+
  | 5
  | Float
+
  | Community
  | This is added to the X position after being multiplied by random.nextGaussian()
+
  |  
 
  |-
 
  |-
  | Offset Y
+
  | 6
  | Float
+
  | Website
  | This is added to the Y position after being multiplied by random.nextGaussian()
+
  |  
 
  |-
 
  |-
  | Offset Z
+
  | 7
  | Float
+
  | Forums
  | This is added to the Z position after being multiplied by random.nextGaussian()
+
  |  
 
  |-
 
  |-
  | Particle Data
+
  | 8
  | Float
+
  | News
  | The data of each particle
+
  |  
 
  |-
 
  |-
  | Particle Count
+
  | 9
  | Int
+
  | Announcements
  | The number of particles to create
+
  |  
 
  |-
 
  |-
| Data
 
| {{Change|Array of VarInt|Varies}}
 
| {{Change|Length depends on particle. "iconcrack" has length of 2, "blockcrack", "blockdust", and "fallingdust" have lengths of 1, the rest have 0.|Type of data varies based off of the particle.  For "iconcrack", it is a [[Slot]].  For "blockcrack", "blockdust", and "fallingdust", it is a block state encoded as a VarInt that is an index within the global palette.}}
 
 
  |}
 
  |}
  
==== Stop Sound ====
+
=== Serverbound ===
 +
 
 +
No changes so far.
  
{| class="wikitable"
+
== Play ==
 +
 
 +
=== Clientbound ===
 +
 
 +
==== Clientbound Report Details (play) ====
 +
 
 +
Contains a list of key-value text entries that are included in any crash or disconnection report generated during connection to the server.
 +
 
 +
{| class="wikitable" {{added}}
 
  ! Packet ID
 
  ! Packet ID
 
  ! State
 
  ! State
 
  ! Bound To
 
  ! Bound To
  ! Field Name
+
  ! colspan="2"| Field Name
  ! Field Type
+
  ! colspan="2"| Field Type
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  |rowspan="7"| 0x4A
+
  | rowspan="3"| 0x7A
  |rowspan="7"| Play
+
  | rowspan="3"| Configuration
  |rowspan="7"| Client
+
  | rowspan="3"| Client
  | Flags
+
  | colspan="2"| Details Count
  | Byte
+
  | colspan="2"| {{Type|VarInt}} (32)
  | Controls which fields are present.
+
  | The number of details in the following array.
 
  |-
 
  |-
  | Source
+
  | rowspan="2"| Details
  | Optional VarInt enum
+
  | Title
  | Only if flags is 3 or 1 (bit mask 0x1). See below.  If not present, then sounds from all sources are cleared.
+
| rowspan="2"| {{Type|Array}}
 +
  | {{Type|String}} (128)
 +
  |
 
  |-
 
  |-
  | Sound
+
  | Description
  | Optional Identifier
+
  | {{Type|String}} (4096)
| Only if flags is 2 or 3 (bit mask 0x2). A sound effect name, see [[#Named Sound Effect|Named Sound Effect]].  If not present, then all sounds are cleared.
+
  |
|}
+
|}
 +
 
 +
==== Clientbound Server Links (play) ====
  
Categories:
+
This packet contains a list of links that the Notchian client will display in the menu available from the pause menu. Link labels can be built-in or custom (i.e., any text).
  
{| class="wikitable"
+
{| class="wikitable" {{added}}
  ! Name !! Value
+
  ! Packet ID
 +
! State
 +
! Bound To
 +
! colspan="2"| Field Name
 +
! colspan="2"| Field Type
 +
! Notes
 
  |-
 
  |-
  | master || 0
+
  | rowspan="4"| 0x7B
 +
| rowspan="4"| Configuration
 +
| rowspan="4"| Client
 +
| colspan="2"| Links Count
 +
| colspan="2"| {{Type|VarInt}}
 +
| The number of links in the following array.
 
  |-
 
  |-
  | music || 1
+
  | rowspan="3"| Links
 +
| Is built-in
 +
| rowspan="3"| {{Type|Array}}
 +
| {{Type|Boolean}}
 +
| Determines if the following label is built-in (from enum) or custom (text component).
 
  |-
 
  |-
  | record || 2
+
  | Label
 +
| {{Type|VarInt}} {{Type|Enum}} / {{Type|Text Component}}
 +
| See below.
 
  |-
 
  |-
  | weather || 3
+
  | URL
 +
| {{Type|String}}
 +
| Valid URL.
 +
|}
 +
 
 +
{| class="wikitable" {{added}}
 +
! ID
 +
! Name
 +
! Notes
 
  |-
 
  |-
  | block || 4
+
  | 0
 +
| Bug Report
 +
| Displayed on connection error screen; included as a comment in the disconnection report.
 
  |-
 
  |-
  | hostile || 5
+
  | 1
 +
| Community Guidelines
 +
|  
 
  |-
 
  |-
  | neutral || 6
+
  | 2
 +
| Support
 +
|  
 
  |-
 
  |-
  | player || 7
+
  | 3
 +
| Status
 +
|  
 
  |-
 
  |-
  | ambient || 8
+
  | 4
 +
| Feedback
 +
|  
 
  |-
 
  |-
  | voice || 9
+
  | 5
  |}
+
  | Community
 
+
|  
=== Serverbound ===
 
 
 
==== Tab-Complete (serverbound) ====
 
 
 
{{Need Info|This is most definitely no longer an accurate description of this packet}}
 
 
 
Sent when the user presses ''tab'' while writing text.
 
 
 
{| class="wikitable"
 
! Packet ID
 
! State
 
! Bound To
 
! Field Name
 
! Field Type
 
! Notes
 
 
  |-
 
  |-
  |rowspan="5"| {{Change|0x01|0x04}}
+
  | 6
  |rowspan="5"| Play
+
  | Website
  |rowspan="5"| Server
+
  |  
|style="background-color: #d9ead3;"| Unknown
 
|style="background-color: #d9ead3;"| VarInt
 
|style="background-color: #d9ead3;"|
 
 
  |-
 
  |-
  | Text
+
  | 7
  | String (32767)
+
  | Forums
| All text behind the cursor (e.g. to the left of the cursor in left-to-right languages like English)
 
|- style="background-color: #f4cccc; text-decoration: line-through;"
 
| Assume Command
 
| Boolean
 
| If true, the server will parse Text as a command even if it doesn't start with a <code>/</code>. Used in the command block GUI.
 
|- style="background-color: #f4cccc; text-decoration: line-through;"
 
| Has Position
 
| Boolean
 
 
  |  
 
  |  
|- style="background-color: #f4cccc; text-decoration: line-through;"
 
| Looked At Block
 
| Optional Position
 
| The position of the block being looked at. Only sent if Has Position is true.
 
|}
 
 
 
== Handshaking ==
 
 
=== Clientbound ===
 
 
There are no clientbound packets in the Handshaking state, since the protocol immediately switches to a different state after the client sends the first packet.
 
 
=== Serverbound ===
 
 
==== Handshake ====
 
 
This causes the server to switch into the target state.
 
 
{| class="wikitable"
 
! Packet ID
 
! State
 
! Bound To
 
! Field Name
 
! Field Type
 
! Notes
 
 
  |-
 
  |-
  |rowspan="4"| 0x00
+
  | 8
|rowspan="4"| Handshaking
+
  | News
|rowspan="4"| Server
+
  |  
  | Protocol Version
 
  | VarInt
 
| See [[protocol version numbers]] (currently {{change|340|345}})
 
 
  |-
 
  |-
  | Server Address
+
  | 9
  | String
+
  | Announcements
  | Hostname or IP, e.g. localhost or 127.0.0.1, that was used to connect.  The Notchian server does not use this information.
+
  |  
|-
 
| Server Port
 
| Unsigned Short
 
| Default is 25565.  The Notchian server does not use this information.
 
 
  |-
 
  |-
| Next State
 
| VarInt Enum
 
| 1 for [[#Status|status]], 2 for [[#Login|login]]
 
 
  |}
 
  |}
 
== Status ==
 
 
=== Clientbound ===
 
 
No changes so far.
 
  
 
=== Serverbound ===
 
=== Serverbound ===
  
 
No changes so far.
 
No changes so far.
 
== Login ==
 
 
=== Clientbound ===
 
 
No changes so far.
 
 
=== Serverbound ===
 
 
No changes so far.
 
 
  
 
[[Category:Minecraft Modern]]
 
[[Category:Minecraft Modern]]

Latest revision as of 10:40, 8 June 2024

This page documents the changes from the last stable Minecraft release (currently 1.20.6, protocol 766) to the current pre-release (currently 1.21-pre2, protocol Snapshot 200). Note that this page contains bleeding-edge information that may not be completely or correctly documented.

One who wishes to commandeer the merging of this into Protocol when an update is made must be sure to respect any changes that may have occurred to the respective packets there.

Contents

Data types

No changes documented so far.

Packets

ID Packet name Documentation
Configuration clientbound
0x0F Clientbound Report Details (configuration) Pre
0x10 Clientbound Server Links (configuration) Pre
Play clientbound
0x7A Clientbound Report Details (play) Pre
0x7B Clientbound Server Links (play) Pre

Handshake

No changes so far.

Status

No changes so far.

Login

No changes so far.

Configuration

Clientbound

Clientbound Report Details (configuration)

Contains a list of key-value text entries that are included in any crash or disconnection report generated during connection to the server.

Packet ID State Bound To Field Name Field Type Notes
0x0F Configuration Client Details Count VarInt (32) The number of details in the following array.
Details Title Array String (128)
Description String (4096)

Clientbound Server Links (configuration)

This packet contains a list of links that the Notchian client will display in the menu available from the pause menu. Link labels can be built-in or custom (i.e., any text).

Packet ID State Bound To Field Name Field Type Notes
0x10 Configuration Client Links Count VarInt The number of links in the following array.
Links Is built-in Array Boolean Determines if the following label is built-in (from enum) or custom (text component).
Label VarInt Enum / Text Component See below.
URL String Valid URL.


ID Name Notes
0 Bug Report Displayed on connection error screen; included as a comment in the disconnection report.
1 Community Guidelines
2 Support
3 Status
4 Feedback
5 Community
6 Website
7 Forums
8 News
9 Announcements

Serverbound

No changes so far.

Play

Clientbound

Clientbound Report Details (play)

Contains a list of key-value text entries that are included in any crash or disconnection report generated during connection to the server.

Packet ID State Bound To Field Name Field Type Notes
0x7A Configuration Client Details Count VarInt (32) The number of details in the following array.
Details Title Array String (128)
Description String (4096)

Clientbound Server Links (play)

This packet contains a list of links that the Notchian client will display in the menu available from the pause menu. Link labels can be built-in or custom (i.e., any text).

Packet ID State Bound To Field Name Field Type Notes
0x7B Configuration Client Links Count VarInt The number of links in the following array.
Links Is built-in Array Boolean Determines if the following label is built-in (from enum) or custom (text component).
Label VarInt Enum / Text Component See below.
URL String Valid URL.
ID Name Notes
0 Bug Report Displayed on connection error screen; included as a comment in the disconnection report.
1 Community Guidelines
2 Support
3 Status
4 Feedback
5 Community
6 Website
7 Forums
8 News
9 Announcements

Serverbound

No changes so far.