|
|
(946 intermediate revisions by 54 users not shown) |
Line 1: |
Line 1: |
− | This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.9.4, protocol 110]]) to the current pre-release (currently [[Protocol version numbers|1.10-pre2, protocol 205]]). Note that this page contains bleeding-edge information that may not be completely or correctly documented. | + | This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.20.6, protocol 766]]) to the current pre-release (currently [[Protocol version numbers|1.21-pre2, protocol {{Snapshot PVN|1073742024}}]]). Note that this page contains bleeding-edge information that may not be completely or correctly documented. |
| | | |
| One who wishes to commandeer the merging of this into [[Protocol]] when an update is made must be sure to respect any changes that may have occurred to the respective packets there. | | One who wishes to commandeer the merging of this into [[Protocol]] when an update is made must be sure to respect any changes that may have occurred to the respective packets there. |
Line 9: |
Line 9: |
| === Data types === | | === Data types === |
| | | |
− | No changes so far. | + | No changes documented so far. |
| | | |
| === Packets === | | === Packets === |
Line 18: |
Line 18: |
| !colspan="2"| Documentation | | !colspan="2"| Documentation |
| |- | | |- |
− | !colspan="4"| Handshaking serverbound | + | !colspan="4"| Configuration clientbound |
− | {{PacketList|0x00|Handshake}} | + | {{PacketList|0x0F|Clientbound Report Details (configuration)|rel=added}} |
| + | {{PacketList|0x10|Clientbound Server Links (configuration)|rel=added}} |
| |- | | |- |
| !colspan="4"| Play clientbound | | !colspan="4"| Play clientbound |
− | {{PacketList|0x19|Named Sound Effect}} | + | {{PacketList|0x7A|Clientbound Report Details (play)|rel=added}} |
− | {{PacketList|0x46|Sound Effect}} | + | {{PacketList|0x7B|Clientbound Server Links (play)|rel=added}} |
| |- | | |- |
− | !colspan="4"| Play serverbound
| + | |} |
− | {{PacketList|0x16|Resource Pack Status}}
| + | |
− | |}
| + | == Handshake == |
| + | |
| + | No changes so far. |
| + | |
| + | == Status == |
| + | |
| + | No changes so far. |
| + | |
| + | == Login == |
| + | |
| + | No changes so far. |
| + | |
| + | == Configuration == |
| | | |
− | == New/modified data types == | + | === Clientbound === |
| | | |
− | === Mobs === | + | ==== Clientbound Report Details (configuration) ==== |
| | | |
− | Mobs are spawned via [[Protocol#Spawn_Mob|Spawn Mob]]. There are two extra mob types in the code that refer to mobs classes that can never spawn: Mob and Monster (they are always subclasses, aka another more specific type).
| + | Contains a list of key-value text entries that are included in any crash or disconnection report generated during connection to the server. |
| | | |
− | {| class="wikitable" | + | {| class="wikitable" {{added}} |
− | |-
| + | ! Packet ID |
− | ! Type | + | ! State |
− | ! Name | + | ! Bound To |
− | ! x, z | + | ! colspan="2"| Field Name |
− | ! y | + | ! colspan="2"| Field Type |
− | |- | + | ! Notes |
− | | 48
| + | |- |
− | | Mob
| + | | rowspan="3"| 0x0F |
− | | N/A
| + | | rowspan="3"| Configuration |
− | | N/A
| + | | rowspan="3"| Client |
− | |-
| + | | colspan="2"| Details Count |
− | | 49
| + | | colspan="2"| {{Type|VarInt}} (32) |
− | | Monster
| + | | The number of details in the following array. |
− | | N/A
| + | |- |
− | | N/A
| + | | rowspan="2"| Details |
− | |-
| + | | Title |
− | | 50
| + | | rowspan="2"| {{Type|Array}} |
− | | Creeper
| + | | {{Type|String}} (128) |
− | | 0.6
| + | | |
− | | 1.8
| + | |- |
− | |-
| + | | Description |
− | | 51
| + | | {{Type|String}} (4096) |
− | | Skeleton
| + | | |
− | | 0.6
| |
− | | 1.95
| |
− | |-
| |
− | | 52
| |
− | | Spider
| |
− | | 1.4
| |
− | | 0.9
| |
− | |-
| |
− | | 53
| |
− | | Giant Zombie
| |
− | | 0.6 * 6
| |
− | | 1.8 * 6
| |
− | |-
| |
− | | 54
| |
− | | Zombie
| |
− | | 0.6
| |
− | | 1.8
| |
− | |-
| |
− | | 55
| |
− | | Slime
| |
− | | 0.51000005 * size
| |
− | | 0.51000005 * size
| |
− | |-
| |
− | | 56
| |
− | | Ghast
| |
− | | 4
| |
− | | 4
| |
− | |-
| |
− | | 57
| |
− | | Zombie Pigman
| |
− | | 0.6
| |
− | | 1.8
| |
− | |-
| |
− | | 58
| |
− | | Enderman
| |
− | | 0.6
| |
− | | 2.9
| |
− | |- | |
− | | 59
| |
− | | Cave Spider
| |
− | | 0.7
| |
− | | 0.5
| |
− | |- | |
− | | 60 | |
− | | Silverfish
| |
− | | 0.4
| |
− | | 0.3
| |
− | |-
| |
− | | 61 | |
− | | Blaze
| |
− | | 0.6
| |
− | | 1.8
| |
− | |-
| |
− | | 62
| |
− | | Magma Cube
| |
− | | 0.51000005 * size
| |
− | | 0.51000005 * size
| |
− | |-
| |
− | | 63
| |
− | | Ender Dragon
| |
− | | 16.0
| |
− | | 8.0
| |
− | |-
| |
− | | 64
| |
− | | Wither
| |
− | | 0.9
| |
− | | 3.5 | |
− | |- | |
− | | 65 | |
− | | Bat
| |
− | | 0.5
| |
− | | 0.9
| |
− | |-
| |
− | | 66
| |
− | | Witch
| |
− | | 0.6
| |
− | | 1.8
| |
− | |-
| |
− | | 67
| |
− | | Endermite
| |
− | | 0.4
| |
− | | 0.3
| |
− | |- | |
− | | 68 | |
− | | Guardian | |
− | | 0.85 | |
− | | 0.85 | |
− | |-
| |
− | | 69
| |
− | | Shulker
| |
− | | 1
| |
− | | 1
| |
− | |- | |
− | | 90 | |
− | | Pig
| |
− | | 0.9
| |
− | | 0.9
| |
− | |- | |
− | | 91 | |
− | | Sheep
| |
− | | 0.9
| |
− | | 1.3
| |
− | |-
| |
− | | 92
| |
− | | Cow
| |
− | | 0.9
| |
− | | 1.3
| |
− | |-
| |
− | | 93
| |
− | | Chicken
| |
− | | 0.4
| |
− | | 0.7
| |
− | |-
| |
− | | 94
| |
− | | Squid
| |
− | | 0.95
| |
− | | 0.95
| |
− | |-
| |
− | | 95
| |
− | | Wolf
| |
− | | 0.6
| |
− | | 0.8
| |
− | |-
| |
− | | 96
| |
− | | Mooshroom
| |
− | | 0.9
| |
− | | 1.3
| |
− | |-
| |
− | | 97
| |
− | | Snowman
| |
− | | 0.7
| |
− | | 1.9
| |
− | |-
| |
− | | 98
| |
− | | Ocelot
| |
− | | 0.6
| |
− | | 0.8
| |
− | |-
| |
− | | 99
| |
− | | Iron Golem
| |
− | | 1.4
| |
− | | 2.9
| |
− | |-
| |
− | | 100
| |
− | | Horse
| |
− | | 1.4
| |
− | | 1.6
| |
− | |-
| |
− | | 101
| |
− | | Rabbit | |
− | | 0.6 | |
− | | 0.7 | |
− | |- style="background-color: #d9ead3;"
| |
− | | 102 | |
− | | Polar Bear | |
− | | 1.3 | |
− | | 1.4 | |
− | |- | |
− | | 120 | |
− | | Villager | |
− | | 0.6 | |
− | | 1.8 | |
| |} | | |} |
| | | |
− | === Entity Metadata === | + | ==== Clientbound Server Links (configuration) ==== |
| | | |
− | Note that entity metadata is a totally distinct concept from block metadata. All entities must send at least one item of metadata, in most cases this will be the health item.
| + | This packet contains a list of links that the Notchian client will display in the menu available from the pause menu. Link labels can be built-in or custom (i.e., any text). |
| | | |
− | An Entity Metadata is an array of entries, each of which looks like the following:
| + | {| class="wikitable" {{added}} |
− | | + | ! Packet ID |
− | {| class="wikitable" | + | ! State |
− | ! Name | + | ! Bound To |
− | ! Type | + | ! colspan="2"| Field Name |
− | ! Meaning | + | ! colspan="2"| Field Type |
| + | ! Notes |
| + | |- |
| + | | rowspan="4"| 0x10 |
| + | | rowspan="4"| Configuration |
| + | | rowspan="4"| Client |
| + | | colspan="2"| Links Count |
| + | | colspan="2"| {{Type|VarInt}} |
| + | | The number of links in the following array. |
| |- | | |- |
− | | Index | + | | rowspan="3"| Links |
− | | Unsigned Byte | + | | Is built-in |
− | | Unique index key determining the meaning of the following value, see the table below. If this is <code>0xff</code> then the it is the end of the Entity Metadata array and no more is read. | + | | rowspan="3"| {{Type|Array}} |
| + | | {{Type|Boolean}} |
| + | | Determines if the following label is built-in (from enum) or custom (text component). |
| |- | | |- |
− | | Type | + | | Label |
− | | Optional Byte Enum | + | | {{Type|VarInt}} {{Type|Enum}} / {{Type|Text Component}} |
− | | Only if Index is not <code>0xff</code>; the type of the index, see the table below | + | | See below. |
| |- | | |- |
− | | Value | + | | URL |
− | | Optional ''value of Type'' | + | | {{Type|String}} |
− | | Only if Index is not <code>0xff</code>: the value of the metadata field | + | | Valid URL. |
− | |}
| + | |} |
| + | |
| | | |
− | {| class="wikitable" | + | {| class="wikitable" {{added}} |
− | ! Value of Type field | + | ! ID |
− | ! [[Data types|Type]] of Value field | + | ! Name |
| ! Notes | | ! Notes |
| |- | | |- |
| | 0 | | | 0 |
− | | Byte | + | | Bug Report |
− | | | + | | Displayed on connection error screen; included as a comment in the disconnection report. |
| |- | | |- |
| | 1 | | | 1 |
− | | VarInt | + | | Community Guidelines |
| | | | | |
| |- | | |- |
| | 2 | | | 2 |
− | | Float | + | | Support |
| | | | | |
| |- | | |- |
| | 3 | | | 3 |
− | | String | + | | Status |
| | | | | |
| |- | | |- |
| | 4 | | | 4 |
− | | [[Chat]] | + | | Feedback |
| | | | | |
| |- | | |- |
| | 5 | | | 5 |
− | | [[Slot]] | + | | Community |
| | | | | |
| |- | | |- |
| | 6 | | | 6 |
− | | Boolean | + | | Website |
| | | | | |
| |- | | |- |
| | 7 | | | 7 |
− | | Rotation | + | | Forums |
− | | 3 floats: rotation on x, rotation on y, rotation on z | + | | |
| |- | | |- |
| | 8 | | | 8 |
− | | [[Data Types#Position|Position]] | + | | News |
| | | | | |
| |- | | |- |
| | 9 | | | 9 |
− | | OptPosition (Boolean + Optional Position) | + | | Announcements |
− | | Position is present if the Boolean is set to true
| |
− | |-
| |
− | | 10
| |
− | | Direction (VarInt)
| |
− | | (Down = 0, Up = 1, North = 2, South = 3, West = 4, East = 5)
| |
− | |-
| |
− | | 11
| |
− | | OptUUID (Boolean + Optional UUID)
| |
− | | UUID is present if the Boolean is set to true
| |
− | |-
| |
− | | 12
| |
− | | BlockID (VarInt)
| |
− | | <code><nowiki>id << 4 | data</nowiki></code>
| |
− | |}
| |
− | | |
− | Entity classes also recursively use fields from classes they extend.
| |
− | | |
− | {| class="wikitable"
| |
− | ! Entity class
| |
− | ! Index
| |
− | ! Type
| |
− | ! style="width: 250px" colspan="2" | Meaning
| |
− | |-
| |
− | |rowspan="13"| Entity
| |
− | |rowspan="8"| 0
| |
− | |rowspan="8"| Byte
| |
− | ! Bit Mask !! Meaning
| |
− | |-
| |
− | | 0x01 || On Fire
| |
− | |-
| |
− | | 0x02 || Crouched
| |
− | |-
| |
− | | 0x08 || Sprinting
| |
− | |-
| |
− | | 0x10 || Eating/Drinking/Blocking
| |
− | |-
| |
− | | 0x20 || Invisible
| |
− | |-
| |
− | | 0x40 || Glowing Effect
| |
− | |-
| |
− | | 0x80 || Flying with Elytra
| |
− | |-
| |
− | | 1
| |
− | | VarInt
| |
− | | colspan="2" | Air
| |
− | |-
| |
− | | 2
| |
− | | String
| |
− | | colspan="2" | Custom Name
| |
− | |-
| |
− | | 3
| |
− | | Boolean
| |
− | | colspan="2" | Is Custom Name Visible
| |
− | |-
| |
− | | 4
| |
− | | Boolean
| |
− | | colspan="2" | Is Silent
| |
− | |- style="background-color: #d9ead3;"
| |
− | | 5
| |
− | | Boolean
| |
− | | colspan="2" | No Gravity
| |
− | |-
| |
− | | Potion <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | [[Slot]]
| |
− | | colspan="2" | Potion which is thrown
| |
− | |-
| |
− | | FallingBlock <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | [[Data Types#Position|Position]]
| |
− | | colspan="2" | Spawn Position
| |
− | |-
| |
− | |rowspan="6"| AreaEffectCloud <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | Float
| |
− | | colspan="2" | Radius
| |
− | |-
| |
− | | {{change|6|7}}
| |
− | | VarInt
| |
− | | colspan="2" | Color (only for mob spell particle)
| |
− | |-
| |
− | | {{change|7|8}}
| |
− | | Boolean
| |
− | | colspan="2" | Ignore radius and show effect as single point, not area
| |
− | |-
| |
− | | {{change|8|9}}
| |
− | | VarInt
| |
− | | colspan="2" | Particle ID
| |
− | |- style="background-color: #d9ead3;"
| |
− | | 10
| |
− | | VarInt
| |
− | | colspan="2" | Particle Parameter #1
| |
− | |- style="background-color: #d9ead3;"
| |
− | | 11
| |
− | | VarInt
| |
− | | colspan="2" | Particle Parameter #2
| |
− | |-
| |
− | | Arrow <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | Byte
| |
− | | colspan="2" | Is Critical
| |
− | |-
| |
− | | TippedArrow <sup>extends Arrow</sup>
| |
− | | {{change|6|7}}
| |
− | | VarInt
| |
− | | colspan="2" | Color
| |
− | |-
| |
− | |rowspan="6"| Boat <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | VarInt
| |
− | | colspan="2" | Time Since Last Hit
| |
− | |-
| |
− | | {{change|6|7}}
| |
− | | VarInt
| |
− | | colspan="2" | Forward Direction
| |
− | |-
| |
− | | {{change|7|8}}
| |
− | | Float
| |
− | | colspan="2" | Damage Taken
| |
− | |-
| |
− | | {{change|8|9}}
| |
− | | VarInt
| |
− | | colspan="2" | Type
| |
− | |-
| |
− | | {{change|9|10}}
| |
− | | Boolean
| |
− | | colspan="2" | Right paddle turning
| |
− | |-
| |
− | | {{change|10|11}}
| |
− | | Boolean
| |
− | | colspan="2" | Left paddle turning
| |
− | |-
| |
− | |rowspan="2"| EnderCrystal <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | OptPosition
| |
− | | colspan="2" | Beam Target
| |
− | |-
| |
− | | {{change|6|7}}
| |
− | | Boolean
| |
− | | colspan="2" | Show Bottom
| |
− | |-
| |
− | | Fireball <sup>extends Entity</sup>
| |
− | |colspan="4"| ''no additional metadata''
| |
− | |-
| |
− | | WitherSkull <sup>extends Fireball</sup>
| |
− | | {{change|5|6}}
| |
− | | Boolean
| |
− | | colspan="2" | Invulnerable
| |
− | |-
| |
− | | Fireworks <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | [[Slot]]
| |
− | | colspan="2" | Firework Info
| |
− | |-
| |
− | | Hanging <sup>extends Entity</sup>
| |
− | |colspan="4"| ''no additional metadata''
| |
− | |-
| |
− | |rowspan="2"| ItemFrame <sup>extends Hanging</sup>
| |
− | | {{change|5|6}}
| |
− | | [[Slot]]
| |
− | | colspan="2" | Item
| |
− | |-
| |
− | | {{change|6|7}}
| |
− | | VarInt
| |
− | | colspan="2" | Rotation
| |
− | |-
| |
− | | Item <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | [[Slot]]
| |
− | | colspan="2" | Item
| |
− | |-
| |
− | |rowspan="5"| Living <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | Byte
| |
− | | colspan="2" | Likely used to limit placing blocks from both hands at the same time.
| |
− | |-
| |
− | | {{change|6|7}}
| |
− | | Float
| |
− | | colspan="2" | Health
| |
− | |-
| |
− | | {{change|7|8}}
| |
− | | VarInt
| |
− | | colspan="2" | Potion Effect Color
| |
− | |-
| |
− | | {{change|8|9}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Potion Effect Ambient
| |
− | |-
| |
− | | {{change|9|10}}
| |
− | | VarInt
| |
− | | colspan="2" | Number of Arrows in Entity
| |
− | |-
| |
− | |rowspan="13"| Player <sup>extends Living</sup>
| |
− | | {{change|10|11}}
| |
− | | Float
| |
− | | colspan="2" | Additional Hearts
| |
− | |-
| |
− | | {{change|11|12}}
| |
− | | VarInt
| |
− | | colspan="2" | Score
| |
− | |-
| |
− | | rowspan="10" | {{change|12|13}}
| |
− | | rowspan="10" | Byte
| |
− | | colspan="2" | The Displayed Skin Parts bit mask that is sent in [[Protocol#Client Settings|Client Settings]]
| |
− | |-
| |
− | ! Bit Mask !! Meaning
| |
− | |-
| |
− | | 0x01 || Cape enabled
| |
− | |-
| |
− | | 0x02 || Jacket enabled
| |
− | |-
| |
− | | 0x04 || Left sleeve enabled
| |
− | |-
| |
− | | 0x08 || Right sleeve enabled
| |
− | |-
| |
− | | 0x10 || Left pants leg enabled
| |
− | |-
| |
− | | 0x20 || Right pants leg enabled
| |
− | |-
| |
− | | 0x40 || Hat enabled
| |
− | |-
| |
− | | 0x80 || ''Unused''
| |
− | |-
| |
− | | {{change|13|14}}
| |
− | | Byte
| |
− | | colspan="2" | Main hand (0 : Left, 1 : Right)
| |
− | |-
| |
− | |rowspan="8"| ArmorStand <sup>extends Living</sup>
| |
− | |-
| |
− | | {{change|10|11}}
| |
− | | Byte
| |
− | | colspan="2" | Status bit mask
| |
− | |-
| |
− | | {{change|11|12}}
| |
− | | Rotation
| |
− | | colspan="2" | Head rotation
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | Rotation
| |
− | | colspan="2" | Body rotation
| |
− | |-
| |
− | | {{change|13|14}}
| |
− | | Rotation
| |
− | | colspan="2" | Left arm rotation
| |
− | |-
| |
− | | {{change|14|15}}
| |
− | | Rotation
| |
− | | colspan="2" | Right arm rotation
| |
− | |-
| |
− | | {{change|15|16}}
| |
− | | Rotation
| |
− | | colspan="2" | Left leg rotation
| |
− | |-
| |
− | | {{change|16|17}}
| |
− | | Rotation
| |
− | | colspan="2" | Right leg rotation
| |
− | |-
| |
− | | Insentient <sup>extends Living</sup>
| |
− | | {{change|10|11}}
| |
− | | Byte
| |
− | | colspan="2" | Status bit mask (NoAI, Left handed)
| |
− | |-
| |
− | | Ambient <sup>extends Insentient</sup>
| |
− | |colspan="4"| ''no additional metadata''
| |
− | |-
| |
− | | Bat <sup>extends Ambient</sup>
| |
− | | {{change|11|12}}
| |
− | | Byte
| |
− | | colspan="2" | Is Hanging
| |
− | |-
| |
− | | Creature <sup>extends Insentient</sup>
| |
− | |colspan="4"| ''no additional metadata''
| |
− | |-
| |
− | | Ageable <sup>extends Creature</sup>
| |
− | | {{change|11|12}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Baby
| |
− | |- style="background-color: #d9ead3;"
| |
− | | PolarBear <sup>extends Ageable</sup>
| |
− | | 13
| |
− | | Boolean
| |
− | | colspan="2" | Is Standing
| |
− | |-
| |
− | | Animal <sup>extends Ageable</sup>
| |
− | |colspan="4"| ''no additional metadata''
| |
− | |-
| |
− | |rowspan="5"| Horse <sup>extends Animal</sup>
| |
− | | {{change|12|13}}
| |
− | | Byte
| |
− | | colspan="2" | Status bit mask
| |
− | |-
| |
− | | {{change|13|14}}
| |
− | | VarInt
| |
− | | colspan="2" | Type
| |
− | |-
| |
− | | {{change|14|15}}
| |
− | | VarInt
| |
− | | colspan="2" | Variant
| |
− | |-
| |
− | | {{change|15|16}}
| |
− | | OptUUID
| |
− | | colspan="2" | Owner's UUID
| |
− | |-
| |
− | | {{change|16|17}}
| |
− | | VarInt
| |
− | | colspan="2" | Armor
| |
− | |-
| |
− | | Pig <sup>extends Animal</sup>
| |
− | | {{change|12|13}}
| |
− | | Boolean
| |
− | | colspan="2" | Has Saddle
| |
− | |-
| |
− | | Rabbit <sup>extends Animal</sup>
| |
− | | {{change|12|13}}
| |
− | | VarInt
| |
− | | colspan="2" | Type
| |
− | |-
| |
− | | Sheep <sup>extends Animal</sup>
| |
− | | {{change|12|13}}
| |
− | | Byte
| |
− | | colspan="2" | Status bit mask
| |
− | |-
| |
− | |rowspan="2"| TameableAnimal <sup>extends Animal</sup>
| |
− | | {{change|12|13}}
| |
− | | Byte
| |
− | | colspan="2" | Status bit mask (sitting, tamed)
| |
− | |-
| |
− | | {{change|13|14}}
| |
− | | OptUUID
| |
− | | colspan="2" | Owner's UUID
| |
− | |-
| |
− | | Ocelot <sup>extends TameableAnimal</sup>
| |
− | | {{change|14|15}}
| |
− | | VarInt
| |
− | | colspan="2" | Type
| |
− | |-
| |
− | |rowspan="3"| Wolf <sup>extends TameableAnimal</sup>
| |
− | | {{change|14|15}}
| |
− | | Float
| |
− | | colspan="2" | Damage Taken (used for tail rotation)
| |
− | |-
| |
− | | {{change|15|16}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Begging
| |
− | |-
| |
− | | {{change|16|17}}
| |
− | | VarInt
| |
− | | colspan="2" | Collar Color
| |
− | |-
| |
− | | Villager <sup>extends Ageable</sup>
| |
− | | {{change|12|13}}
| |
− | | VarInt
| |
− | | colspan="2" | Profession (Farmer = 0, Librarian = 1, Priest = 2, Blacksmith = 3, Butcher = 4)
| |
− | |-
| |
− | | Golem <sup>extends Creature</sup>
| |
− | |colspan="4"| ''no additional metadata''
| |
− | |-
| |
− | | IronGolem <sup>extends Golem</sup>
| |
− | | {{change|11|12}}
| |
− | | Byte
| |
− | | colspan="2" | Is Player Created
| |
− | |-
| |
− | |rowspan="3"| Shulker <sup>extends Golem</sup>
| |
− | | {{change|11|12}}
| |
− | | Direction
| |
− | | colspan="2" | Facing Direction
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | OptPosition
| |
− | | colspan="2" | Attachment Position
| |
− | |-
| |
− | | {{change|13|14}}
| |
− | | Byte
| |
− | | colspan="2" | Shield Height
| |
− | |-
| |
− | | Monster <sup>extends Creature</sup>
| |
− | |colspan="4"| ''no additional metadata''
| |
− | |-
| |
− | | Blaze <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | Byte
| |
− | | colspan="2" | Is On Fire
| |
− | |-
| |
− | |rowspan="3"| Creeper <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | VarInt
| |
− | | colspan="2" | State (-1 = Idle, 1 = Fuse)
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Powered
| |
− | |-
| |
− | | {{change|13|14}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Ignited
| |
− | |-
| |
− | |rowspan="2"| Guardian <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | Byte
| |
− | | colspan="2" | Status bit mask (elderly, retracting spikes)
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | VarInt
| |
− | | colspan="2" | Target EID
| |
− | |-
| |
− | |rowspan="2"| Skeleton <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | VarInt
| |
− | | colspan="2" | Type <span style="background-color: #d9ead3;">(0 = Default, 1 = Wither, 2 = Stray)</span>
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | Boolean
| |
− | | colspan="2" | Is swinging arms
| |
− | |-
| |
− | | Spider <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | Byte
| |
− | | colspan="2" | Is Climbing
| |
− | |-
| |
− | | Witch <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Aggresive
| |
− | |-
| |
− | |rowspan="4"| Wither <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | VarInt
| |
− | | colspan="2" | First Head's Target
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | VarInt
| |
− | | colspan="2" | Second Head's Target
| |
− | |-
| |
− | | {{change|13|14}}
| |
− | | VarInt
| |
− | | colspan="2" | Third Head's Target
| |
− | |-
| |
− | | {{change|14|15}}
| |
− | | VarInt
| |
− | | colspan="2" | Invulnerable Time
| |
− | |-
| |
− | |rowspan="4"| Zombie <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Baby
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | VarInt
| |
− | | colspan="2" | {{change|Is Villager (Profession)|Zombie Type (0 = Default, 1-5 = Villager Profession, 6 = Husk)}}
| |
− | |-
| |
− | | {{change|13|14}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Converting
| |
− | |-
| |
− | | {{change|14|15}}
| |
− | | Boolean
| |
− | | colspan="2" | Are Hands Rised Up
| |
− | |-
| |
− | |rowspan="2"| Enderman <sup>extends Monster</sup>
| |
− | | {{change|11|12}}
| |
− | | Block ID
| |
− | | colspan="2" | Carried Block
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Screaming
| |
− | |-
| |
− | | EnderDragon <sup>extends Insentient</sup>
| |
− | | {{change|11|12}}
| |
− | | VarInt
| |
− | | colspan="2" | Dragon Phase
| |
− | |-
| |
− | | Flying <sup>extends Insentient</sup>
| |
− | |colspan="4"| ''no additional metadata''
| |
− | |-
| |
− | | Ghast <sup>extends Flying</sup>
| |
− | | {{change|11|12}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Attacking
| |
− | |-
| |
− | | Slime <sup>extends Insentient</sup>
| |
− | | {{change|11|12}}
| |
− | | VarInt
| |
− | | colspan="2" | Size
| |
− | |-
| |
− | |rowspan="6"| Minecart <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | VarInt
| |
− | | colspan="2" | Shaking Power
| |
− | |-
| |
− | | {{change|6|7}}
| |
− | | VarInt
| |
− | | colspan="2" | Shaking Direction
| |
− | |-
| |
− | | {{change|7|8}}
| |
− | | Float
| |
− | | colspan="2" | Shaking Multiplier
| |
− | |-
| |
− | | {{change|8|9}}
| |
− | | VarInt
| |
− | | colspan="2" | Block ID and Meta
| |
− | |-
| |
− | | {{change|9|10}}
| |
− | | VarInt
| |
− | | colspan="2" | Block Y Position
| |
− | |-
| |
− | | {{change|10|11}}
| |
− | | Boolean
| |
− | | colspan="2" | Show Block
| |
− | |-
| |
− | |rowspan="2"| MinecartCommandBlock <sup>extends Minecart</sup>
| |
− | | {{change|11|12}}
| |
− | | String
| |
− | | colspan="2" | Command
| |
− | |-
| |
− | | {{change|12|13}}
| |
− | | [[Chat]]
| |
− | | colspan="2" | Last Output
| |
− | |-
| |
− | | MinecartFurnace <sup>extends Minecart</sup>
| |
− | | {{change|11|12}}
| |
− | | Boolean
| |
− | | colspan="2" | Is Powered
| |
− | |-
| |
− | | TNTPrimed <sup>extends Entity</sup>
| |
− | | {{change|5|6}}
| |
− | | VarInt
| |
− | | colspan="2" | Fuse Time
| |
− | |}
| |
− | | |
− | == <code>MC|Struct</code> plugin channel ==
| |
− | | |
− | ''Client to server''
| |
− | | |
− | Sets information about the {{change|inaccessible|new}} {{Minecraft Wiki|Structure block}}.
| |
− | | |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | X || Int || Tile entity location
| |
− | |-
| |
− | | Y || Int || Tile entity location
| |
− | |-
| |
− | | Z || Int || Tile entity location
| |
− | |-
| |
− | | Action
| |
− | | Byte
| |
− | | See below
| |
− | |-
| |
− | | Mode
| |
− | | String enum
| |
− | | One of "SAVE", "LOAD", "CORNER", "DATA".
| |
− | |-
| |
− | | Name
| |
− | | String
| |
− | |
| |
− | |-
| |
− | | Offset X || Int
| |
− | |style="background-color: #d9ead3;"|Between -32 and 32
| |
− | |-
| |
− | | Offset Y || Int
| |
− | |style="background-color: #d9ead3;"|Between -32 and 32
| |
− | |-
| |
− | | Offset Z || Int
| |
− | |style="background-color: #d9ead3;"|Between -32 and 32
| |
− | |-
| |
− | | Size X || Int
| |
− | |style="background-color: #d9ead3;"|Between 0 and 32
| |
− | |-
| |
− | | Size Y || Int
| |
− | |style="background-color: #d9ead3;"|Between 0 and 32
| |
− | |-
| |
− | | Size Z || Int
| |
− | |style="background-color: #d9ead3;"|Between 0 and 32
| |
− | |-
| |
− | | Mirror
| |
− | | String enum
| |
− | | One of "NONE", "LEFT_RIGHT", "FRONT_BACK".
| |
− | |-
| |
− | | Rotation
| |
− | | String enum
| |
− | | One of "NONE", "CLOCKWISE_90", "CLOCKWISE_180", "COUNTERCLOCKWISE_90".
| |
− | |-
| |
− | | Metadata
| |
− | | String
| |
| | | | | |
| |- | | |- |
− | | Ignore entities
| |
− | | Boolean
| |
− | |
| |
− | |-
| |
− | |style="background-color: #d9ead3;"|Show air
| |
− | |style="background-color: #d9ead3;"|Boolean
| |
− | |style="background-color: #d9ead3;"|
| |
− | |-
| |
− | |style="background-color: #d9ead3;"|Show bounding box
| |
− | |style="background-color: #d9ead3;"|Boolean
| |
− | |style="background-color: #d9ead3;"|
| |
− | |-
| |
− | |style="background-color: #d9ead3;"|Integrity
| |
− | |style="background-color: #d9ead3;"|Float
| |
− | |style="background-color: #d9ead3;"|Between 0 and 1
| |
− | |-
| |
− | |style="background-color: #d9ead3;"|Seed
| |
− | |style="background-color: #d9ead3;"|VarLong
| |
− | |style="background-color: #d9ead3;"|
| |
| |} | | |} |
| | | |
− | Possible modes:
| + | === Serverbound === |
| | | |
− | * 2 - Save the structure
| + | No changes so far. |
− | * 3 - Load the structure
| |
− | * 4 - Detect size
| |
| | | |
− | | + | == Play == |
− | == Handshaking == | |
| | | |
| === Clientbound === | | === Clientbound === |
| | | |
− | No changes so far.
| + | ==== Clientbound Report Details (play) ==== |
− | | |
− | === Serverbound === | |
− | | |
− | No changes so far.
| |
− | | |
− | ==== Handshake ====
| |
| | | |
− | This causes the server to switch into the target state.
| + | Contains a list of key-value text entries that are included in any crash or disconnection report generated during connection to the server. |
| | | |
− | {| class="wikitable" | + | {| class="wikitable" {{added}} |
| ! Packet ID | | ! Packet ID |
| ! State | | ! State |
| ! Bound To | | ! Bound To |
− | ! Field Name | + | ! colspan="2"| Field Name |
− | ! Field Type | + | ! colspan="2"| Field Type |
| ! Notes | | ! Notes |
| |- | | |- |
− | |rowspan="4"| 0x00 | + | | rowspan="3"| 0x7A |
− | |rowspan="4"| Handshaking | + | | rowspan="3"| Configuration |
− | |rowspan="4"| Server | + | | rowspan="3"| Client |
− | | Protocol Version | + | | colspan="2"| Details Count |
− | | VarInt | + | | colspan="2"| {{Type|VarInt}} (32) |
− | | See [[protocol version numbers]] (currently {{change|110|205}})
| + | | The number of details in the following array. |
| |- | | |- |
− | | Server Address | + | | rowspan="2"| Details |
− | | String | + | | Title |
− | | Hostname or IP, e.g. localhost or 127.0.0.1, that was used to connect. The Notchian server does not use this information. | + | | rowspan="2"| {{Type|Array}} |
− | |-
| + | | {{Type|String}} (128) |
− | | Server Port | + | | |
− | | Unsigned Short
| |
− | | Default is 25565. The Notchian server does not use this information. | |
| |- | | |- |
− | | Next State | + | | Description |
− | | VarInt Enum | + | | {{Type|String}} (4096) |
− | | 1 for [[#Status|status]], 2 for [[#Login|login]] | + | | |
− | |}
| + | |} |
− | | |
− | | |
− | == Play ==
| |
− | | |
− | === Clientbound ===
| |
| | | |
− | ==== Named Sound Effect ==== | + | ==== Clientbound Server Links (play) ==== |
− | {{See also|#Sound Effect}}
| |
| | | |
− | Used to play a sound effect on the client. Custom sounds may be added by resource packs.
| + | This packet contains a list of links that the Notchian client will display in the menu available from the pause menu. Link labels can be built-in or custom (i.e., any text). |
| | | |
− | {| class="wikitable" | + | {| class="wikitable" {{added}} |
| ! Packet ID | | ! Packet ID |
| ! State | | ! State |
| ! Bound To | | ! Bound To |
− | ! Field Name | + | ! colspan="2"| Field Name |
− | ! Field Type | + | ! colspan="2"| Field Type |
| ! Notes | | ! Notes |
| |- | | |- |
− | |rowspan="7"| 0x19 | + | | rowspan="4"| 0x7B |
− | |rowspan="7"| Play | + | | rowspan="4"| Configuration |
− | |rowspan="7"| Client | + | | rowspan="4"| Client |
− | | Sound Name | + | | colspan="2"| Links Count |
− | | String | + | | colspan="2"| {{Type|VarInt}} |
− | | All sound effect names as of 1.9.0 can be seen [http://pokechu22.github.io/Burger/1.9.html#sounds here]. | + | | The number of links in the following array. |
| |- | | |- |
− | | Sound Category | + | | rowspan="3"| Links |
− | | VarInt Enum | + | | Is built-in |
− | | The category that this sound will be played from ([https://gist.github.com/konwboj/7c0c380d3923443e9d55 current categories]) | + | | rowspan="3"| {{Type|Array}} |
| + | | {{Type|Boolean}} |
| + | | Determines if the following label is built-in (from enum) or custom (text component). |
| |- | | |- |
− | | Effect Position X | + | | Label |
− | | Int | + | | {{Type|VarInt}} {{Type|Enum}} / {{Type|Text Component}} |
− | | Effect X multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part) | + | | See below. |
| |- | | |- |
− | | Effect Position Y | + | | URL |
− | | Int | + | | {{Type|String}} |
− | | Effect Y multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part) | + | | Valid URL. |
| + | |} |
| + | |
| + | {| class="wikitable" {{added}} |
| + | ! ID |
| + | ! Name |
| + | ! Notes |
| |- | | |- |
− | | Effect Position Z | + | | 0 |
− | | Int | + | | Bug Report |
− | | Effect Z multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part) | + | | Displayed on connection error screen; included as a comment in the disconnection report. |
| |- | | |- |
− | | Volume | + | | 1 |
− | | Float | + | | Community Guidelines |
− | | 1 is 100%, can be more | + | | |
| |- | | |- |
− | | Pitch | + | | 2 |
− | | {{change|Unsigned Byte|Float}}
| + | | Support |
− | | Float between 0.5 and 2.0 by Notchian clients | + | | |
− | |} | |
− | | |
− | ==== Sound Effect ====
| |
− | | |
− | This packet is used to play a number of hardcoded sound events. For custom sounds, use [[#Named Sound Effect|Named Sound Effect]] ([[#Play|Play]], 0x19, clientbound).
| |
− | | |
− | {{Warning|Numeric sound effect IDs are liable to change between versions}}
| |
− | | |
− | {| class="wikitable"
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
| |- | | |- |
− | |rowspan="7"| 0x46 | + | | 3 |
− | |rowspan="7"| Play
| + | | Status |
− | |rowspan="7"| Client
| + | | |
− | | Sound ID
| |
− | | VarInt | |
− | | ID of hardcoded sound event ([http://pokechu22.github.io/Burger/1.9.html#sounds events] as of 1.9.0) | |
| |- | | |- |
− | | Sound Category | + | | 4 |
− | | VarInt Enum | + | | Feedback |
− | | The category that this sound will be played from ([https://gist.github.com/konwboj/7c0c380d3923443e9d55 current categories]) | + | | |
| |- | | |- |
− | | Effect Position X | + | | 5 |
− | | Int | + | | Community |
− | | Effect X multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part) | + | | |
| |- | | |- |
− | | Effect Position Y | + | | 6 |
− | | Int | + | | Website |
− | | Effect Y multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part) | + | | |
| |- | | |- |
− | | Effect Position Z | + | | 7 |
− | | Int | + | | Forums |
− | | Effect Z multiplied by 8 ([[Data types#Fixed-point numbers|fixed-point number]] with only 3 bits dedicated to the fractional part) | + | | |
| |- | | |- |
− | | Volume | + | | 8 |
− | | Float | + | | News |
− | | 1.0 is 100%, capped between 0.0 and 1.0 by Notchian clients | + | | |
| |- | | |- |
− | | Pitch | + | | 9 |
− | | {{change|Unsigned Byte|Float}} | + | | Announcements |
− | | Float between 0.5 and 2.0 by Notchian clients
| + | | |
− | |} | |
− | | |
− | === Serverbound ===
| |
− | | |
− | ==== Resource Pack Status ====
| |
− | | |
− | {| class="wikitable"
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
| |- | | |- |
− | |rowspan="3"| 0x16
| |
− | |rowspan="3"| Play
| |
− | |rowspan="3"| Server
| |
− | |- style="background-color: #f4cccc; text-decoration: line-through;"
| |
− | | Hash
| |
− | | String
| |
− | | The hash sent in the [[#Resource Pack Send|Resource Pack Send]] packet.
| |
− | |-
| |
− | | Result
| |
− | | VarInt Enum
| |
− | | 0: successfully loaded, 1: declined, 2: failed download, 3: accepted
| |
| |} | | |} |
− |
| |
− | == Status ==
| |
− |
| |
− | === Clientbound ===
| |
− |
| |
− | No changes so far.
| |
| | | |
| === Serverbound === | | === Serverbound === |
Line 1,080: |
Line 279: |
| No changes so far. | | No changes so far. |
| | | |
− | == Login ==
| + | [[Category:Minecraft Modern]] |
− | | |
− | === Clientbound ===
| |
− | | |
− | No changes so far.
| |
− | | |
− | === Serverbound ===
| |
− | | |
− | No changes so far.
| |