Minecraft:Java Edition protocol/Development version
More actions
This page documents the changes from release 1.21.10 (protocol 773) to the current release (26.2, protocol 776). The stable protocol documentation is currently lagging behind, and the changes documented here will be merged soon, once they are complete. For previous development version pages, see the Protocol version numbers page.
One who wishes to commandeer the merging of this into the Java Edition protocol pages 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 so far.
Packets
Handshaking
Template:Packet list/begin Template:Packet list
|}
Status
Login
Configuration
Template:Packet list/begin Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list
|}
Play
Template:Packet list/begin Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list
|}
Template:Packet list/begin Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list Template:Packet list
|}
Play
Clientbound
Login (play)
See Minecraft:protocol encryption for information on logging in.
| Template:Packet header | ||
|---|---|---|
| Field Name | Field Type | Notes |
| Entity ID | Template:Type | The player's Entity ID (EID). |
| Is hardcore | Template:Type | |
| Dimension Names | Template:Type of Template:Type | Identifiers for all dimensions on the server. |
| Max Players | Template:Type | Was once used by the client to draw the tab list, but now it is ignored. |
| View Distance | Template:Type | Render distance (2-32). |
| Simulation Distance | Template:Type | Server simulation distance. See Template:Packet. |
| Reduced Debug Info | Template:Type | If true, a vanilla client shows reduced information on the Minecraft:debug screen. For servers in development, this should almost always be false. |
| Enable respawn screen | Template:Type | Set to false when the doImmediateRespawn gamerule is true. |
| Do limited crafting | Template:Type | Whether players can only craft recipes they have already unlocked. Currently unused by the client. |
| Dimension Type | Template:Type | The ID of the type of dimension in the minecraft:dimension_type registry, defined by the Registry Data packet.
|
| Dimension Name | Template:Type | Name of the dimension being spawned into. |
| Hashed seed | Template:Type | First 8 bytes of the SHA-256 hash of the world's seed. Used client-side for biome noise |
| Game mode | Template:Type | 0: Survival, 1: Creative, 2: Adventure, 3: Spectator. |
| Previous Game mode | Template:Type | -1: Undefined (null), 0: Survival, 1: Creative, 2: Adventure, 3: Spectator. The previous game mode. Vanilla client uses this for the debug (F3 + N & F3 + F4) game mode switch. (More information needed) |
| Is Debug | Template:Type | True if the world is a Minecraft:debug mode world; debug mode worlds cannot be modified and have predefined blocks. |
| Is Flat | Template:Type | True if the world is a Minecraft:superflat world; flat worlds have different void fog and a horizon at y=0 instead of y=63. |
| Has death location | Template:Type | If true, then the next two fields are present. |
| Death dimension name | Template:Type Template:Type | Name of the dimension the player died in. |
| Death location | Template:Type Template:Type | The location that the player died at. |
| Portal cooldown | Template:Type | The number of ticks until the player can use the last used portal again. Looks like it's an attempt to fix MC-180. |
| Sea level | Template:Type | |
| Online mode | Template:Type | |
| Enforces Secure Chat | Template:Type | |
Update Teams
Creates and updates teams.
| Template:Packet header | ||||
|---|---|---|---|---|
| Field Name | Field Type | Notes | ||
| Team Name | Template:Type (32767) | A unique name for the team. (Shared with scoreboard). | ||
| Method | Template:Type | Determines the layout of the remaining packet. | ||
| 0: create team | Team Display Name | Template:Type | ||
| Friendly Flags | Template:Type | Bit mask. 0x01: Allow friendly fire, 0x02: can see invisible players on the same team. | ||
| Team Prefix | Template:Type | Displayed before the names of players that are part of this team. | ||
| Team Suffix | Template:Type | Displayed after the names of players that are part of this team. | ||
| Name Tag Visibility | Template:Type Template:Type | 0 = ALWAYS, 1 = NEVER, 2 = HIDE_FOR_OTHER_TEAMS, 3 = HIDE_FOR_OWN_TEAMS | ||
| Collision Rule | Template:Type Template:Type | 0 = ALWAYS, 1 = NEVER, 2 = PUSH_OTHER_TEAMS, 3 = PUSH_OWN_TEAM | ||
| Team Color | Template:Type Template:Type | Used to color the names of players on the team; see below. | ||
| Friendly Flags | Template:Type | Bit mask. 0x01: Allow friendly fire, 0x02: can see invisible players on the same team. | ||
| Team Prefix | Template:Type | Displayed before the names of players that are part of this team. | ||
| Team Suffix | Template:Type | Displayed after the names of players that are part of this team. | ||
| Entities | Template:Type of Template:Type (32767) | Identifiers for the entities in this team. For players, this is their username; for other entities, it is their UUID. | ||
| 1: remove team | no fields | no fields | ||
| 2: update team info | Team Display Name | Template:Type | ||
| Friendly Flags | Template:Type | Bit mask. 0x01: Allow friendly fire, 0x02: can see invisible entities on the same team. | ||
| Team Prefix | Template:Type | Displayed before the names of players that are part of this team. | ||
| Team Suffix | Template:Type | Displayed after the names of players that are part of this team. | ||
| Name Tag Visibility | Template:Type Template:Type | 0 = ALWAYS, 1 = NEVER, 2 = HIDE_FOR_OTHER_TEAMS, 3 = HIDE_FOR_OWN_TEAMS | ||
| Collision Rule | Template:Type Template:Type | 0 = ALWAYS, 1 = NEVER, 2 = PUSH_OTHER_TEAMS, 3 = PUSH_OWN_TEAM | ||
| Team Color | Template:Type Template:Type | Used to color the names of players on the team; see below. | ||
| Friendly Flags | Template:Type | Bit mask. 0x01: Allow friendly fire, 0x02: can see invisible players on the same team. | ||
| Team Prefix | Template:Type | Displayed before the names of players that are part of this team. | ||
| Team Suffix | Template:Type | Displayed after the names of players that are part of this team. | ||
| 3: add entities to team | Entities | Template:Type of Template:Type (32767) | Identifiers for the added entities. For players, this is their username; for other entities, it is their UUID. | |
| 4: remove entities from team | Entities | Template:Type of Template:Type (32767) | Identifiers for the removed entities. For players, this is their username; for other entities, it is their UUID. | |
Team Color: The color of a team defines how the names of the team members are visualized; any formatting code can be used. The following table lists all the possible values.
| ID | Formatting |
|---|---|
| 0-15 | Color formatting, same values as in Minecraft:Formatting codes#Color codes. |
| 16 | Obfuscated |
| 17 | Bold |
| 18 | Strikethrough |
| 19 | Underlined |
| 20 | Italic |
| 21 | Reset |