Difference between revisions of "Protocol History"
(→15w35a: Zombie professions) |
m (→15w35a: Typo) |
||
Line 438: | Line 438: | ||
* Changed ID of block break animation from 0x25 to 0x26 | * Changed ID of block break animation from 0x25 to 0x26 | ||
* Removed Map Chunk Bulk (0x26) | * Removed Map Chunk Bulk (0x26) | ||
− | * Changed Update Sign (0x13 - serverbound) from being 4 chat components to 4 Strings. The | + | * 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 | * 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 | ||
Revision as of 04:15, 3 April 2016
Provided below is a changelog of the server protocol starting on 2010-08-20. The wiki history feature may also be used to investigate changes.
Contents
- 1 1.9.2
- 2 1.RV-Pre1
- 3 1.9.1-pre2, 1.9.1-pre3, 1.9.1
- 4 1.9 and 1.9.1-pre1
- 5 1.9-pre4
- 6 1.9-pre3
- 7 1.9-pre2
- 8 1.9-pre1
- 9 16w07b
- 10 16w07a
- 11 16w06a
- 12 16w05b
- 13 16w05a
- 14 16w04a
- 15 16w03a
- 16 16w02a
- 17 15w51b
- 18 15w51a
- 19 15w50a
- 20 15w49b
- 21 15w49a
- 22 15w47c
- 23 15w47b
- 24 15w47a
- 25 15w46a
- 26 15w45a
- 27 15w44b
- 28 15w44a
- 29 15w43c
- 30 15w43b
- 31 15w43a
- 32 15w42a
- 33 15w41b
- 34 15w41a
- 35 15w40b
- 36 15w40a
- 37 15w39a/b/c
- 38 15w38b
- 39 15w38a
- 40 15w37a
- 41 15w36d
- 42 15w36c
- 43 15w36b
- 44 15w36a
- 45 15w35e
- 46 15w35d
- 47 15w35c
- 48 15w35b
- 49 15w35a
- 50 15w34d
- 51 15w34c
- 52 15w34b
- 53 15w34a
- 54 15w33c
- 55 15w33b
- 56 15w33a
- 57 15w32c
- 58 15w32b
- 59 15w32a
- 60 15w31c
- 61 15w31b
- 62 15w31a
- 63 15w14a
- 64 1.8
- 65 1.8-pre3
- 66 1.8-pre2
- 67 1.8-pre1
- 68 14w34a/b/c/d
- 69 14w33a/b/c
- 70 14w32a/b/c/d
- 71 14w31a
- 72 14w30c
- 73 14w30a/b
- 74 14w29a
- 75 14w28b
- 76 14w28a
- 77 14w27a/b
- 78 14w26c
- 79 14w26b
- 80 14w26a
- 81 14w25b
- 82 14w25a
- 83 14w21a
- 84 14w20a
- 85 14w19a
- 86 14w18b
- 87 14w18a
- 88 14w17a
- 89 14w11a
- 90 14w08a
- 91 14w07a
- 92 14w06a
- 93 14w05a
- 94 14w04b
- 95 14w04a
- 96 14w03a
- 97 14w02a
- 98 1.7.6
- 99 1.7.5
- 100 1.7.4
- 101 1.7.3
- 102 13w49a
- 103 1.7.2
- 104 1.7.1
- 105 1.7
- 106 13w43a
- 107 13w42b
- 108 13w42a
- 109 13w41b
- 110 13w41a
- 111 13w39a/b
- 112 13w38a/b/c
- 113 1.6.4
- 114 1.6.3
- 115 13w37b
- 116 13w36a
- 117 1.6.x
- 118 1.5.x
- 119 1.4.x
- 120 2012-12-20
- 121 2012-11-14
- 122 2012-10-23
- 123 2012-08-01
- 124 2012-03-22
- 125 2012-03-01
- 126 2012-01-12
- 127 2011-11-13
- 128 2011-11-11
- 129 2011-10-27
- 130 2011-10-13
- 131 2011-9-29
- 132 2011-9-22
- 133 2011-9-14
- 134 2011-9-13
- 135 2011-9-10
- 136 2011-6-30
- 137 2011-5-26
- 138 2011-4-19
- 139 2011-3-31
- 140 2011-2-22
- 141 2011-1-13
- 142 2010-12-20
- 143 2010-12-01
- 144 2010-11-24
- 145 2010-11-10
- 146 2010-10-31
- 147 2010-09-10
- 148 2010-08-20
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 and 1.9.1-pre1
- 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 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 belowValue 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
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
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
- 1.4.6
- Protocol version is now 51
- Changed packet: 0x10 Held Item Change - Packet is now bidirectional
- Changed packet: 0x17 Spawn Object/Vehicle - Added fields Yaw and Pitch
- Changed packet: 0x38 Map Chunk Bulk - Added boolean field
- Removed packet: 0x15 Spawn Dropped Item - Now merged into 0x17 Spawn Object/Vehicle. The Entity Type ID is 0x02. Set the item type by sending 0x28 Entity Metadata with a slot at index 10. Vanilla packet dump
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
- 1.4.1
- Protocol version is now 47
- Entity metadata format updated: type 5 (slot type) now terminates after item_id if it's less than zero.
- Changed packet: 0x04 time update - added 'time of day' field
- Changed packet: 0x15 spawn dropped item - updated to use slot format
- Changed packet: 0x3D particle or sound effect - add new boolean field that forces the sound-effect to play from close range
- (sort of) Changed packet: 0x66 click window - "right click?" field changed from bool to byte
- Changed packet: 0xCC client settings - added boolean "show cape?" field.
- Changed packet: 0xFE server list ping - extra field added; response format slightly expanded to include protocol version.
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
- Added packet: 0x37 Block breaking animation
- Added packet: 0x38 Map Chunk Bulk
- Added packet: 0x3E Name Sound Effect
- Added packet: 0xCB Tab-complete
- Added packet: 0xCC Locale and View Distance
- Added packet: 0xCD Client Statuses used for Login Request and Respawn (1 byte payload)
- Added packet: 0xFC Encryption Key Response
- Added packet: 0xFD Encryption Key Request
- Changed packet: 0x01 Login Request
- Changed packet: 0x02 Handshake
- Changed packet: 0x09 Respawn
- Changed packet: 0x0F Player Block Placement
- Changed packet: 0x14 Spawn named entity
- Changed packet: 0x18 Spawn Mob - added velocity
- Changed packet: 0x1D Destroy Entity
- Changed packet: 0x33 Chunk Data - remove Unused int
- Changed packet: 0x35 Block Change
- Changed packet: 0x36 Block Action
- Changed packet: 0xCA Player Abilities
- Removed packet: 0x32 Map Column Allocation
2012-03-22
- 1.2.4
- Protocol version is now 29
- New packet: 0xCA player abilities
2012-03-01
- 1.2.2
- Protocol version is now 28
- New packet: 0x23 entity head look
- New packet: 0x84 update tile entity
- 0x02 handshake when sent C->S now additionally contains the hostname/port the client is connecting to
- 0x01 login request: map seed (long) parameter removed and dimension changed from byte to int
- 0x09 respawn has the same changes (dimension changed from byte to int and seed removed)
- 0x18 mob spawn has a new byte field: head yaw
- 0x33 map chunks packet was completely changed to use the new 16x16x16 chunk format
- 0x34 multi block change has a new format also
2012-01-12
- 1.1
- Protocol version is now 23
- New packet: 0xFA Plugin message
- 0x01 login request has a new string field: level-type (DEFAULT or SUPERFLAT)
- 0x09 respawn has the same change
- Packet removed: 0x1B stance update (had been unused for some time)
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
and1
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
- Beta 1.8 pre-release.
- Protocol version is now 15
- Packet 0x00 (Keep Alive) changed (added keep-alive id)
- Packet 0x01 (Login) changed (added server mode, height limit, and an unknown field)
- Packet 0x08 (Health) changed (added food bar and food saturation)
- Packet 0x09 (Respawn) changed (added map seed, server mode, height limit)
- Packet 0x13 (Entity Action) has new values for starting/stopping sprinting.
- Packet 0x46 (New/invalid state) changed (added game mode reason, and a game mode byte)
- New packet 0x29 (Entity Effect) added
- New packet 0x2a (Remove Entity Effect) added
- New packet 0x2b (Experience update) added
- New packet 0x6b (Creative item get) added
- New packet 0xc9 (Player list item) added
- New packet 0xfe (Server list ping) added
- New values for 0x13 (Entity Action): start sprinting, stop sprinting
- New value for 0x17 (Add Object/Vehicle): experience orb
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
- Beta 1.3 released.
- New packets 0x11, 0x1B: Some information at https://gist.github.com/841590
- Protocol number is now 9 (updated)
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
- Protocol version changed to 4
- Packet 0x01 (login request) changed
- Packet 0x07 (Use Entity?) added
- Packet 0x1C (Entity Velocity?) added
- Packet 0x27 (Attach Entity?) added
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