Protocol History

From wiki.vg
Jump to: navigation, search

Provided below is a (potentially incomplete) changelog of the server protocol starting on 2010-08-20. The wiki history feature may also be used to investigate changes.

Contents

1.13.1

  • Protocol version 401

1.13.1-pre2

  • Protocol version 400

1.13.1-pre1

  • Protocol version 399

18w33a

  • Protocol version 398

18w32a

  • Protocol version 397

18w31a

  • Protocol version 396

18w30b

  • Protocol version 395
  • Boss Bar now has separate flags for music (0x02) and fog (0x04), rather than using 0x02 for both (MC-123880)

18w30a

  • Protocol version 394
  • Changed the max length of the text for Tab Complete (serverbound) from 256 to 32500, to fix MC-132663
  • Added a Hand parameter to Edit Book, to fix MC-84005

1.13

  • Protocol version 393

1.13-pre10

  • Protocol version 392

1.13-pre9

  • Protocol version 391
  • Changed the ID of Login Plugin Message (clientbound) to 0x04, undoing the shifts that occurred in 1.13-pre3, to fix MC-131822
    • Disconnect (login) is again 0x00
    • Encryption Request is again 0x01
    • Login Success is again 0x02
    • Set Compression is again 0x03
  • Changed the ID of Login Plugin Message (serverbound) to 0x02, undoing the shifts that occurred in 1.13-pre3, to fix MC-131822
    • Login Start is again 0x00
    • Encryption Response is again 0x01

1.13-pre8

  • Protocol version 390
  • "Objective Value" in scoreboard objective and "Team Display Name" in teams are now text components, instead of raw strings.

1.13-pre7

  • Protocol version 389
  • Fixed mode 2 on the scoreboard packet (MC-131382)
  • Added clientbound packet NBT Query Response (0x1D)
  • Added serverbound packets Query Block NBT (0x01) and Query Entity NBT (0x0C)
  • Packet ID changes - Clientbound
    • Changed ID of Explosion from 0x1D to 0x1E
    • Changed ID of Unload Chunk from 0x1E to 0x1F
    • Changed ID of Change Game State from 0x1F to 0x20
    • Changed ID of Keep Alive (clientbound) from 0x20 to 0x21
    • Changed ID of Chunk Data from 0x21 to 0x22
    • Changed ID of Effect from 0x22 to 0x23
    • Changed ID of Spawn Particle from 0x23 to 0x24
    • Changed ID of Join Game from 0x24 to 0x25
    • Changed ID of Map from 0x25 to 0x26
    • Changed ID of Entity from 0x26 to 0x27
    • Changed ID of Entity Relative Move from 0x27 to 0x28
    • Changed ID of Entity Look And Relative Move from 0x28 to 0x29
    • Changed ID of Entity Look from 0x29 to 0x2A
    • Changed ID of Vehicle Move (clientbound) from 0x2A to 0x2B
    • Changed ID of Open Sign Editor from 0x2B to 0x2C
    • Changed ID of Craft Recipe Response from 0x2C to 0x2D
    • Changed ID of Player Abilities (clientbound) from 0x2D to 0x2E
    • Changed ID of Combat Event from 0x2E to 0x2F
    • Changed ID of Player List Item from 0x2F to 0x30
    • Changed ID of Face Player from 0x30 to 0x31
    • Changed ID of Player Position And Look (clientbound) from 0x31 to 0x32
    • Changed ID of Use Bed from 0x32 to 0x33
    • Changed ID of Unlock Recipes from 0x33 to 0x34
    • Changed ID of Destroy Entities from 0x34 to 0x35
    • Changed ID of Remove Entity Effect from 0x35 to 0x36
    • Changed ID of Resource Pack Send from 0x36 to 0x37
    • Changed ID of Respawn from 0x37 to 0x38
    • Changed ID of Entity Head Look from 0x38 to 0x39
    • Changed ID of Select Advancement Tab from 0x39 to 0x3A
    • Changed ID of World Border from 0x3A to 0x3B
    • Changed ID of Camera from 0x3B to 0x3C
    • Changed ID of Held Item Change (clientbound) from 0x3C to 0x3D
    • Changed ID of Display Scoreboard from 0x3D to 0x3E
    • Changed ID of Entity Metadata from 0x3E to 0x3F
    • Changed ID of Attach Entity from 0x3F to 0x40
    • Changed ID of Entity Velocity from 0x40 to 0x41
    • Changed ID of Entity Equipment from 0x41 to 0x42
    • Changed ID of Set Experience from 0x42 to 0x43
    • Changed ID of Update Health from 0x43 to 0x44
    • Changed ID of Scoreboard Objective from 0x44 to 0x45
    • Changed ID of Set Passengers from 0x45 to 0x46
    • Changed ID of Teams from 0x46 to 0x47
    • Changed ID of Update Score from 0x47 to 0x48
    • Changed ID of Spawn Position from 0x48 to 0x49
    • Changed ID of Time Update from 0x49 to 0x4A
    • Changed ID of Title from 0x4A to 0x4B
    • Changed ID of Stop Sound from 0x4B to 0x4C
    • Changed ID of Sound Effect from 0x4C to 0x4D
    • Changed ID of Player List Header And Footer from 0x4D to 0x4E
    • Changed ID of Collect Item from 0x4E to 0x4F
    • Changed ID of Entity Teleport from 0x4F to 0x50
    • Changed ID of Advancements from 0x50 to 0x51
    • Changed ID of Entity Properties from 0x51 to 0x52
    • Changed ID of Entity Effect from 0x52 to 0x53
    • Changed ID of Declare Recipes from 0x53 to 0x54
    • Changed ID of Tags from 0x54 to 0x55
  • Packet ID changes - Serverbound
    • Changed ID of Chat Message (serverbound) from 0x02 to 0x01 (back as it was before 1.13)
    • Changed ID of Client Status from 0x03 to 0x02 (back as it was before 1.13)
    • Changed ID of Client Settings from 0x04 to 0x03 (back as it was before 1.13)
    • Changed ID of Tab-Complete (serverbound) from 0x04 to 0x05
    • Changed ID of Confirm Transaction (serverbound) from 0x05 to 0x06
    • Changed ID of Enchant Item from 0x06 to 0x07
    • Changed ID of Click Window from 0x07 to 0x08
    • Changed ID of Close Window (serverbound) from 0x08 to 0x09
    • Changed ID of Plugin message (serverbound) from 0x09 to 0x0A
    • Changed ID of Edit Book from 0x0A to 0x0B
    • (ID of Query Entity NBT is 0x0C)
    • Changed ID of Use Entity from 0x0B to 0x0D
    • Changed ID of Keep Alive (serverbound) from 0x0C to 0x0E
    • Changed ID of Player from 0x0D to 0x0F
    • Changed ID of Player Position from 0x0E to 0x10
    • Changed ID of Player Position And Look (serverbound) from 0x0F to 0x11
    • Changed ID of Player Look from 0x10 to 0x12
    • Changed ID of Vehicle Move (serverbound) from 0x11 to 0x13
    • Changed ID of Steer Boat from 0x12 to 0x14
    • Changed ID of Pick Item from 0x13 to 0x15
    • Changed ID of Craft Recipe Request from 0x14 to 0x16
    • Changed ID of Player Abilities (serverbound) from 0x15 to 0x17
    • Changed ID of Player Digging from 0x16 to 0x18
    • Changed ID of Entity Action from 0x17 to 0x19
    • Changed ID of Steer Vehicle from 0x18 to 0x1A
    • Changed ID of Recipe Book Data from 0x19 to 0x1B
    • Changed ID of Name Item from 0x1A to 0x1C
    • Changed ID of Resource Pack Status from 0x1B to 0x1D
    • Changed ID of Advancement Tab from 0x1C to 0x1E
    • Changed ID of Select Trade from 0x1D to 0x1F
    • Changed ID of Set Beacon Effect from 0x1E to 0x20
    • Changed ID of Held Item Change (serverbound) from 0x1F to 0x21
    • Changed ID of Update Command Block from 0x20 to 0x22
    • Changed ID of Update Command Block Minecart from 0x21 to 0x23
    • Changed ID of Creative Inventory Action from 0x22 to 0x24
    • Changed ID of Update Structure Block from 0x23 to 0x25
    • Changed ID of Update Sign from 0x24 to 0x26
    • Changed ID of Animation (serverbound) from 0x25 to 0x27
    • Changed ID of Spectate from 0x26 to 0x28
    • Changed ID of Player Block Placement from 0x27 to 0x29
    • Changed ID of Use Item from 0x28 to 0x2A

1.13-pre6

  • Protocol version 388

1.13-pre5

  • Protocol version 387

1.13-pre4

  • Protocol version 386
  • The channel name in Plugin Message (serverbound) is now an Identifier.
    • This packet is now only used by the vanilla for the minecraft:brand channel.
  • Removed most serverbound plugin messages, replacing them with dedicated packets:
    • MC|BEdit and MC|BSign → Edit Book (0x0A)
    • MC|PickItem → Pick Item (0x13)
    • MC|ItemName → Name Item (0x1A)
    • MC|TrSel → Select Trace (0x1D)
    • MC|Beacon → Set Beacon Effect (0x1E)
    • MC|AutoCmd → Update Command Block (0x20)
    • MC|AdvCmd → Update Command Block Minecart (0x21)
    • MC|Struct → Update Structure Block (0x23)
  • Packet IDs shifted:
    • Changed the ID of Use Entity from 0x0A to 0x0B
    • Changed the ID of Keep Alive (serverbound) from 0x0B to 0x0C
    • Changed the ID of Player from 0x0C to 0x0D
    • Changed the ID of Player Position from 0x0D to 0x0E
    • Changed the ID of Player Position And Look (serverbound) from 0x0E to 0x0F
    • Changed the ID of Player Look from 0x0F to 0x10
    • Changed the ID of Vehicle Move (serverbound) from 0x10 to 0x11
    • Changed the ID of Steer Boat from 0x11 to 0x12
    • (ID of Pick Item is 0x13)
    • Changed the ID of Craft Recipe Request from 0x12 to 0x14
    • Changed the ID of Player Abilities (serverbound) from 0x13 to 0x15
    • Changed the ID of Player Digging from 0x14 to 0x16
    • Changed the ID of Entity Action from 0x15 to 0x17
    • Changed the ID of Steer Vehicle from 0x16 to 0x18
    • Changed the ID of Recipe Book Data from 0x17 to 0x19
    • (ID of Name Item is 0x1A)
    • Changed the ID of Resource Pack Status from 0x18 to 0x1B
    • Changed the ID of Advancement Tab from 0x19 to 0x1C
    • (ID of Select Trade is 0x1D)
    • (ID of Set Beacon Effect is 0x1E)
    • Changed the ID of Held Item Change (serverbound) from 0x1A to 0x1F
    • (ID of Update Command Block is 0x20)
    • (ID of Update Command Block Minecart is 0x21)
    • Changed the ID of Creative Inventory Action from 0x1B to 0x22
    • (ID of Update Structure Block is 0x23)
    • Changed the ID of Update Sign from 0x1C to 0x24
    • Changed the ID of Animation (serverbound) from 0x1D to 0x25
    • Changed the ID of Spectate from 0x1E to 0x26
    • Changed the ID of Player Block Placement from 0x1F to 0x27
    • Changed the ID of Use Item from 0x20 to 0x28

1.13-pre3

  • Protocol version 385
  • Added Login Plugin Message (clientbound)
    • Changed the ID of Disconnect (login) from 0x00 to 0x01
    • Changed the ID of Encryption Request from 0x01 to 0x02
    • Changed the ID of Login Success from 0x02 to 0x03
    • Changed the ID of Set Compression from 0x03 to 0x04
  • Added Login Plugin Message (serverbound)
    • Changed the ID of Login Start from 0x00 to 0x01
    • Changed the ID of Encryption Response from 0x01 to 0x02
  • The channel name in Plugin Message (clientbound) is now an Identifier.
    • The serverbound variant was not changed.
    • Renamed several plugin channels:
      • MC|BOpenminecraft:book_open
      • MC|Brandminecraft:brand
      • MC|TrListminecraft:trader_list
      • MC|DebugPathminecraft:debug/path
      • MC|DebugNeighborsUpdateminecraft:debug/neighbors_update
      • MC|DebugCavesminecraft:debug/caves
      • MC|DebugStructuresminecraft:debug/structures
      • MC|DebugWorldGenAttemptminecraft:debug/worldgen_attempt
    • The REGISTER and UNREGISTER channels have been renamed to minecraft:register and minecraft:unregister, as per https://twitter.com/Dinnerbone/status/1012052979250319360

1.13-pre2

  • Protocol version 384

1.13-pre1

  • Protocol version 383

18w22c

  • Protocol version 382

18w22b

  • Protocol version 381

18w22a

  • Protocol version 380

18w21b

  • Protocol version 379

18w21a

  • Protocol version 378

18w20c

  • Protocol version 377

18w20b

  • Protocol version 376

18w20a

  • Protocol version 375
  • Re-added Team Prefix and Suffix to the teams packet, as Chat components instead of §-based strings.

18w19b

  • Protocol version 374

18w19a

  • Protocol version 373
  • To fix MC-126815, removed Direction And Type byte from the Map packet, and replaced it by a Type VarInt enum and Direction byte.
  • Added minecraft:dolphin particle (49)

18w16a

  • Protocol version 372

18w15a

  • Protocol version 371
  • Added action 5 to Update Block Entity (declare conduit), replacing the slot that was used by a flower plot several versions ago.
  • Added minecraft:nautilus particle (48)

18w14b

  • Protocol version 370

18w14a

  • Protocol version 369

18w11a

  • Protocol version 368

18w10d

  • Protocol version 367
  • Due to more block states being added, the chunk data packet now uses 14 bits per block.

18w10c

  • Protocol version 366

18w10b

  • Protocol version 365

18w10a

  • Protocol version 364
  • Added Has Display Name and Display Name to Map packet; added a lot of new markers
    • Map icons with types over 15 currently don't work on servers (see MC-126815).

18w09a

  • Protocol version 363

18w08b

  • Protocol version 362

18w08a

  • Protocol version 361

18w07c

  • Protocol version 360

18w07b

  • Protocol version 359

18w07a

  • Protocol version 358
  • Added some new particles, which shifted particle IDs.

18w06a

  • Protocol version 357
  • Added tooltips to Tab-Complete (clientbound)
  • Added Smelting Recipe Book Open and Smelting Recipe Book Filter Active fields to Unlock Recipes and Recipe Book Data
  • Chunk Data biome array is now an array of Ints instead of Bytes
  • Added several debug plugin channels:
    • MC|DebugCaves
    • MC|DebugStructures
    • MC|DebugWorldGenAttempt

18w05a

  • Protocol version 356

18w03b

  • Protocol version 355

18w03a

  • Protocol version 354

18w02a

  • Protocol version 353
  • Added support for feet/eyes and restructured Face Entity
  • Converted paintings to use a registry system for IDs
  • Flattened entity IDs (burger)

18w01a

  • Protocol version 352
  • Added Face Player
  • Removed prefix and suffix from Teams; color is now a VarInt enum instead of a byte
  • ID changes:
    • Changed ID of Player Position And Look (clientbound) from 0x30 to 0x31
    • Changed ID of Use Bed from 0x31 to 0x32
    • Changed ID of Unlock Recipes from 0x32 to 0x33
    • Changed ID of Destroy Entities from 0x33 to 0x34
    • Changed ID of Remove Entity Effect from 0x34 to 0x35
    • Changed ID of Resource Pack Send from 0x35 to 0x36
    • Changed ID of Respawn from 0x36 to 0x37
    • Changed ID of Entity Head Look from 0x37 to 0x38
    • Changed ID of Select Advancement Tab from 0x38 to 0x39
    • Changed ID of World Border from 0x39 to 0x3A
    • Changed ID of Camera from 0x3A to 0x3B
    • Changed ID of Held Item Change (clientbound) from 0x3B to 0x3C
    • Changed ID of Display Scoreboard from 0x3C to 0x3D
    • Changed ID of Entity Metadata from 0x3D to 0x3E
    • Changed ID of Attach Entity from 0x3E to 0x3F
    • Changed ID of Entity Velocity from 0x3F to 0x40
    • Changed ID of Entity Equipment from 0x40 to 0x41
    • Changed ID of Set Experience from 0x41 to 0x42
    • Changed ID of Update Health from 0x42 to 0x43
    • Changed ID of Scoreboard Objective from 0x43 to 0x44
    • Changed ID of Set Passengers from 0x44 to 0x45
    • Changed ID of Teams from 0x45 to 0x46
    • Changed ID of Update Score from 0x46 to 0x47
    • Changed ID of Spawn Position from 0x47 to 0x48
    • Changed ID of Time Update from 0x48 to 0x49
    • Changed ID of Title from 0x49 to 0x4A
    • Changed ID of Stop Sound 0x49 to 0x4A from 0x4A to 0x4B
    • Changed ID of Sound Effect from 0x4B to 0x4C
    • Changed ID of Player List Header And Footer from 0x4C to 0x4D
    • Changed ID of Collect Item from 0x4D to 0x4E
    • Changed ID of Entity Teleport from 0x4E to 0x4F
    • Changed ID of Advancements from 0x4F to 0x50
    • Changed ID of Entity Properties from 0x50 to 0x51
    • Changed ID of Entity Effect from 0x51 to 0x52
    • Changed ID of Declare Recipes from 0x52 to 0x53
    • Changed ID of Tags from 0x53 to 0x54

17w50a

  • Protocol version 351

17w49b

  • Protocol version 350

17w49a

  • Protocol version 349
  • Added Tags
  • Re-added mode 2 (update display text) and render mode to Scoreboard Objective; Scoreboard Objective now uses a VarInt enum instead of strings for modes.

17w48a

  • Protocol version 348
  • Craft Recipe Response, Craft Recipe Request, Unlock Recipes, and Recipe Book Data now use identifies instead of numeric recipe IDs
  • Added Declare Recipes
  • Reverted changes to Block Action.

17w47b

  • Protocol version 347

17w47a

  • Protocol version 346
  • Reworked statistics - now uses numeric Category IDs and Statistic IDs instead of a text ID.
  • Added start and length fields to Tab-Complete (clientbound) (0x10)
  • The flattening - all block state IDs are different now.
  • The direct palette in the chunk data packet no longer writes any fields, instead of writing a 0 for the equivalent of the length.
  • Slots no longer have metadata with them.
  • Removed mode 2 (update display text) and render type from from Scoreboard Objective.
  • Changed the order of the fields for Block Action, but only when reading, not when writing
  • Removed action 5 from Update Block Entity (Set type of flower in flower pot)
  • Changed behavior of effect IDs 1010 (play record) and 2001 ("Block break + block break sound") in the Effect packet to use new IDs.
  • Note blocks no longer use the id and parameter for its block action; instead, they use their block state.

17w46a

  • Protocol version 345
  • Re-added Tab-Complete (clientbound), with a new structure.
  • Re-added Tab-Complete (serverbound), with a new structure.
  • Implemented Declare Commands.
  • Clientbound packet ID changes:
    • Changed ID of (newly-re-added) Tab-Complete (clientbound) from 0x0E to 0x10
    • Changed ID of Declare Commands from 0x10 to 0x11
    • Changed ID of Confirm Transaction (clientbound) from 0x11 to 0x12
    • Changed ID of Close Window (clientbound) from 0x12 to 0x13
    • Changed ID of Open Window from 0x13 to 0x14
    • Changed ID of Window Items from 0x14 to 0x15
    • Changed ID of Window Property from 0x15 to 0x16
    • Changed ID of Set Slot from 0x16 to 0x17
    • Changed ID of Set Cooldown from 0x17 to 0x18
    • Changed ID of Plugin Message (clientbound) from 0x18 to 0x19
    • Changed ID of Named Sound Effect from 0x19 to 0x1A
    • Changed ID of Disconnect (play) from 0x1A to 0x1B
    • Changed ID of Entity Status from 0x1B to 0x1C
    • Changed ID of Explosion from 0x1C to 0x1D
    • Changed ID of Unload Chunk from 0x1D to 0x1E
    • Changed ID of Change Game State from 0x1E to 0x1F
    • Changed ID of Keep Alive (clientbound) from 0x1F to 0x20
    • Changed ID of Chunk Data from 0x20 to 0x21
    • Changed ID of Effect from 0x21 to 0x22
    • Changed ID of Particle from 0x22 to 0x23
    • Changed ID of Join Game from 0x23 to 0x24
    • Changed ID of Map from 0x24 to 0x25
    • Changed ID of Entity from 0x25 to 0x26
    • Changed ID of Entity Relative Move from 0x26 to 0x27
    • Changed ID of Entity Look And Relative Move from 0x27 to 0x28
    • Changed ID of Entity Look from 0x28 to 0x29
    • Changed ID of Vehicle Move (clientbound) from 0x29 to 0x2A
    • Changed ID of Open Sign Editor from 0x2A to 0x2B
    • Changed ID of Craft Recipe Response from 0x2B to 0x2C
    • Changed ID of Player Abilities (clientbound) from 0x2C to 0x2D
    • Changed ID of Combat Event from 0x2D to 0x2E
    • Changed ID of Player List Item from 0x2E to 0x2F
    • Changed ID of Player Position And Look (clientbound) from 0x2F to 0x30
    • Changed ID of Use Bed from 0x30 to 0x31
    • Changed ID of Unlock Recipes from 0x31 to 0x32
    • Changed ID of Destroy Entities from 0x32 to 0x33
    • Changed ID of Remove Entity Effect from 0x33 to 0x34
    • Changed ID of Resource Pack Send from 0x34 to 0x35
    • Changed ID of Respawn from 0x35 to 0x36
    • Changed ID of Entity Head Look from 0x36 to 0x37
    • Changed ID of Select Advancement Tab from 0x37 to 0x38
    • Changed ID of World Border from 0x38 to 0x39
    • Changed ID of Camera from 0x39 to 0x3A
    • Changed ID of Held Item Change (clientbound) from 0x3A to 0x3B
    • Changed ID of Display Scoreboard from 0x3B to 0x3C
    • Changed ID of Entity Metadata from 0x3C to 0x3D
    • Changed ID of Attach Entity from 0x3D to 0x3E
    • Changed ID of Entity Velocity from 0x3E to 0x3F
    • Changed ID of Entity Equipment from 0x3F to 0x40
    • Changed ID of Set Experience from 0x40 to 0x41
    • Changed ID of Update Health from 0x41 to 0x42
    • Changed ID of Scoreboard Objective from 0x42 to 0x43
    • Changed ID of Set Passengers from 0x43 to 0x44
    • Changed ID of Teams from 0x44 to 0x45
    • Changed ID of Update Score from 0x45 to 0x46
    • Changed ID of Spawn Position from 0x46 to 0x47
    • Changed ID of Time Update from 0x47 to 0x48
    • Changed ID of Title from 0x48 to 0x49
    • Changed ID of Stop Sound 0x49 to 0x4A
    • Changed ID of Sound Effect from 0x4A to 0x4B
    • Changed ID of Player List Header And Footer from 0x4B to 0x4C
    • Changed ID of Collect Item from 0x4C to 0x4D
    • Changed ID of Entity Teleport from 0x4D to 0x4E
    • Changed ID of Advancements from 0x4E to 0x4F
    • Changed ID of Entity Properties from 0x4F to 0x50
    • Changed ID of Entity Effect from 0x50 to 0x51
  • Reverted most of the serverbound packet ID changes from 17w45a. The only remaining changes from 1.12.2 are:
    • Changed ID of Chat Message (serverbound) from 0x02 to 0x01
    • Changed ID of Client Status from 0x03 to 0x02
    • Changed ID of Client Settings from 0x04 to 0x03
    • Changed ID of (newly-re-added) Tab-Complete (serverbound) from 0x01 to 0x04


17w45b

  • Protocol version 344

17w45a

  • Protocol version 343
  • Removed Tab-Complete (clientbound) (was 0x0E)
  • Removed Tab-Complete (serverbound) (was 0x01)
  • Added Declare Commands (0x10), with no payload.
  • Named Sound Effect (0x19) now uses identifiers
  • Data format for Particle (0x22) is changed
  • Added Stop Sound (0x49), replacing the former MC|StopSound plugin channel
  • Packet ID changes - Clientbound
    • Changed ID of Chat Message (clientbound) from 0x0F to 0x0E
    • Changed ID of Multi Block Change from 0x10 to 0x0F
    • Changed ID of Sound Effect from 0x49 to 0x4A
    • Changed ID of Player List Header And Footer from 0x4A to 0x4B
    • Changed ID of Collect Item from 0x4B to 0x4C
    • Changed ID of Entity Teleport from 0x4C to 0x4D
    • Changed ID of Advancements from 0x4D to 0x4E
    • Changed ID of Entity Properties from 0x4E to 0x4F
    • Changed ID of Entity Effect from 0x4F to 0x50
  • Packet ID changes - Serverbound
    • Changed ID of Chat Message (serverbound) from 0x02 to 0x01
    • Changed ID of Client Status from 0x03 to 0x02
    • Changed ID of Client Settings from 0x04 to 0x03
    • Changed ID of Confirm Transaction (serverbound) from 0x05 to 0x04
    • Changed ID of Enchant Item from 0x06 to 0x05
    • Changed ID of Click Window from 0x07 to 0x06
    • Changed ID of Close Window (serverbound) from 0x08 to 0x07
    • Changed ID of Plugin Message (serverbound) from 0x09 to 0x08
    • Changed ID of Use Entity from 0x0A to 0x09
    • Changed ID of Keep Alive (serverbound) from 0x0B to 0x0A
    • Changed ID of Player from 0x0C to 0x0B
    • Changed ID of Player Position from 0x0D to 0x0C
    • Changed ID of Player Position And Look (serverbound) from 0x0E to 0x0D
    • Changed ID of Player Look from 0x0F to 0x0E
    • Changed ID of Vehicle Move (serverbound) from 0x10 to 0x0F
    • Changed ID of Steer Boat from 0x11 to 0x10
    • Changed ID of Craft Recipe Request from 0x12 to 0x11
    • Changed ID of Player Abilities (serverbound) from 0x13 to 0x12
    • Changed ID of Player Digging from 0x14 to 0x13
    • Changed ID of Entity Action from 0x15 to 0x14
    • Changed ID of Steer Vehicle from 0x16 to 0x15
    • Changed ID of Crafting Book Data from 0x17 to 0x16
    • Changed ID of Resource Pack Status from 0x18 to 0x17
    • Changed ID of Advancement Tab from 0x19 to 0x18
    • Changed ID of Held Item Change (serverbound) from 0x1A to 0x19
    • Changed ID of Creative Inventory Action from 0x1B to 0x1A
    • Changed ID of Update Sign from 0x1C to 0x1B
    • Changed ID of Animation (serverbound) from 0x1D to 0x1C
    • Changed ID of Spectate from 0x1E to 0x1D
    • Changed ID of Player Block Placement from 0x1F to 0x1E
    • Changed ID of Use Item from 0x20 to 0x1F

17w43b

  • Protocol version 342

17w43a

  • Protocol version 341

1.12.2

  • Protocol version 340

1.12.2-pre1, -pre2

  • Protocol version 339
  • Changed parameters in Keep Alive (clientbound - 0x1F) and Keep Alive (serverbound - 0x0B) from VarInts to longs.

1.12.1

  • Protocol version 338

1.12.1-pre1

  • Protocol version 337

17w31a

  • Protocol version 336
  • Added Craft Recipe Response (0x2B)
  • Removed Prepare Crafting Grid (0x01) and replaced it with Craft Recipe Request (0x12)
  • Packet ID changes:
    • Changed ID of Player Abilities (clientbound) from 0x2B to 0x2C
    • Changed ID of Combat Event from 0x2C to 0x2D
    • Changed ID of Player List Item from 0x2D to 0x2E
    • Changed ID of Player Position And Look (clientbound) from 0x2E to 0x2F
    • Changed ID of Use Bed from 0x2F to 0x30
    • Changed ID of Unlock Recipes from 0x30 to 0x31
    • Changed ID of Destroy Entities from 0x31 to 0x32
    • Changed ID of Remove Entity Effect from 0x32 to 0x33
    • Changed ID of Resource Pack Send from 0x33 to 0x34
    • Changed ID of Respawn from 0x34 to 0x35
    • Changed ID of Entity Head Look from 0x35 to 0x36
    • Changed ID of Select Advancement Tab from 0x36 to 0x37
    • Changed ID of World Border from 0x37 to 0x38
    • Changed ID of Camera from 0x38 to 0x39
    • Changed ID of Held Item Change (clientbound) from 0x39 to 0x3A
    • Changed ID of Display Scoreboard from 0x3A to 0x3B
    • Changed ID of Entity Metadata from 0x3B to 0x3C
    • Changed ID of Attach Entity from 0x3C to 0x3D
    • Changed ID of Entity Velocity from 0x3D to 0x3E
    • Changed ID of Entity Equipment from 0x3E to 0x3F
    • Changed ID of Set Experience from 0x3F to 0x40
    • Changed ID of Update Health from 0x40 to 0x41
    • Changed ID of Scoreboard Objective from 0x41 to 0x42
    • Changed ID of Set Passengers from 0x42 to 0x43
    • Changed ID of Teams from 0x43 to 0x44
    • Changed ID of Update Score from 0x44 to 0x45
    • Changed ID of Spawn Position from 0x45 to 0x46
    • Changed ID of Time Update from 0x46 to 0x47
    • Changed ID of Title from 0x47 to 0x48
    • Changed ID of Sound Effect from 0x48 to 0x49
    • Changed ID of Player List Header And Footer from 0x49 to 0x4A
    • Changed ID of Collect Item from 0x4A to 0x4B
    • Changed ID of Entity Teleport from 0x4B to 0x4C
    • Changed ID of Advancements from 0x4C to 0x4D
    • Changed ID of Entity Properties from 0x4D to 0x4E
    • Changed ID of Entity Effect from 0x4E to 0x4F
    • Changed ID of Tab-Complete (serverbound) from 0x02 to 0x01
    • Changed ID of Chat Message (serverbound) from 0x03 to 0x02
    • Changed ID of Client Status from 0x04 to 0x03
    • Changed ID of Client Settings from 0x05 to 0x04
    • Changed ID of Confirm Transaction (serverbound) from 0x06 to 0x05
    • Changed ID of Enchant Item from 0x07 to 0x06
    • Changed ID of Click Window from 0x08 to 0x07
    • Changed ID of Close Window (serverbound) from 0x09 to 0x08
    • Changed ID of Plugin Message (serverbound) from 0x0A to 0x09
    • Changed ID of Use Entity from 0x0B to 0x0A
    • Changed ID of Keep Alive (serverbound) from 0x0C to 0x0B
    • Changed ID of Player from 0x0D to 0x0C
    • Changed ID of Player Position from 0x0E to 0x0D
    • Changed ID of Player Position And Look (serverbound) from 0x0F to 0x0E
    • Changed ID of Player Look from 0x10 to 0x0F
    • Changed ID of Vehicle Move (serverbound) from 0x11 to 0x10
    • Changed ID of Steer Boat from 0x12 to 0x11

1.12

  • Protocol version 335

1.12-pre7

  • Protocol version 334

1.12-pre6

  • Protocol version 333
  • Unlock Recipes (0x30): Changed type of Action from Short to VarInt
  • Crafting Book Data (0x17): Changed type of Type from Int to VarInt

1.12-pre5

  • Protocol version 332
  • Travesty! Packet ID changes! Except they aren't actually that horrible, as they're actually mainly reverting changes from before:
Clientbound
    • Changed ID of Block Break Animation from 0x09 to 0x08
    • Changed ID of Update Block Entity from 0x0A to 0x09
    • Changed ID of Block Action from 0x0B to 0x0A
    • Changed ID of Block Change from 0x0C to 0x0B
    • Changed ID of Boss Bar from 0x0D to 0x0C
    • Changed ID of Server Difficulty from 0x0E to 0x0D
    • Changed ID of Tab-Complete (clientbound) from 0x0F to 0x0E
    • Changed ID of Chat Message (clientbound) from 0x10 to 0x0F
    • Changed ID of Multi Block Change from 0x11 to 0x10
    • Changed ID of Confirm Transation (clientbound) from 0x12 to 0x11
    • Changed ID of Close Window (clientbound) from 0x13 to 0x12
    • Changed ID of Open Window from 0x14 to 0x13
    • Changed ID of Window Items from 0x15 to 0x14
    • Changed ID of Window Property from 0x16 to 0x15
    • Changed ID of Set Slot from 0x17 to 0x16
    • Changed ID of Set Cooldown from 0x18 to 0x17
    • Changed ID of Plugin Message (clientbound) from 0x19 to 0x18
    • Changed ID of Named Sound Effect from 0x1A to 0x19
    • Changed ID of Disconnect (play) from 0x1B to 0x1A
    • Changed ID of Entity Status from 0x1C to 0x1B
    • Changed ID of Explosion from 0x1D to 0x1C
    • Changed ID of Unload Chunk from 0x1E to 0x1D
    • Changed ID of Change Game State from 0x1F to 0x1E
    • Changed ID of Keep Alive (clientbound) from 0x20 to 0x1F
    • Changed ID of Chunk Data from 0x21 to 0x20
    • Changed ID of Effect from 0x22 to 0x21
    • Changed ID of Particle from 0x23 to 0x22
    • Changed ID of Join Game from 0x24 to 0x23
    • Changed ID of Particle from 0x25 to 0x24
    • Changed ID of Entity from 0x28 to 0x25
    • Changed ID of Vehicle Move (clientbound) from 0x2A to 0x29
    • Changed ID of Open Sign Editor from 0x2B to 0x2A
    • Changed ID of Player Abilities (clientbound) from 0x2C to 0x2B
    • Changed ID of Combat Event from 0x2D to 0x2C
    • Changed ID of Player List Item from 0x2E to 0x2D
    • Changed ID of Player Position And Look (clientbound) from 0x2F to 0x2E
    • Changed ID of Use Bed from 0x30 to 0x2F
    • Changed ID of Unlock Recipes from 0x31 to 0x30
    • Changed ID of Destroy Entities from 0x32 to 0x31
    • Changed ID of Remove Entity Effect from 0x33 to 0x32
    • Changed ID of Resource Pack Send from 0x34 to 0x33
    • Changed ID of Respawn from 0x35 to 0x34
    • Changed ID of Entity Head Look from 0x36 to 0x35
    • Changed ID of Advancement Progress from 0x4E to 0x36
    • Changed ID of Advancements from 0x08 to 0x4C
    • Changed ID of Entity Properties from 0x4C to 0x4D
    • Changed ID of Entity Effect from 0x4D to 0x4E
Serverbound
    • Changed ID of Player from 0x10 to 0x0D
    • Changed ID of Player Position from 0x0D to 0x0E
    • Changed ID of Player Position And Look (serverbound) from 0x0E to 0x0F
    • Changed ID of Player Look 0x0F to 0x10
    • Changed ID of Advancement Tab from 0x20 to 0x19
    • Changed ID of Held Item Change (serverbound) from 0x19 to 0x1A
    • Changed ID of Creative Inventory Action from 0x1A to 0x1B
    • Changed ID of Update Sign from 0x1B to 0x1C
    • Changed ID of Animation (serverbound) from 0x1C to 0x1D
    • Changed ID of Spectate from 0x1D to 0x1E
    • Changed ID of Player Block Placement from 0x1E to 0x1F
    • Changed ID of Use Item from 0x1F to 0x20
  • The above changes produce this set of changes from 1.11.2 (which is less horrible than you'd think, since the majority of the above changes "unshift" from before):
Clientbound
    • Changed ID of Entity from 0x28 to 0x25
    • Changed ID of Entity Relative Move from 0x25 to 0x26
    • Changed ID of Entity Look And Relative Move from 0x26 to 0x27
    • Changed ID of Entity Look from 0x27 to 0x28
    • Added Unlock Recipes as 0x30
    • Changed ID of Destroy Entities from 0x30 to 0x31
    • Changed ID of Remove Entity Effect from 0x31 to 0x32
    • Changed ID of Resource Pack Send from 0x32 to 0x33
    • Changed ID of Respawn from 0x33 to 0x34
    • Changed ID of Entity Head Look from 0x34 to 0x35
    • Added Advancement Progress as 0x36
    • Changed ID of World Border from 0x35 to 0x37
    • Changed ID of Camera from 0x36 to 0x38
    • Changed ID of Held Item Change (clientbound) from 0x37 to 0x39
    • Changed ID of Display Scoreboard from 0x38 to 0x3A
    • Changed ID of Entity Metadata from 0x39 to 0x3B
    • Changed ID of Attach Entity from 0x3A to 0x3C
    • Changed ID of Entity Velocity from 0x3B to 0x3D
    • Changed ID of Entity Equipment from 0x3C to 0x3E
    • Changed ID of Set Experience from 0x3D to 0x3F
    • Changed ID of Update Health from 0x3E to 0x40
    • Changed ID of Scoreboard Objective from 0x3F to 0x41
    • Changed ID of Set Passengers from 0x40 to 0x42
    • Changed ID of Teams from 0x41 to 0x43
    • Changed ID of Update Score from 0x42 to 0x44
    • Changed ID of Spawn Position from 0x43 to 0x45
    • Changed ID of Time Update from 0x44 to 0x46
    • Changed ID of Title from 0x45 to 0x47
    • Changed ID of Sound Effect from 0x46 to 0x48
    • Changed ID of Player List Header And Footer from 0x47 to 0x49
    • Changed ID of Collect Item from 0x48 to 0x4A
    • Changed ID of Entity Teleport from 0x49 to 0x4B
    • Added Advancements as 0x4C
    • Changed ID of Entity Properties from 0x4A to 0x4D
    • Changed ID of Entity Effect from 0x4B to 0x4E
Serverbound
    • Added Prepare Crafting Grid as 0x01
    • Changed ID of Tab-Complete (serverbound) from 0x01 to 0x02
    • Changed ID of Chat Message (serverbound) from 0x02 to 0x03
    • Changed ID of Client Status from 0x03 to 0x04
    • Changed ID of Client Settings from 0x04 to 0x05
    • Changed ID of Confirm Transaction (serverbound) from 0x05 to 0x06
    • Changed ID of Enchant Item from 0x06 to 0x07
    • Changed ID of Click Window from 0x07 to 0x08
    • Changed ID of Close Window (serverbound) from 0x08 to 0x09
    • Changed ID of Plugin Message (serverbound) from 0x09 to 0x0A
    • Changed ID of Use Entity from 0x0A to 0x0B
    • Changed ID of Keep Alive (serverbound) from 0x0B to 0x0C
    • Changed ID of Player from 0x0F to 0x0D
    • Changed ID of Player Position from 0x0C to 0x0E
    • Changed ID of Player Position And Look (serverbound) from 0x0D to 0x0F
    • Changed ID of Player Look from 0x0E to 0x10
    • Changed ID of Vehicle Move (serverbound) from 0x10 to 0x11
    • Changed ID of Steer Boat from 0x11 to 0x12
    • Changed ID of Player Abilities (serverbound) from 0x12 to 0x13
    • Changed ID of Player Digging from 0x13 to 0x14
    • Changed ID of Entity Action from 0x14 to 0x15
    • Changed ID of Steer Vehicle from 0x15 to 0x16
    • Added Crafting Book Data as 0x17
    • Changed ID of Resource Pack Status from 0x16 to 0x18
    • Added Advancement Tab as 0x19
    • Changed ID of Held Item Change (serverbound) from 0x17 to 0x1A
    • Changed ID of Creative Inventory Action from 0x18 to 0x1B
    • Changed ID of Update Sign from 0x19 to 0x1C
    • Changed ID of Animation (serverbound) from 0x1A to 0x1D
    • Changed ID of Spectate from 0x1B to 0x1E
    • Changed ID of Player Block Placement from 0x1C to 0x1F
    • Changed ID of Use Item Current (unchanged) from 0x1D to 0x20

1.12-pre4

  • Protocol version 331

1.12-pre3

  • Protocol version 330
  • Added Advancement Progress (0x4E)
  • Added Advancement Tab (0x20)
  • Translation component now converts chat.type.text (<%s> %s) to chat.type.text.narrate (%s says %s) when passing info to narrator.
  • Client Settings (0x05): max length of language was changed from 7 to 16 (see MC-111054)
  • Maximum length for MC|ItemName is now 35 instead of 30 (see MC-112017)

1.12-pre2

  • Protocol version 329

1.12-pre1

  • Protocol version 328
  • Removed show toast and has background booleans from Advancements (0x08); changed it to a flags Integer (0x1: has background texture; 0x2: show_toast; 0x4: hidden).

17w18b

  • Protocol version 327

17w18a

  • Protocol version 326
  • Reverted the changes to name sound effect (0x48) made in 17w15a
  • Advancements (0x08):
    • Added a Show toast boolean before the coordinates
    • Made x coord and y coord floats instead of varints

17w17b

  • Protocol version 325
  • Prepare Crafting Grid: array sizes are shorts instead of bytes
  • Added the keybind chat component

17w17a

  • Protocol version 324
  • Advancements (0x08): Changed Icon from a raw ID to a Slot
  • Unlock Recipes (0x31):
    • Removed notification; in its place added a short for the action
    • Changed the packet to have 2 arrays: one for recipes to display, one to silently add.
    • Hardcoded recipe IDs

17w16b

  • Protocol version 323

17w16a

  • Protocol version 322
  • Added IllusionIllager (entity ID 37)
  • Added Flute (5, used for clay; plays block.note.flute), Bell (6, used for gold blocks; plays block.note.bell), Guitar (7, used for wool; plays block.note.guitar), Chime (8, used for packed ice; plays block.note.chime), and Xylophone (9, used for bone blocks; plays block.note.xylophone) sounds for note block block action (at this time, there were no sounds associated with the sound event, though)
  • Added living entity statuses 36 (drowning) and 37 (burning)

17w15a

  • Protocol version 321
  • Changed name sound effect (0x48):
    • Sound category moved to the top
    • Added Parrotted entity type field after sound ID
  • Added ID 11 (Set the color of a bed) to Update Block Entity (0x0A)
  • Advancements (0x08):
    • Fixed Has parent only being written, not read
    • Added chat blob for Description (after title)

17w14a

  • Protocol version 320
  • Advancements (clientbound, id 0x08):
    • Fixed reading/writing y coord as different types
    • ... but broke Has parent (only writing it, not reading it)
    • Added type goal (id 2)
  • Unlock Recipes (0x31):
    • Added a boolean flag for whether a 'New Recipes Unlocked!' should be displayed
    • Added a boolean flag for whether the crafting book should be opened when the inventory is opened
    • Added a boolean flag for whether filtering will be active when the inventory is opened
  • Prepare Crafting Grid (0x01):
    • Replaced boolean flag with an Int enum (not VarInt) for the layout of the packet
    • Added an array (size-prefixed) of prepare items (before the return items)
    • Changed the partial ID in Return Entry to a full item

17w13b

  • Protocol version 319
  • Removed Open Inventory (id 2) from Client Status (0x04)

17w13a

  • Protocol version 318
  • Entity metadata:
    • Added NBT tag as a metadata type
    • Added Parrots (ID 105). Has one metadata field of type Varint (id 15), which is the variant.
    • Added 2 metadata fields to players, both of type NBT tag. 15 is the left shoulder parrot, and 16 is the right shoulder parrot.
  • Added Identifier as a protocol type (this is basically a string with special handling)
  • Added several packets:
    • Advancements (clientbound, id 0x08)
      • Malformed due to reading one type for y coord and writing another
    • Unlock Recipe (clientbound, id 0x31)
    • Prepare Crafting Grid (originally incorrectly labeled Crafting Book Data) (id 0x01)
    • Crafting Book Data (originally incorrectly Recipe displayed) (serverbound, 0x17)
  • Shifted a ton of packets (NOTE: before implementing this, note that some were shifted back in 1.12-pre5):
Clientbound
    • Changed ID of Block Break Animation changed from 0x08 to 0x09
    • Changed ID of Update Block Entity changed from 0x09 to 0x0A
    • Changed ID of Block Action changed from 0x0A to 0x0B
    • Changed ID of Block Change changed from 0x0B to 0x0C
    • Changed ID of Boss Bar changed from 0x0C to 0x0D
    • Changed ID of Server Difficulty changed from 0x0D to 0x0E
    • Changed ID of Tab-Complete (clientbound) changed from 0x0E to 0x0F
    • Changed ID of Chat Message (clientbound) changed from 0x0F to 0x10
    • Changed ID of Multi Block Change changed from 0x10 to 0x11
    • Changed ID of Confirm Transation (clientbound) changed from 0x11 to 0x12
    • Changed ID of Close Window (clientbound) changed from 0x12 to 0x13
    • Changed ID of Open Window changed from 0x13 to 0x14
    • Changed ID of Window Items changed from 0x14 to 0x15
    • Changed ID of Window Property changed from 0x15 to 0x16
    • Changed ID of Set Slot changed from 0x16 to 0x17
    • Changed ID of Set Cooldown changed from 0x17 to 0x18
    • Changed ID of Plugin Message (clientbound) changed from 0x18 to 0x19
    • Changed ID of Named Sound Effect changed from 0x19 to 0x1A
    • Changed ID of Disconnect (play) changed from 0x1A to 0x1B
    • Changed ID of Entity Status changed from 0x1B to 0x1C
    • Changed ID of Explosion changed from 0x1C to 0x1D
    • Changed ID of Unload Chunk changed from 0x1D to 0x1E
    • Changed ID of Change Game State changed from 0x1E to 0x1F
    • Changed ID of Keep Alive (clientbound) changed from 0x1F to 0x20
    • Changed ID of Chunk Data changed from 0x20 to 0x21
    • Changed ID of Effect changed from 0x21 to 0x22
    • Changed ID of Particle changed from 0x22 to 0x23
    • Changed ID of Join Game changed from 0x23 to 0x24
    • Changed ID of Particle changed from 0x24 to 0x25
    • Changed ID of Entity Relative Move changed from 0x25 to 0x26
    • Changed ID of Entity Look And Relative Move changed from 0x26 to 0x27
    • Changed ID of Entity Look changed from 0x27 to 0x28
    • Changed ID of Entity changed from 0x28 to 0x29
    • Changed ID of Vehicle Move (clientbound) changed from 0x29 to 0x2A
    • Changed ID of Open Sign Editor changed from 0x2A to 0x2B
    • Changed ID of Player Abilities (clientbound) changed from 0x2B to 0x2C
    • Changed ID of Combat Event changed from 0x2C to 0x2D
    • Changed ID of Player List Item changed from 0x2D to 0x2E
    • Changed ID of Player Position And Look (clientbound) changed from 0x2E to 0x2F
    • Changed ID of Use Bed changed from 0x2F to 0x30
    • Changed ID of Destroy Entities changed from 0x30 to 0x32
    • Changed ID of Remove Entity Effect changed from 0x31 to 0x33
    • Changed ID of Resource Pack Send changed from 0x32 to 0x34
    • Changed ID of Respawn changed from 0x33 to 0x35
    • Changed ID of Entity Head Look changed from 0x34 to 0x36
    • Changed ID of World Border changed from 0x35 to 0x37
    • Changed ID of Camera changed from 0x36 to 0x38
    • Changed ID of Held Item Change (clientbound) changed from 0x37 to 0x39
    • Changed ID of Display Scoreboard changed from 0x38 to 0x3A
    • Changed ID of Entity Metadata changed from 0x39 to 0x3B
    • Changed ID of Attach Entity changed from 0x3A to 0x3C
    • Changed ID of Entity Velocity changed from 0x3B to 0x3D
    • Changed ID of Entity Equipment changed from 0x3C to 0x3E
    • Changed ID of Set Experience changed from 0x3D to 0x3F
    • Changed ID of Update Health changed from 0x3E to 0x40
    • Changed ID of Scoreboard Objective changed from 0x3F to 0x41
    • Changed ID of Set Passengers changed from 0x40 to 0x42
    • Changed ID of Teams changed from 0x41 to 0x43
    • Changed ID of Update Score changed from 0x42 to 0x44
    • Changed ID of Spawn Position changed from 0x43 to 0x45
    • Changed ID of Time Update changed from 0x44 to 0x46
    • Changed ID of Title changed from 0x45 to 0x47
    • Changed ID of Sound Effect changed from 0x46 to 0x48
    • Changed ID of Player List Header And Footer changed from 0x47 to 0x49
    • Changed ID of Collect Item changed from 0x48 to 0x4A
    • Changed ID of Entity Teleport changed from 0x49 to 0x4B
    • Changed ID of Entity Properties changed from 0x4A to 0x4C
    • Changed ID of Entity Effect changed from 0x4B to 0x4D
Serverbound
    • Changed ID of Tab-Complete (serverbound) changed from 0x01 to 0x02
    • Changed ID of Chat Message (serverbound) changed from 0x02 to 0x03
    • Changed ID of Client Status changed from 0x03 to 0x04
    • Changed ID of Client Settings changed from 0x04 to 0x05
    • Changed ID of Confirm Transaction (serverbound) changed from 0x05 to 0x06
    • Changed ID of Enchant Item changed from 0x06 to 0x07
    • Changed ID of Click Window changed from 0x07 to 0x08
    • Changed ID of Close Window (serverbound) changed from 0x08 to 0x09
    • Changed ID of Plugin Message (serverbound) changed from 0x09 to 0x0A
    • Changed ID of Use Entity changed from 0x0A to 0x0B
    • Changed ID of Keep Alive (serverbound) changed from 0x0B to 0x0C
    • Changed ID of Player Position changed from 0x0C to 0x0D
    • Changed ID of Player Position And Look (serverbound) changed from 0x0D to 0x0E
    • Changed ID of Player Look changed from 0x0E to 0x0F
    • Changed ID of Player changed from 0x0F to 0x10
    • Changed ID of Vehicle Move (serverbound) changed from 0x10 to 0x11
    • Changed ID of Steer Boat changed from 0x11 to 0x12
    • Changed ID of Player Abilities (serverbound) changed from 0x12 to 0x13
    • Changed ID of Player Digging changed from 0x13 to 0x14
    • Changed ID of Entity Action changed from 0x14 to 0x15
    • Changed ID of Steer Vehicle changed from 0x15 to 0x16
    • Changed ID of Resource Pack Status changed from 0x16 to 0x18
    • Changed ID of Held Item Change (serverbound) changed from 0x17 to 0x19
    • Changed ID of Creative Inventory Action changed from 0x18 to 0x1A
    • Changed ID of Update Sign changed from 0x19 to 0x1B
    • Changed ID of Animation (serverbound) changed from 0x1A to 0x1C
    • Changed ID of Spectate changed from 0x1B to 0x1D
    • Changed ID of Player Block Placement changed from 0x1C to 0x1E
    • Changed ID of Use Item changed from 0x1D to 0x1F
  • Removed show_achievement chat hover event

17w06a

  • Protocol version 317

1.11.1, 1.11.2

  • No new protocol version number
  • Added MC|DebugNeighborsUpdate plugin channel

16w50a

  • Protocol version 316
  • New metadata ints for fireworks (#7 - boosted entity ID) and pigs (#14 - total carrot-on-a-stick boost time)
  • Tipped arrow color metadata now uses -1 to indicate that the arrow is not tipped, instead of 0.

1.11

  • Protocol version 315

1.11-pre1

  • Protocol version 314

16w43a, 16w44a

  • Protocol version 313

16w42a

  • Protocol version 312

16w41a

  • Protocol version 311
  • Llama spit now has an entity ID (minecraft:llama_spit)

16w40a

  • Protocol version 310

16w39c

  • Protocol version 309
  • Changed cursor position values in Player Block Placement (0x1C) from ints ranging from 0 to 15 to floats ranging from 0 to 1.

16w39b

  • Protocol version 308
  • Llamas now have a height of 1.87 instead of 1.97

16w39a

  • Protocol version 307
  • Tab Complete (clientbound) (0x0E)'s values are now sorted clientside before being displayed.
  • New entities:
    • EvocationFangs (minecraft:evocation_fangs), #33. No metadata.
    • EvocationIllager (minecraft:evocation_illager), #34. One metadata field, a Boolean of unknown purposes.
    • Vex (minecraft:vex), #35. One metadata field, a Boolean of unknown purposes.
    • VindicationIllager (minecraft:vindication_illager), #36. One metadata field, a Byte of unknown purposes.
    • Llama (minecraft:llama), #103. 3 integer varint fields.
  • Added a new metadata field to shulkers.
  • Added new icons to maps:
    • 8 - far away player
    • 9 - Mansion
    • 10 - Temple
  • Added entity status #35, which plays the totem of undying animation.
  • Added shulker box and llama inventories
  • Added a block action to update shulker box user count
  • The beam generated by an end gateway when it receives a block action 1 is now magenta, instead of yellow

16w38a

  • Protocol version 306
  • Max length for Chat Message (serverbound) (0x02) changed from 100 to 256.
  • Added entity status #34, which causes an iron golem to hide its rose (fixing MC-101642).

16w36a

  • Protocol version 305

16w35a

  • Protocol version 304

16w33a

  • Protocol version 303

16w32b

  • Protocol version 302
  • Added nitwit villager profession (ID 5)
  • Inserted action "set action bar" (id 2) to Protocol#Title (0x45)
    • Shifted the following actions: "set times and display" changed from 2 to 3, "hide" changed from 3 to 4, "reset" changed from 4 to 5"

16w32a

  • Protocol version 301
  • Entity IDs are now in snake_case, are case insensitive, and are namespaced (i.e., prefixed with minecraft:, rather than in CamelCase).
  • Removed entity IDs for Mob (48) and Monster (49)
  • Zombies, skeletons, and horses have been split into their component entities rather than having a Type field (although the Type field still exists on Zombies, it is unused). Metadata specific to each sub entity was shifted as a result.
    • Moved status code 16 (cure zombie effect) from Zombie to Zombie Villager
  • Added "Pickup Item Count" VarInt to the end of Collect Item (0x48)
  • Changed type from an Unsigned Byte to a VarInt in Spawn Mob (0x03)

1.10.2

  • It is again no longer required to send block entities in Chunk Data.

1.10.1

1.10

  • Protocol version 210

1.10-pre2

  • Protocol version 205

1.10-pre1

  • Protocol version 204
  • Removed hash field from Resource Pack Status (0x16)

16w21b

  • Protocol version 203

16w21a

  • Protocol version 202
  • Added "Integrity" (float) and "Seed" (VarLong) fields to the MC|Struct plugin channel

16w20a

  • Protocol version 201
  • Named Sound Effect (0x19) now sends Pitch as Float instead of Unsigned Byte
  • Sound Effect (0x46) now sends Pitch as Float instead of Unsigned Byte
  • Added "Show Air" and "Show Bounding Box" Boolean fields to the MC|Struct plugin channel

1.9.3-pre2

  • Protocol version 110
  • Chunk Data (0x20) now also sends all tile entities in the chunk (at the end of the packet)
  • Removed Update Sign (clientbound) (0x46); Update Block Entity with action 9 should be used instead
  • Changed ID of Sound Effect from 0x47 to 0x46
  • Changed ID of Player List Header And Footer from 0x48 to 0x47
  • Changed ID of Collect Item from 0x49 to 0x48
  • Changed ID of Entity Teleport from 0x4A to 0x49
  • Changed ID of Entity Properties from 0x4B to 0x4A
  • Changed ID of Entity effect from 0x4C to 0x4B
  • Added MC|StopSound plugin, used with the /stopsound command.

1.9.2

  • Protocol version 109
  • Protocol version probably was incremented to force Realms users to update due to a bug that broke Realms.

1.RV-Pre1

  • Another april fools snapshot; changes from it were not kept in the next release.
  • Added several items and blocks
  • Did not change the protocol version, so it is able to connect to 1.9.1 servers.

1.9.1-pre2, 1.9.1-pre3, 1.9.1

  • Protocol version 108
  • Changed dimension in Join Game from a byte enum to an int enum (not VarInt), to the benefit of Minecraft Forge

1.9.1-pre1

  • Protocol version was not changed
  • Type in Entity Metadata is now a VarInt enum instead of a Byte enum.
    • Since there are very few actual metadata serializers, this does not break anything.

1.9

  • Protocol version 107

1.9-pre4

  • Protocol version 106

1.9-pre3

  • Protocol version 105

1.9-pre2

  • Protocol version 104

1.9-pre1

  • Protocol version 103

16w07b

  • Protocol version 102

16w07a

  • Protocol version 101

16w06a

  • Protocol version 100
  • Changed fixed-point ints for x, y, and z coordinates to doubles in Spawn Object (0x00), Spawn Experience Orb (0x01), Spawn Global Entity (0x02), Spawn Mob (0x03), Spawn Player (0x05), and Entity Teleport (0x4A).
  • Changed byte-based fixed deltas measured in 32ndths of a block to short-based fixed deltas measured as (currentX * 32 - prevX * 32) * 128 in Entity Relative Move (0x25) and Entity Look And Relative Move (0x26). As such, these packets are used for movements of at max 8 blocks instead of at max 4 blocks.

16w05b

  • Protocol version 99

16w05a

  • Protocol version 98

16w04a

  • Protocol version 97
  • Changed floats in Steer Boat (0x11) to booleans

16w03a

  • Protocol version 96

16w02a

  • Protocol version 95
  • Added a UUID to Spawn Painting (0x04) after entity ID
  • Added VarInt enum category to Named Sound Effect (0x19)
  • Added VarInt enum category to Sound Effect (0x47)

15w51b

  • Protocol version 94

15w51a

  • Protocol version 93

15w50a

  • Protocol version 92

15w49b

  • Protocol version 91

15w49a

  • Protocol version 90

15w47c

  • Protocol version 89

15w47b

  • Protocol version 88

15w47a

  • Protocol version 87

15w46a

  • Protocol version 86

Clientbound

  • Removed Set Compression (0x1E) during play. Its login varient should be used instead.
  • Changed ID of Change Game State from 0x1F to 0x1E
  • Changed ID of Keep Alive from 0x20 to 0x1F
  • Changed ID of Chunk Data from 0x21 to 0x20
  • Changed ID of Effect from 0x22 to 0x21
  • Changed ID of Particle from 0x23 to 0x22
  • Changed ID of Join Game from 0x24 to 0x23
  • Changed ID of Map from 0x25 to 0x24
  • Changed ID of Entity Relative Move from 0x26 to 0x25
  • Changed ID of Entity Look and Relative Move from 0x27 to 0x26
  • Changed ID of Entity Look from 0x28 to 0x27
  • Changed ID of Entity from 0x29 to 0x28
  • Changed ID of Vehicle Move from 0x2A to 0x29
  • Changed ID of Open Sign Editor from 0x2B to 0x2A
  • Changed ID of Player Abilities from 0x2C to 0x2B
  • Changed ID of Combat Event from 0x2D to 0x2C
  • Changed ID of Player List Item from 0x2E to 0x2D
  • Changed ID of Player Position and Look from 0x2F to 0x2E
  • Changed ID of Use Bed from 0x30 to 0x2F
  • Changed ID of Destroy Entities from 0x31 to 0x30
  • Changed ID of Remove Entity Effect from 0x32 to 0x31
  • Changed ID of Resource Pack Send from 0x33 to 0x32
  • Changed ID of Respawn from 0x34 to 0x33
  • Changed ID of Entity Head Look from 0x35 to 0x34
  • Changed ID of World Border from 0x36 to 0x35
  • Changed ID of Camera from 0x37 to 0x36
  • Changed ID of Held Item Change from 0x38 to 0x37
  • Changed ID of Display Scoreboard from 0x39 to 0x38
  • Changed ID of Entity Metadata from 0x3A to 0x39
  • Changed ID of Attach Entity from 0x3B to 0x3A
  • Changed ID of Entity Velocity from 0x3C to 0x3B
  • Changed ID of Entity Equipment from 0x3D to 0x3C
  • Changed ID of Set Experience from 0x3E to 0x3D
  • Changed ID of Update Health from 0x3F to 0x3E
  • Changed ID of Scoreboard Objective from 0x40 to 0x3F
  • Changed ID of Set Passangers from 0x41 to 0x40
  • Changed ID of Teams from 0x42 to 0x41
  • Changed ID of Update Score from 0x43 to 0x42
  • Changed ID of Spawn Position from 0x44 to 0x43
  • Changed ID of Time Update from 0x45 to 0x44
  • Changed ID of Title from 0x46 to 0x45
  • Changed ID of Update Sign from 0x47 to 0x46
  • Changed ID of Sound Effect from 0x48 to 0x47
  • Changed ID of Player List Header and Footer from 0x49 to 0x48
  • Changed ID of Collect Item from 0x4A to 0x49
  • Changed ID of Entity Teleport from 0x4B to 0x4A
  • Changed ID of Entity Properties from 0x4C to 0x4B
  • Changed ID of Entity Effect from 0x4D to 0x4C

15w45a

  • Protocol version 85

15w44b

  • Protocol version 84

15w44a

  • Protocol version 83
  • Click Window (0x07)'s mode field is now a VarInt enum instead of a byte enum

15w43c

  • Protocol version 82

15w43b

  • Protocol version 81

15w43a

  • Protocol version 80

Clientbound

  • Changed ID of Named Sound Effect (previously refered to as Sound Effect) from 0x23 to 0x19
  • Changed ID of Disconnect from 0x19 to 0x1A
  • Changed ID of Entity Status from 0x1A to 0x1B
  • Changed ID of Explosion from 0x1B to 0x1C
  • Changed ID of Unload Chunk from 0x1C to 0x1D
  • Changed ID of Set Compression from 0x1D to 0x1E
  • Changed ID of Set Game State from 0x1E to 0x1F
  • Changed ID of Keep Alive from 0x1F to 0x20
  • Changed ID of Chunk Data from 0x20 to 0x21
  • Changed ID of Effect from 0x21 to 0x22
  • Changed ID of Particle from 0x22 to 0x23
  • Changed ID of Vehicle Move from 0x4C to 0x2A
  • Changed ID of Open Sign Editor from 0x2A to 0x2B
  • Changed ID of Player Abilities from 0x2B to 0x2C
  • Changed ID of Combat Event from 0x2C to 0x2D
  • Changed ID of Player List Item from 0x2D to 0x2E
  • Changed ID of Player Position and Look from 0x2E to 0x2F
  • Changed ID of Use Bed from 0x2F to 0x30
  • Changed ID of Destroy Entities from 0x30 to 0x31
  • Changed ID of Remove Entity Effect from 0x31 to 0x32
  • Changed ID of Resource Pack Send from 0x32 to 0x33
  • Changed ID of Respawn from 0x33 to 0x34
  • Changed ID of Entity Head Look from 0x34 to 0x35
  • Changed ID of World Border from 0x35 to 0x36
  • Changed ID of Camera from 0x36 to 0x37
  • Changed ID of Held Item Change from 0x37 to 0x38
  • Changed ID of Display Scoreboard from 0x38 to 0x39
  • Changed ID of Entity Metadata from 0x39 to 0x3A
  • Changed ID of Set Passangers from 0x3A to 0x41
  • Changed ID of Teams from 0x41 to 0x42
  • Changed ID of Update Score from 0x42 to 0x43
  • Changed ID of Spawn Position from 0x43 to 0x44
  • Changed ID of Time Update from 0x44 to 0x45
  • Changed ID of Title from 0x45 to 0x46
  • Changed ID of Update Sign from 0x46 to 0x47
  • Added Sound Event (numeric ID) with ID 0x48. Structure is VarInt for the ID; x, y, and z as ints; volume as float; and pitch as a byte.
  • Changed ID of Player List Header and Footer from 0x47 to 0x49
  • Changed ID of Collect Item from 0x48 to 0x4A
  • Changed ID of Entity Teleport from 0x49 to 0x4B
  • Changed ID of Entity Properties from 0x4A to 0x4C
  • Changed ID of Entity Effect from 0x4B to 0x4D

Serverbound

  • Changed ID of Teleport Confirm from 0x1D to 0x00
  • Changed ID of Tab Complete from 0x00 to 0x01
  • Changed ID of Chat Message from 0x01 to 0x02
  • Changed ID of Client Status from 0x02 to 0x03
  • Changed ID of Client Settings from 0x03 to 0x04
  • Changed ID of Confirm Transaction from 0x04 to 0x05
  • Changed ID of Enchant Item from 0x05 to 0x06
  • Changed ID of Click Window from 0x06 to 0x07
  • Changed ID of Close Window from 0x07 to 0x08
  • Changed ID of Plugin Message from 0x08 to 0x09
  • Changed ID of Use Entity from 0x09 to 0x0A
  • Changed ID of Keep Alive from 0x0A to 0x0B
  • Changed ID of Vehicle Move from 0x0B to 0x10
  • Changed ID of Steer Boat from 0x1C to 0x11
  • Changed ID of Player Abilities from 0x10 to 0x12
  • Changed ID of Player Digging from 0x11 to 0x13
  • Changed ID of Entity Action from 0x12 to 0x14
  • Changed ID of Steer Vehicle from 0x13 to 0x15
  • Changed ID of Resource Pack Status from 0x14 to 0x16
  • Changed ID of Held Item Change from 0x15 to 0x17
  • Changed ID of Creative Inventory Action from 0x16 to 0x18
  • Changed ID of Update Sign from 0x17 to 0x19
  • Changed ID of Animation from 0x18 to 0x1A
  • Changed ID of Spectate from 0x19 to 0x1B
  • Changed ID of Player Block Placement from 0x1A to 0x1C
  • Changed ID of Use Item from 0x1B to 0x1D

15w42a

  • Protocol version 79
  • Added Teleport ID VarInt field to Player Position and Look (0x2E - clientbound)
  • Added Teleport Confirm (0x1D - serverbound) packet, with a single VarInt for the teleport ID

15w41b

  • Protocol version 78

15w41a

  • Protocol version 77
  • Added an unused MC|DebugPath channel

Clientbound

  • Added Set Passengers (0x3A)
  • Changed ID of Attach Entity from 0x3A to 0x3B
  • Removed "Leash" boolean from Attach Entity - Attach entity is now used only for leashing and Set Passengers is used in all other cases.
  • Changed ID of Entity Velocity from 0x3B to 0x3C
  • Changed ID of Entity Equipment from 0x3C to 0x3D
  • Changed ID of Set Experience from 0x3D to 0x3E
  • Changed ID of Update Health from 0x3E to 0x3F
  • Changed ID of Scoreboard Objectives from 0x3F to 0x40
  • Changed ID of Teams from 0x40 to 0x41
  • Changed ID of Update Score from 0x41 to 0x42
  • Changed ID of Spawn Position from 0x42 to 0x43
  • Changed ID of Time Update from 0x43 to 0x44
  • Changed ID of Title from 0x44 to 0x45
  • Changed ID of Update Sign from 0x45 to 0x46
  • Changed ID of Player List header and footer from 0x46 to 0x47
  • Changed ID of Collect Item from 0x47 to 0x48
  • Changed ID of Entity Teleport from 0x48 to 0x49
  • Changed ID of Entity Properties from 0x49 to 0x4A
  • Changed ID of Entity Effect from 0x4A to 0x4B

Serverbound

  • Added Vehicle Move (0x0B). Its structure is 3 doubles (coordinates) and then 2 floats (yaw and pitch).
  • Changed ID of Player Position from 0x0B to 0x0C
  • Changed ID of Player Position and Look from 0x0C to 0x0D
  • Changed ID of Player Look from 0x0D to 0x0E
  • Changed ID of Player from 0x0E to 0x0F
  • Changed ID of Player Abilities from 0x0F to 0x10
  • Changed ID of Player Digging from 0x10 to 0x11
  • Changed ID of Entity Action from 0x11 to 0x12
  • Changed ID of Steer Vehicle from 0x12 to 0x13
  • Changed ID of Resource Pack Status from 0x13 to 0x14
  • Changed ID of Held Item Change from 0x14 to 0x15
  • Changed ID of Creative Inventory Action from 0x15 to 0x16
  • Changed ID of Update Sign from 0x16 to 0x17
  • Changed ID of Animation from 0x17 to 0x18
  • Changed ID of Spectate from 0x18 to 0x19
  • Changed ID of Player Block Placement from 0x19 to 0x1A
  • Changed ID of Use Item from 0x1A to 0x1B
  • Added Steer Boat packet (0x1C), with 2 floats as a payload.

15w40b

  • Protocol version 76

15w40a

  • Protocol version 75

15w39a/b/c

  • Protocol version 74
  • Changed the hitboxes of several entities

15w38b

  • Protocol version 73

15w38a

  • Protocol version 72

15w37a

  • Protocol version 71

15w36d

  • Protocol version 70
  • Changed Primary Bit Mask in Chunk Data (0x20) from an Int to a VarInt (was an unsigned short in 1.8)

15w36c

  • Protocol version 69

15w36b

  • Protocol version 68

15w36a

  • Protocol version 67
  • Nearly all packets had their ID changed in this version
  • Added a new Metadata type, Block ID (0x12), which is a VarInt: id << 4 | data
  • Endermen now use Block ID for their held item, rather than two Metadata ints

Clientbound

  • Changed ID of Keep Alive from 0x00 to 0x1F
  • Changed ID of Join Game from 0x01 to 0x24
  • Changed ID of Chat Message from 0x02 to 0x0F
  • Changed ID of Time Update from 0x03 to 0x43
  • Changed ID of Entity Equipment from 0x04 to 0x3C
  • Changed ID of Spawn Position from 0x05 to 0x42
  • Changed ID of Update Health from 0x06 to 0x3E
  • Changed ID of Respawn from 0x07 to 0x33
  • Changed ID of Player Position And Look from 0x08 to 0x2E
  • Changed ID of Held Item Change from 0x09 to 0x37
  • Changed ID of Use Bed from 0x0A to 0x2F
  • Changed ID of Animation from 0x0B to 0x06
  • Changed ID of Spawn Player from 0x0C to 0x05
  • Changed ID of Collect Item from 0x0D to 0x47
  • Changed ID of Spawn Object from 0x0E to 0x00
  • Changed ID of Spawn Mob from 0x0F to 0x03
  • Changed ID of Spawn Painting from 0x10 to 0x04
  • Changed ID of Spawn Experience Orb from 0x11 to 0x01
  • Changed ID of Entity Velocity from 0x12 to 0x3B
  • Changed ID of Destroy Entities from 0x13 to 0x30
  • Changed ID of Entity from 0x14 to 0x29
  • Changed ID of Entity Relative Move from 0x15 to 0x26
  • Changed ID of Entity Look from 0x16 to 0x28
  • Changed ID of Entity Look And Relative Move from 0x17 to 0x27
  • Changed ID of Entity Teleport from 0x18 to 0x48
  • Changed ID of Entity Head Look from 0x19 to 0x34
  • Changed ID of Attach Entity from 0x1B to 0x3A
  • Changed ID of Entity Metadata from 0x1C to 0x39
  • Changed ID of Entity Effect from 0x1D to 0x4A
  • Changed ID of Remove Entity Effect from 0x1E to 0x31
  • Changed ID of Set Experience from 0x1F to 0x3D
  • Changed ID of Entity Properties from 0x20 to 0x49
  • Changed ID of Chunk Data from 0x21 to 0x20
  • Changed ID of Unload Chunk from 0x22 to 0x1C
  • Changed ID of Multi Block Change from 0x23 to 0x10
  • Changed ID of Block Change from 0x24 to 0x0B
  • Changed ID of Block Action from 0x25 to 0x0A
  • Changed ID of Block Break Animation from 0x26 to 0x08
  • Changed ID of Explosion from 0x27 to 0x1B
  • Changed ID of Effect from 0x28 to 0x21
  • Changed ID of Sound Effect from 0x29 to 0x23
  • Changed ID of Particle from 0x2A to 0x22
  • Changed ID of Change Game State from 0x2B to 0x1E
  • Changed ID of Spawn Global Entity from 0x2C to 0x02
  • Changed ID of Open Window from 0x2D to 0x13
  • Changed ID of Close Window from 0x2E to 0x12
  • Changed ID of Set Slot from 0x2F to 0x16
  • Changed ID of Window Items from 0x30 to 0x14
  • Changed ID of Window Property from 0x31 to 0x15
  • Changed ID of Confirm Transaction from 0x32 to 0x11
  • Changed ID of Update Sign from 0x33 to 0x45
  • Changed ID of Map from 0x34 to 0x25
  • Changed ID of Update Block Entity from 0x35 to 0x09
  • Changed ID of Open Sign Editor from 0x36 to 0x2A
  • Changed ID of Statistics from 0x37 to 0x07
  • Changed ID of Player List Item from 0x38 to 0x2D
  • Changed ID of Player Abilities from 0x39 to 0x2B
  • Changed ID of Tab-Complete from 0x3A to 0x0E
  • Changed ID of Scoreboard Objective from 0x3B to 0x3F
  • Changed ID of Update Score from 0x3C to 0x41
  • Changed ID of Display Scoreboard from 0x3D to 0x38
  • Changed ID of Teams from 0x3E to 0x40
  • Changed ID of Plugin Message from 0x3F to 0x18
  • Changed ID of Disconnect from 0x40 to 0x19
  • Changed ID of Server Difficulty from 0x41 to 0x0D
  • Changed ID of Combat Event from 0x42 to 0x2C
  • Changed ID of Camera from 0x43 to 0x36
  • Changed ID of World Border from 0x44 to 0x35
  • Changed ID of Title from 0x45 to 0x44
  • Changed ID of Set Compression from 0x46 to 0x1D
  • Changed ID of Player List Header And Footer from 0x47 to 0x46
  • Changed ID of Resource Pack Send from 0x48 to 0x32
  • Changed ID of Boss Bar from 0x49 to 0x0C
  • Changed ID of Set Cooldown from 0x0A to 0x17

Serverbound

  • Changed ID of Keep Alive from 0x00 to 0x0A
  • Changed ID of Use Entity from 0x02 to 0x09
  • Changed ID of Player from 0x03 to 0x0E
  • Changed ID of Player Position from 0x04 to 0x0B
  • Changed ID of Player Look from 0x05 to 0x0D
  • Changed ID of Player Position And Look from 0x06 to 0x0C
  • Changed ID of Player Digging from 0x07 to 0x10
  • Changed ID of Use Item from 0x08 to 0x1A
  • Changed ID of Player Block Placement from 0x09 to 0x19
  • Changed ID of Held Item Change from 0x0A to 0x14
  • Changed ID of Animation from 0x0B to 0x17
  • Changed ID of Entity Action from 0x0C to 0x11
  • Changed ID of Steer Vehicle from 0x0D to 0x12
  • Changed ID of Close Window from 0x0E to 0x07
  • Changed ID of Click Window from 0x0F to 0x06
  • Changed ID of Confirm Transaction from 0x10 to 0x04
  • Changed ID of Creative Inventory Action from 0x11 to 0x15
  • Changed ID of Enchant Item from 0x12 to 0x05
  • Changed ID of Update Sign from 0x13 to 0x16
  • Changed ID of Player Abilities from 0x14 to 0x0F
  • Changed ID of Tab-Complete from 0x15 to 0x00
  • Changed ID of Client Settings from 0x16 to 0x03
  • Changed ID of Client Status from 0x17 to 0x02
  • Changed ID of Plugin Message from 0x18 to 0x08
  • Changed ID of Resource Pack Status from 0x19 to 0x13

15w35e

  • Protocol version 66

15w35d

  • Protocol version 65

15w35c

  • Protocol version 64

15w35b

  • Protocol version 63

15w35a

  • Protocol version 62
  • Added Unload Chunk packet (0x22), with two ints for the chunk x and z coordinates.
  • Changed ID of multi-block change from 0x22 to 0x23
  • Changed ID of block change from 0x23 to 0x24
  • Changed ID of block action from 0x24 to 0x25
  • Changed ID of block break animation from 0x25 to 0x26
  • Removed Map Chunk Bulk (0x26)
  • Changed Update Sign (0x13 - serverbound) from being 4 chat components to 4 Strings. The clientbound packet still uses chat components.
  • Changed the Boolean metadata for whether a zombie is a zombie villager to a VarInt which is 0 for normal zombie or Profession + 1 for a zombie villager

15w34d

  • Protocol version 61

15w34c

  • Protocol version 60
  • Changed primary bit mask in Chunk Data (0x21) from a short to an Int
  • Significantly reworked Map Chunk Bulk (0x26)
  • Added Set Cooldown (0x4A)

15w34b

  • Protocol version 59
  • Added assume command boolean to Tab Complete (0x15), before the existing "has position" boolean.

15w34a

  • Protocol version 58
  • Added tracking position boolean to Map (0x34)

15w33c

  • Protocol version 57
  • Changed entity metadata format from a single byte for both type and index to several bytes:
    Name Type Meaning
    Index Unsigned Byte Unique index key determining the meaning of the following value, see the table below. If this is 0xff then the it is the end of the Entity Metadata array and no more is read.
    Type Optional Byte Enum Only if Index is not 0xff; the type of the index, see the table below
    Value Optional value of Type Only if Index is not 0xff: the value of the metadata field
  • Remapped metadata types. These types match the final version except that BlockID is missing.
    Value of Type field Type of Value field Notes
    0 Byte
    1 VarInt
    2 Float
    3 String
    4 Chat
    5 Slot
    6 Boolean
    7 Rotation 3 floats: rotation on x, rotation on y, rotation on z
    8 Position
    9 OptPosition (Boolean + Optional Position) Position is present if the Boolean is set to true
    10 Direction (VarInt)  ???
    11 OptUUID (Boolean + Optional UUID) UUID is present if the Boolean is set to true

15w33b

  • Protocol version 56

15w33a

  • Protocol version 55

15w32c

  • Protocol version 54

15w32b

  • Protocol version 53

15w32a

  • Protocol version 52

15w31c

  • Protocol Version is now 51
  • Added DragonFireball entity

15w31b

  • Protocol Version is now 50

15w31a

  • Protocol Version is now 49

Clientbound

  • Changed Slot Id from a short to a VarInt enum in Entity Equipment (0x04)
  • Removed Current Item short from Spawn Player (0x0C)
  • Added Entity UUID after entity ID to Spawn Object (0x0E)
  • Spawn Object always sends velocity, even if data is 0
  • Added Entity UUID after entity ID to Spawn Mob (0x0F)
  • Removed Update Entity NBT Packet (0x49)
  • Added Boss Bar packet (0x49)

Serverbound

  • Added VarInt enum for selected hand in Use Entity (0x02); only sent if type is interact or interact at
  • Added swap item in hand (6) as a status for Player Digging (0x07)
  • Added Use Item (0x08) packet with a VarInt enum for the selected hand
  • Changed ID of Player Block Placement from 0x08 to 0x09
  • Face for Player Block Placement is now a VarInt enum instead of a byte
  • Replaced held item (slot) with VarInt enum selected hand in Player Block Placement
  • Changed ID of Held Item Change from 0x09 to 0x0A
  • Changed ID of Animation from 0x0A to 0x0B
  • Added VarInt Enum selected hand to Animation
  • Changed ID of Entity Action from 0x0B to 0x0C
  • Removed Open inventory (6) from valid values for Entity Action's Action enum
  • Changed ID of Steer Vehicle from 0x0C to 0x0D
  • Changed ID of Close Window from 0x0D to 0x0E
  • Changed ID of Click Window from 0x0E to 0x0F
  • Changed ID of Confirm Transaction from 0x0F to 0x10
  • Changed ID of Creative Inventory Action from 0x10 to 0x11
  • Changed ID of Enchant Item from 0x11 to 0x12
  • Changed ID of Update Sign from 0x12 to 0x13
  • Changed ID of Player Abilities from 0x13 to 0x14
  • Changed ID of Tab Complete from 0x14 to 0x15
  • Changed ID of Client Settings from 0x15 to 0x16
  • Added VarInt enum main hand to Client Settings
  • Changed ID of Client Status from 0x16 to 0x17
  • Client Status is now used to signify that the client has opened its inventory, rather than to just award the "Taking Inventory" achievement
  • Changed ID of Plugin Message from 0x17 to 0x18
  • Changed ID of Spectate from 0x18 to 0x19
  • Changed ID of Resource Pack Status from 0x19 to 0x1A

Entity metadata

There may be other entity metadata changes that were missed in this snapshot

  • Removed the 0x10 (Eating/drinking/blocking) flag from Flags (0?) in Entity.
  • Added Hand States (5?) to Living.

15w14a

Note: 15w14a was a joke snapshot, and its changes were not moved into the following snapshots

  • Protocol version 48
  • Added a new packet with ID 0x4A, that has a single VarInt as its payload. Use unknown.

1.8

1.8-pre3

1.8-pre2

1.8-pre1

  • New metadata type, 7 (Rotation), 12 bytes (3 floats, Pitch, Yaw, and Roll), used on armor stand

14w34a/b/c/d

14w33a/b/c

  • Added new fields to Tab-Complete (Serverbound)

14w32a/b/c/d

  • Added new Update Entity NBT packet
  • Added three new fields to Use Entity

14w31a

  • The length prefix on the payload of Plugin Message has been removed (Both ways)
  • Added new Resource Pack Send packet
  • Added new Resource Pack Status packet
  • Added VarLong data type
  • Changed a few fields in World Border to VarLong
  • Changed the type of Keep Alive ID from Int to VarInt (Clientbound)

14w30c

14w30a/b

14w29a

  • Fix the length prefix of Plugin Message so that its a Varint instead of an unsigned short
  • Added "Reduced Debug Info" boolean to Join Game
  • Added "Long Distance" boolean to Particle

14w28b

  • Uncompressed NBT
  • Added Display name fields to Player List Item
  • New 'Player List Header/Footer' packet

14w28a

  • Changed Chunk packets to remove compression
  • Added packets to toggle compression/set threshold
  • Allowed compression for the whole protocol
  • Changed the Maps packet

14w27a/b

14w26c

  • Changed Multi Block Change to using packed block ids
  • Changed Block Change to using packed block ids

14w26b

  • Bug fix

14w26a

  • Changed chunk sending

14w25b

  • Added boolean field to all entity movement packets

14w25a

  • Update Sign now uses Chat

14w21a

  • All byte arrays have VarInt length prefixes instead of short
  • Spawn Player changes
  • Player list item changes

14w20a

  • Added new packet 'Title'

14w19a

  • Changed the Particle's 'Particle Name' to an int
  • Added a new field to Particle
  • Rewrote Player List Item
  • Added SET_WARNING_TIME and SET_WARNING_BLOCKS to World Border
  • Added new serverbound packet Spectate

14w18b

  • Bugfix

14w18a

  • Added 'INITIALIZE' action to World Border

14w17a

  • Increased the max payload size of 'Plugin Message' from 32767 to 1048576 (Broken because of incorrect data type)
  • Added new packet 'World Border'

14w11a

  • UUIDs now include the '-'s

14w08a

  • Added new field 'Type' to Scoreboard Objective

14w07a

  • Added two new fields to Teams

14w06a

Clientbound

  • Added new field 'Hide Particles' to Entity Effect

Serverbound

  • Removed 'HeadY' from Player Position
  • Removed 'HeadY' from Player Position And Look

14w05a

Clientbound

  • New packet 'Camera'

14w04b

  • Spawn Painting now uses the 'Position' data type
  • Changed Spawn Painting's Direction type to Unsigned Byte

14w04a

  • Encoding for 'Position' changed

Clientbound

  • Changed Entity Equipment's EntityId type to VarInt
  • Changed Update Health's Food type to VarInt
  • Changed Use Bed's EntityId type to VarInt
  • Added new fields to Spawn Player
  • Changed Collect Item's EntityId(s) types to VarInt
  • Changed Entity Velocity's EntityId type to VarInt
  • Changed Destroy Entities' Length type to VarInt
  • Changed Destroy Entities' EntityIds type to VarInt array
  • Changed Entity's EntityId type to VarInt
  • Changed Entity Relative Move's EntityId type to VarInt
  • Changed Entity Look's EntityId type to VarInt
  • Changed Entity Look and Relative Move's EntityId type to VarInt
  • Changed Entity Teleport's EntityId type to VarInt
  • Changed Entity Head Look's EntityId type to VarInt
  • Changed Entity Metadata's EntityId type to Varint
  • Changed Entity Effect's EntityId type to VarInt
  • Changed Entity Effect's Duration type to VarInt
  • Changed Remove Entity Effect's EntityId type to VarInt
  • Changed Set Experience's Level type to VarInt
  • Changed Set Experience's Total Experience type to VarInt
  • Changed Entity Properties's EntityId type to VarInt
  • Changed Entity Properties's List Length type to VarInt
  • Changed Player List Item's Ping type to VarInt
  • Changed Update Score's Value type to VarInt
  • Changed Teams' Player count type to VarInt
  • New packet 'Combat Event'

Serverbound

  • Changed Keep Alive's Keep Alive ID type to VarInt
  • Changed Use Entity's Target type to VarInt
  • Changed Use Entity's Mouse type to Unsigned Byte
  • Removed everything from Animation
  • Changed Entity Action's EntityId type to VarInt
  • Changed Entity Action's Action ID type to Unsigned Byte
  • Changed Entity Action's Values
  • Changed Entity Action's Jump Boast type to VarInt
  • Merged Steer Vehicle's Jump and Unmount into a Bit Field
  • Changed Client Status's Action ID type to Unsigned Byte

14w03a

  • New data type 'Position'

Clientbound

  • Spawn Position now uses the 'Position' data type
  • Use Bed now uses the 'Position' data type
  • Block Change now uses the 'Position' data type
  • Block Action now uses the 'Position' data type
  • Block Break Animation now uses the 'Position' data type
  • Effect now uses the 'Position' data type
  • Sign Update now uses the 'Position' data type
  • Update Block Entity now uses the 'Position' data type
  • Sign Editor Open nows uses the 'Position' data type

Serverbound

  • Player Digging now uses the 'Position' data type
  • Player Block Placement now uses the 'Position' data type
  • Update Sign now uses the 'Position' data type
  • Client Settings 'show cape' type changed from boolean to unsigned byte

14w02a

  • Added 'Position' to Chat Message Clientbound
  • Remove Player Position And Look's 'OnGround' clientbound
  • Added 'Flags' to Player Position And Look clientbound
  • Changed Open Inventory's 'Inventory Type' type from byte to string
  • Added Server Difficulty
  • Removed Client Settings' 'Difficulty'

1.7.6

  • UUIDs now include the '-'s
  • Added new fields to Spawn Player

1.7.5

1.7.4

1.7.3

13w49a

  • Changed Set Slot's Window ID type to byte

1.7.2

  • Changed Multi Block Change's 'X' and 'Z' type to Int

1.7.1

1.7

13w43a

13w42b

13w42a

  • Added 'Level Type' to Join Game
  • Added 'Level Type' to Respawn
  • Removed Sound Effect's 'Sound Category'

13w41b

Warning.png Note this isn't backwards compatible with 13w41a due to Handshakes's Server Port type change

  • Removed Player (Clientbound), Player Position (Clientbound), Player Look (Clientbound)
  • Removed Player Position and Look (Clientbound)'s 'Stance'
  • Removed Join Game's 'N/A' and 'Level Type'
  • Changed Join Game's 'Gamemode' 'Difficulty' 'Max Players' types to Unsigned Byte
  • Changed Handshake's 'Server Port' type to Unsigned Short
  • Removed Respawn's 'World Height' 'Level Type'
  • Changed Respawn's 'Difficulty' and 'Gamemode' types to Unsigned Byte
  • Changed Held Item Change's 'Slot' type to Byte
  • Removed Use Bed's 'unknown byte'
  • Changed Animation's 'Animation' type to Unsigned Byte
  • Changed Animation's 'Entity ID' type to VarInt
  • Changed Spawn Player's 'Entity ID' type to VarInt
  • Changed Spawn Object's 'Entity ID' type to VarInt
  • Changed Spawn Mob's 'Entity ID' type to VarInt
  • Changed Spawn Painting's 'Entity ID' type to VarInt
  • Changed Spawn Experience Orb's 'Entity ID' type to VarInt
  • Changed Multi Block Change's 'Chunk X' and 'Chunk Z' types to VarInt
  • Changed Block Change's 'Block Type' type to VarInt
  • Changed Block Action's 'Block Type' type to VarInt
  • Changed Block Break Animation's 'Entity ID' type to VarInt
  • Changed Explosion's 'X' 'Y' and 'Z' types to Float
  • Changed Change Game State's 'Reason' type to Unsigned Byte
  • Changed Spawn Global Entity's 'Entity ID' type to VarInt
  • Changed Close Window's 'Window ID' type to Unsigned Byte
  • Changed Set Slot's 'Window ID' type to Unsigned Byte
  • Changed Window Items's 'Window ID' type to Unsigned Byte
  • Changed Window Property's 'Window ID' type to Unsigned Byte
  • Changed Comfirm Transaction's 'Window ID' type to Unsigned Byte
  • Changed Maps' 'Item Damage' type to VarInt
  • Removed Maps' 'Item Type'
  • Changed Update Block Entity's 'Action' type to Unsigned Byte
  • Block Editor Open -> Sign Editor Open
  • Removed Sign Editor Open's 'Tile Entity Id'
  • Changed Statistics's 'Count' and 'Amount' types to VarInt
  • Changed Tab-Complete from \x00 String to Array of Strings

13w41a

  • Large protocol rework

13w39a/b

  • UUIDs added to spawn named entity
  • Game state 'gamemode' byte -> float

13w38a/b/c

1.6.4

1.6.3

  • Terrain fixes to help moving to 1.7, no packet changes from 1.6.2

13w37b

13w36a

  • Added sound category byte to 0x3E
  • Changed 0xC8 to a string:int map

1.6.x

1.6.1: Protocol version is now 73. Packet 0xFA is sent after packet 0xFE with additional data

1.6: Protocol version is now 72. Changed Open Window packet, added two inventory types

1.5.x

13w25a: Protocol version is now 71. Changed packet: Increment Statistic (0xC8)

13w24b: Protocol version is now 70

13w24a: Protocol version is now 69. Changed functionality: Time Update (0x04)

13w23b: Protocol version is now 68.

13w22a: Protocol version is now 67. New packet: Entity Properties (0x2C); Changed packets: Chat Message (0x03)

13w18b: Protocol version is now 65.

13w16b: Protocol version is now 63. New packet: Steer Vehicle (0x1B)

13w16a: Protocol version is now 62. Changed packets: Update Health (0x08), Entity Action (0x17), Attach Entity (0x27), Player Abilities (0xCA)

13w09c: Protocol version is now 60.

13w09b: Protocol version is now 59.

13w09c: Protocol version is now 60.

13w09b: Protocol version is now 59.

13w06a: Protocol version is now 57 58 (Changed after bug fix, version is still 13w06a).

13w05b: Protocol version is now 57.

13w05a: Protocol version is now 56. New packets for teams.

13w04a: Protocol version is now 55. New packets for scoreboards.

13w03a: Protocol version is now 54.

13w02a: Protocol version is now 53. All Minecart entities use object type 10, and send the block within seperately. Minecarts now send their type as object data in 0x17.

13w01a: Protocol version is now 52. Added boolean to 0x64 (Open Window) to determine whether or not to use the provided window title.

1.4.x

  • 13w06a: Protocol version is now 58.
  • 13w05b: Protocol version is now 57.
  • 13w05a: Protocol version is now 56. New packets for teams: 0xD1
  • 13w04a: Protocol version is now 55. New packets for scoreboards: 0xCE, 0xCF, 0xD0
  • 13w03a: Protocol version is now 54.
  • 13w02a: Protocol version is now 53. All Minecart entities use object type 10, and send the block within seperately. Minecarts now send their type as object data in 0x17.
  • 13w01a: Protocol version is now 52. Added boolean to 0x64 (Open Window) to determine whether or not to use the provided window title.

2012-12-20

2012-11-14

  • 1.4.4
  • Protocol version is now 49
  • Packet 0x83 has a short (changed from a unsigned byte) header before the byte array
  • Item metadata (5) has an NBT field at the end. As usual if the short is < 0, no data is sent

2012-10-23

2012-08-01

  • 1.3.1
  • Protocol version is now 39
  • Fishing floats, spawned by a 0x17 packet do now use the extra fields
  • All items (except the empty hand) now send enchantment data
  • Removed packet: 0x32 Map Column Allocation

2012-03-22

2012-03-01

2012-01-12

2011-11-13

  • 1.0rc2
  • Protocol version is not changed
  • Client gives invalid server key when authentication hash is 8 bytes and the first byte is > 0x80
  • Bow has extra metadata as slot item.

2011-11-11

  • Beta 1.9 pre6.
  • Protocol version is now 22
  • NewState: Reason 4 = Enter scrolling text mode after slaying the dragon.
  • New entity: EnderCrystal (Spawned using the Add Object/Vehicle (0x17) packet with type 51)

2011-10-27

  • Beta 1.9 pre5.
  • Protocol version is now 21
  • Packet 0x6B (Create Inventory) changed: uses Slot datatype.

2011-10-13

  • Beta 1.9 pre4.
  • Protocol version is now 20
  • Packet 0x2B (Experience) changed: now (float, short, short)
  • New packet 0x6C (Enchant item) added: (byte, byte)
  • Flint and steel no longer enchantable (see 1.9pre3 changes). Might be others, too.
  • Notchian server now features an RCON server (server class: o.java)
  • Notchian server now features "G4S" server [1]

2011-9-29

  • Beta 1.9 pre2.
  • Protocol version is now 19
  • Four packets changed:
  • The change affects the "slot" datatype. This type consists of at least a short (item_id). If this id isn't -1, a byte (count) and a short (uses) follow.
  • From 1.9pre2 onward, additional data is sent but only for certain item_ids. This means the protocol is no longer context free. The additional data is at least a short. If this short isn't -1, a byte[] array follows, containing gzipped NBT data
  • The format of the NBT is as follows

 COMPOUND
   LIST: 'ench'
     SHORT: 'id'
     SHORT: 'lvl'
   END
 END

  • So far only this format, with 'id' and 'lvl' set to 2 and 1 respectively, has been seen.

2011-9-22

  • Beta 1.9 pre1.
  • Protocol version is now 18

2011-9-14

  • Beta 1.8 release.
  • Protocol version is now 17

2011-9-13

  • Beta 1.8 pre2-release.
  • Protocol version is now 16
  • Packet 0x01 (Login) changed (added byte, world height now unsigned)
  • Packet 0x09 (Respawn) changed (added byte)
  • Packet 0x64 (Open Window) changed (Window title changed from string8 to string16)
  • New packet 0x1a (Experience Orb) added
  • Assumedly 0x17 (Add Object/Vehicle) is no longer used for exp orbs.

2011-9-10


2011-6-30

  • Beta 1.7 released.
  • Protocol version number is now 14
  • No new packets
  • Packet 0x36 (Block Action) is now used for pistons too.

2011-5-26

  • Beta 1.6 released.
  • Protocol increase by 2: 13
  • Packet 0x09 (Respawn) changed (added world byte)
  • Packet 0x17 (Add Object) changed.
  • Packet 0x3d (Sound effect) added
  • Packet 0x83 (Map Data) added

2011-4-19

  • Beta 1.5 released.
  • Some packet info at https://gist.github.com/929803
  • Packet 0x01 (Login Request) changed (removed second string)
  • Packet 0x66 (Window Click) changed (added bool for shift)
  • Added two new packets: 0x47 (Thunderbolt) and 0xC8 (Increment Statistic) (classes eq and nj, respectively)
  • Protocol version number is now 11
  • All of the strings are now UCS-2, except for Open window (0x64), which is still UTF-8

2011-3-31

  • Beta 1.4 released.
  • New packet 0x46.
  • Protocol version number is now 10
  • TODO: The protocol itself does not seem to have changed much, but what about possible data values and stuff like that?

2011-2-22

2011-1-13

  • Beta 1.2 released.
  • More packet changes (pastebin): 0x05, 0x0F, 0x13, 0x15, 0x18, 0x19, 0x28, 0x36, 0x66, 0x67.

2010-12-20

  • Notch released Beta on time! Amazing! Refactored the page to be slightly smaller and easier to navigate.
  • A whole host of packet changes. 0x05, 0x08, 0x10, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, and 0x82. Packets 0x11 and 0x3b removed.

2010-12-01

  • Protocol version changed to 6
  • Packet 0x12 (Animation) got a lot more new values
  • Packet 0x26 changed, now indicates entity damage, death and explosion (for creepers, TNT not tested)
  • Packet 0x3B now being sent from client
  • Packet 0x3C added
  • (need info on other changes)

2010-11-24

  • Protocol version changed to 5
  • Packet 0x07 (Use Entity) got a new field (byte)
  • Packet 0x08 (Update Health) added
  • Packet 0x09 (Respawn) added
  • Packet 0x12 (Animation) started getting non-boolean values for the Animation field
  • Packet 0x26 (Entity Death) added

2010-11-10

2010-10-31

  • Protocol version changed to 3
  • Packet 0x01 (login request) changed

2010-09-10

  • Protocol version changed to 2
  • Packets 0x05, 0x06, 0x3B added
  • Server-side inventory (no verification)
  • Vanilla adds experimental monsters (only damaged by fire)

2010-08-20

  • Protocol version reset from 14 to 1
  • Packet 0x04 (time update) added