Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
(1.11-pre1)
(First part of the update)
Line 1: Line 1:
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.10.2, protocol 210]]) to the current pre-release (currently [[Protocol version numbers|1.11-pre1, protocol 314]]). 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.11, protocol 315]]) to the current pre-release (currently [[Protocol version numbers|1.11, protocol 315]]). 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 42: Line 42:
 
=== Objects ===
 
=== Objects ===
  
Objects are spawned via [[Protocol#Spawn_Object|Spawn Object]]. See [[Object Data]] for more details.
+
''No changes so far'
 
 
{| class="wikitable"
 
|-
 
! ID
 
! Name
 
! x, z
 
! y
 
|-
 
| 1
 
| Boat
 
| 1.5
 
| 0.6
 
|-
 
| 2
 
| Item Stack ([[Slot]])
 
| 0.25
 
| 0.25
 
|-
 
| 3
 
| Area Effect Cloud
 
| ?
 
| ?
 
|-
 
| 10
 
| Minecart
 
| 0.98
 
| 0.7
 
|-
 
| 50
 
| Activated TNT
 
| 0.98
 
| 0.98
 
|-
 
| 51
 
| EnderCrystal
 
| 2.0
 
| 2.0
 
|-
 
| 60
 
| Tipped arrow (projectile; also used for regular arrows)
 
| 0.5
 
| 0.5
 
|-
 
| 61
 
| Snowball (projectile)
 
| 0.25
 
| 0.25
 
|-
 
| 62
 
| Egg (projectile)
 
| 0.25
 
| 0.25
 
|-
 
| 63
 
| FireBall (ghast projectile)
 
| 1.0
 
| 1.0
 
|-
 
| 64
 
| FireCharge (blaze projectile)
 
| 0.3125
 
| 0.3125
 
|-
 
| 65
 
| Thrown Enderpearl
 
| 0.25
 
| 0.25
 
|-
 
| 66
 
| Wither Skull (projectile)
 
| 0.3125
 
| 0.3125
 
|-
 
| 67
 
| Shulker Bullet
 
| 0.3125
 
| 0.3125
 
|-
 
|style="background-color: #d9ead3;"|68
 
|style="background-color: #d9ead3;"|Llama spit
 
|style="background-color: #d9ead3;"|0.25
 
|style="background-color: #d9ead3;"|0.25
 
|-
 
| 70
 
| Falling Objects
 
| 0.98
 
| 0.98
 
|-
 
| 71
 
| Item frames
 
| varies
 
| varies
 
|-
 
| 72
 
| Eye of Ender
 
| 0.25
 
| 0.25
 
|-
 
| 73
 
| Thrown Potion
 
| 0.25
 
| 0.25
 
|-
 
| 75
 
| Thrown Exp Bottle
 
| 0.25
 
| 0.25
 
|-
 
| 76
 
| Firework Rocket
 
| 0.25
 
| 0.25
 
|-
 
| 77
 
| Leash Knot
 
| 0.5
 
| 0.5
 
|-
 
| 78
 
| ArmorStand
 
| 0.5
 
| 2.0
 
|-
 
|style="background-color: #d9ead3;"|79
 
|style="background-color: #d9ead3;"|Evocation Fangs
 
|style="background-color: #d9ead3;"|0.8
 
|style="background-color: #d9ead3;"|0.5
 
|-
 
| 90
 
| Fishing Float
 
| 0.25
 
| 0.25
 
|-
 
| 91
 
| Spectral Arrow
 
| 0.5
 
| 0.5
 
|-
 
| 93
 
| Dragon Fireball
 
| 0.3125
 
| 0.3125
 
|}
 
 
 
Since release {{Minecraft Wiki|1.6}}, all minecarts are spawned with object type 10 and their functionality is then specified in the [[Object Data#Minecarts (id 10)|Data field]] within the packet. Also, their visual appearance may be sent via the [[Protocol#Entity Metadata|Entity Metadata]] packet.
 
 
 
  
 
=== Mobs ===
 
=== Mobs ===
  
Mobs are spawned via [[Protocol#Spawn_Mob|Spawn Mob]]. {{change|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).}}
+
''No changes so far''
 
 
{| class="wikitable"
 
|-
 
! Type
 
! Name
 
! x, z
 
! y
 
! ID
 
|- style="background-color: #d9ead3;"
 
| 4
 
| ElderGuardian
 
| 0.85
 
| 0.85
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:elder_guardian</code>
 
|- style="background-color: #d9ead3;"
 
| 5
 
| WitherSkeleton
 
| 0.7
 
| 2.4
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:wither_skeleton</code>
 
|- style="background-color: #d9ead3;"
 
| 6
 
| Stray
 
| 0.6
 
| 1.99
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:stray</code>
 
|- style="background-color: #d9ead3;"
 
| 23
 
| Husk
 
| 0.6
 
| 1.95
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:husk</code>
 
|- style="background-color: #d9ead3;"
 
| 27
 
| ZombieVillager
 
| 0.6
 
| 1.95
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:zombie_villager</code>
 
|- style="background-color: #d9ead3;"
 
| 28
 
| SkeletonHorse
 
| 1.396484
 
| 1.6
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:skeleton_horse</code>
 
|- style="background-color: #d9ead3;"
 
| 29
 
| ZombieHorse
 
| 1.396484
 
| 1.6
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:zombie_horse</code>
 
|- style="background-color: #d9ead3;"
 
| 31
 
| Donkey
 
| 1.396484
 
| 1.6
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:donkey</code>
 
|- style="background-color: #d9ead3;"
 
| 32
 
| Mule
 
| 1.396484
 
| 1.6
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:mule</code>
 
|- style="background-color: #d9ead3;"
 
| 33
 
| EvocationFangs
 
| 0.5
 
| 0.8
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:evocation_fangs</code>
 
|- style="background-color: #d9ead3;"
 
| 34
 
| EvocationIllager
 
| 0.6
 
| 1.95
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:evocation_illager</code>
 
|- style="background-color: #d9ead3;"
 
| 35
 
| Vex
 
| 0.4
 
| 0.8
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:vex</code>
 
|- style="background-color: #d9ead3;"
 
| 36
 
| VindicationIllager
 
| 0.6
 
| 1.95
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:vindication_illager</code>
 
|- style="background-color: #f4cccc;"
 
| 48
 
| Mob
 
| N/A
 
| N/A
 
| N/A
 
|- style="background-color: #f4cccc;"
 
| 49
 
| Monster
 
| N/A
 
| N/A
 
| N/A
 
|-
 
| 50
 
| Creeper
 
| 0.6
 
| 1.7
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:creeper</code>
 
|-
 
| 51
 
| Skeleton
 
| 0.6
 
| 1.99
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:skeleton</code>
 
|-
 
| 52
 
| Spider
 
| 1.4
 
| 0.9
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:spider</code>
 
|-
 
| 53
 
| Giant
 
| 0.6 * 6
 
| 1.8 * 6
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:giant</code>
 
|-
 
| 54
 
| Zombie
 
| 0.6
 
| 1.8
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:zombie</code>
 
|-
 
| 55
 
| Slime
 
| 0.51000005 * size
 
| 0.51000005 * size
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:slime</code>
 
|-
 
| 56
 
| Ghast
 
| 4
 
| 4
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:ghast</code>
 
|-
 
| 57
 
| PigZombie
 
| 0.6
 
| 1.8
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:zombie_pigman</code>
 
|-
 
| 58
 
| Enderman
 
| 0.6
 
| 2.9
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:enderman</code>
 
|-
 
| 59
 
| CaveSpider
 
| 0.7
 
| 0.5
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:cave_spider</code>
 
|-
 
| 60
 
| Silverfish
 
| 0.4
 
| 0.3
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:silverfish</code>
 
|-
 
| 61
 
| Blaze
 
| 0.6
 
| 1.8
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:blaze</code>
 
|-
 
| 62
 
| LavaSlime (Magma Cube)
 
| 0.51000005 * size
 
| 0.51000005 * size
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:magma_cube</code>
 
|-
 
| 63
 
| EnderDragon
 
| 16.0
 
| 8.0
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:ender_dragon</code>
 
|-
 
| 64
 
| WitherBoss
 
| 0.9
 
| 3.5
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:wither</code>
 
|-
 
| 65
 
| Bat
 
| 0.5
 
| 0.9
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:bat</code>
 
|-
 
| 66
 
| Witch
 
| 0.6
 
| 1.8
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:witch</code>
 
|-
 
| 67
 
| Endermite
 
| 0.4
 
| 0.3
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:endermite</code>
 
|-
 
| 68
 
| Guardian
 
| 0.85
 
| 0.85
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:guardian</code>
 
|-
 
| 69
 
| Shulker
 
| 1
 
| 1
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:shulker</code>
 
|-
 
| 90
 
| Pig
 
| 0.9
 
| 0.9
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:pig</code>
 
|-
 
| 91
 
| Sheep
 
| 0.9
 
| 1.3
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:sheep</code>
 
|-
 
| 92
 
| Cow
 
| 0.9
 
| 1.4
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:cow</code>
 
|-
 
| 93
 
| Chicken
 
| 0.4
 
| 0.7
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:chicken</code>
 
|-
 
| 94
 
| Squid
 
| 0.8
 
| 0.8
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:squid</code>
 
|-
 
| 95
 
| Wolf
 
| 0.6
 
| 0.85
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:wolf</code>
 
|-
 
| 96
 
| MushroomCow (Mooshroom)
 
| 0.9
 
| 1.3
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:mooshroom</code>
 
|-
 
| 97
 
| SnowMan
 
| 0.7
 
| 1.9
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:snowman</code>
 
|-
 
| 98
 
| Ozelot (Ocelot)
 
| 0.6
 
| 0.8
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:ocelot</code>
 
|-
 
| 99
 
| VillagerGolem (Iron Golem)
 
| 1.4
 
| 2.7
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:villager_golem</code>
 
|-
 
| 100
 
| EntityHorse
 
| 1.396484
 
| 1.6
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:horse</code>
 
|-
 
| 101
 
| Rabbit
 
| 0.4
 
| 0.5
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:rabbit</code>
 
|-
 
| 102
 
| PolarBear
 
| 1.3
 
| 1.4
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:polar_bear</code>
 
|- style="background-color: #d9ead3;"
 
| 103
 
| Llama
 
| 1.3964844
 
| 1.87
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:llama</code>
 
|- style="background-color: #d9ead3;"
 
| 104
 
| LlamaSpit
 
| 0.25
 
| 0.25
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:llama_spit</code>
 
|-
 
| 120
 
| Villager
 
| 0.6
 
| 1.95
 
| style="background-color: #d9ead3; text-align: center;" | <code>minecraft:villager</code>
 
|}
 
  
 
=== Entity Metadata ===
 
=== Entity Metadata ===
  
=== EvocationIllager ===
+
''No changes so far''
 
 
Extends [[#Monster|Monster]].
 
 
 
{| class="wikitable" style="background-color: #d9ead3;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 12
 
| Byte
 
| Unknown (Probably hands up animation)
 
|}
 
 
 
=== Vex ===
 
 
 
Extends [[#Monster|Monster]].
 
 
 
{| class="wikitable" style="background-color: #d9ead3;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
|rowspan="3"| 12
 
|rowspan="3"| Byte
 
! Bit mask
 
! Meaning
 
|- style="background-color: #d9ead3;"
 
| 0x01
 
| Is in attack mode
 
|}
 
 
 
=== VindicationIllager ===
 
 
 
Extends [[#Monster|Monster]].
 
 
 
{| class="wikitable" style="background-color: #d9ead3;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
|rowspan="3"| 12
 
|rowspan="3"| Byte
 
! Bit mask
 
! Meaning
 
|- style="background-color: #d9ead3;"
 
| 0x01
 
| Has target (aggressive state)
 
|}
 
 
 
=== EvocationFangs ===
 
 
 
Extends [[#Entity|Entity]].
 
 
 
=== AbstractSkeleton ===
 
 
 
Extends [[#Monster|Monster]].
 
 
 
{| class="wikitable" style="background-color: #d9ead3;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 12
 
| Boolean
 
|colspan="2"| Is swinging arms
 
|}
 
 
 
=== Skeleton ===
 
 
 
Extends [[#AbstractSkeleton|AbstractSkeleton]].
 
 
 
{| class="wikitable" style="background-color: #f4cccc;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 12
 
| VarInt
 
|colspan="2"| Type (Normal = 0, Wither = 1, Stray = 2)
 
|-
 
| 13
 
| Boolean
 
|colspan="2"| Is swinging arms (Used to animate arms for melee attacks; only used when the skeleton does not have a bow in its hand)
 
|}
 
 
 
=== Wither Skeleton ===
 
 
 
Extends [[#AbstractSkeleton|AbstractSkeleton]].
 
 
 
=== Stray ===
 
 
 
Extends [[#AbstractSkeleton|AbstractSkeleton]].
 
 
 
=== Zombie ===
 
 
 
Extends [[#Monster|Monster]].
 
 
 
{| class="wikitable"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 12
 
| Boolean
 
|colspan="2"| Is baby
 
|-
 
| 13
 
| VarInt
 
|colspan="2"| {{change|Zombie type (0 for zombie, profession+1 for villagers, 6 for Husk)|Unused}}
 
|- style="background-color: #f4cccc;"
 
| 14
 
| Boolean
 
|colspan="2"| Is converting
 
|-
 
| {{change|15|14}}
 
| Boolean
 
|colspan="2"| Are hands held up
 
|}
 
 
 
=== Zombie Villager ===
 
 
 
Extends [[#Zombie|Zombie]].
 
 
 
{| class="wikitable"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|- style="background-color: #d9ead3;"
 
| 15
 
| Boolean
 
|colspan="2"| Is converting
 
|- style="background-color: #d9ead3;"
 
| 16
 
| VarInt
 
|colspan="2"| Profession
 
|}
 
 
 
=== Husk ===
 
 
 
Extends [[#Zombie|Zombie]].
 
 
 
=== Guardian ===
 
 
 
Extends [[#Monster|Monster]].
 
 
 
{| class="wikitable"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|- style="background-color: #f4cccc;"
 
|rowspan="3"| 12
 
|rowspan="3"| Byte
 
! Bit mask
 
! Meaning
 
|- style="background-color: #f4cccc;"
 
| 0x02
 
| is retracting spikes
 
|- style="background-color: #f4cccc;"
 
| 0x04
 
| is elderly
 
|- style="background-color: #d9ead3;"
 
| 12
 
| Boolean
 
|colspan="2"| Is retracting spikes
 
|-
 
| 13
 
| VarInt
 
|colspan="2"| Target EID
 
|}
 
 
 
=== ElderGuardian ===
 
 
 
Extends [[#Guardian|Guardian]].
 
 
 
=== AbstractHorse ===
 
 
 
Extends [[#Animal|Animal]].
 
 
 
{| class="wikitable" style="background-color: #d9ead3;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
|rowspan="9"| 13
 
|rowspan="9"| Byte
 
! Bit mask
 
! Meaning
 
|-
 
| 0x01
 
| ''Unused''
 
|-
 
| 0x02
 
| Is Tame
 
|-
 
| 0x04
 
| Is saddled
 
|-
 
| 0x08
 
| Has Chest
 
|-
 
| 0x10
 
| Is Bred (not used on the Notchian server; controlled via the unused Bred NBT flag)
 
|-
 
| 0x20
 
| Is eating
 
|-
 
| 0x40
 
| Is rearing (on hind legs)
 
|-
 
| 0x80
 
| Is mouth open
 
|-
 
| 14
 
| OptUUID
 
|colspan="2"| Owner
 
|}
 
 
 
=== Horse ===
 
 
 
Extends [[#AbstractHorse|AbstractHorse]].
 
 
 
{| class="wikitable" style="background-color: #d9ead3;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 15
 
| VarInt
 
|colspan="2"| Variant (Color & Style)
 
|-
 
| 16
 
| VarInt
 
|colspan="2"| Armor
 
|}
 
 
 
=== ZombieHorse ===
 
 
 
Extends [[#AbstractHorse|AbstractHorse]].
 
 
 
=== SkeletonHorse ===
 
 
 
Extends [[#AbstractHorse|AbstractHorse]].
 
 
 
=== ChestedHorse ===
 
 
 
Extends [[#AbstractHorse|AbstractHorse]].
 
 
 
{| class="wikitable" style="background-color: #d9ead3;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 15
 
| Boolean
 
|colspan="2"| Has Chest
 
|}
 
 
 
=== Donkey ===
 
 
 
Extends [[#ChestedHorse|ChestedHorse]].
 
 
 
=== Llama ===
 
 
 
Extends [[#ChestedHorse|ChestedHorse]].
 
 
 
{| class="wikitable" style="background-color: #d9ead3;"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 16
 
| Integer
 
| colspan="2"| Strength (number of columns of 3 slots in the llama's inventory once a chest is equipped)
 
|-
 
| 17
 
| Integer
 
| colspan="2"| Carpet color (a dye color, or -1 if no carpet equipped)
 
|-
 
| 18
 
| Integer
 
| colspan="2"| Variant (0: <code>llama_creamy.png</code>, 1: <code>llama_white.png</code>, 2: <code>llama_brown.png</code>, 3: <code>llama_gray.png</code>)
 
|}
 
 
 
=== Mule ===
 
 
 
Extends [[#ChestedHorse|ChestedHorse]].
 
 
 
=== Villager ===
 
 
 
Extends [[#Ageable|Ageable]].
 
 
 
{| class="wikitable"
 
! Index
 
! Type
 
!style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 13
 
| VarInt
 
|colspan="2"| Profession (Farmer = 0, Librarian = 1, Priest = 2, Blacksmith = 3, Butcher = 4{{Change||, Nitwit {{=}} 5}})
 
|}
 
 
 
=== Shulker ===
 
 
 
Extends [[#Golem|Golem]].
 
 
 
{| class="wikitable"
 
! Index
 
! Type
 
! style="width: 250px;" colspan="2"| Meaning
 
|-
 
| 12
 
| Direction
 
|colspan="2"| Facing direction
 
|-
 
| 13
 
| OptPosition
 
|colspan="2"| Attachment position
 
|-
 
| 14
 
| Byte
 
|colspan="2"| Shield height
 
|- style="background-color: #d9ead3;"
 
| 15
 
| Byte
 
| colspan="2"| Color (dye color, default of purple)
 
|}
 
 
 
=== LlamaSpit ===
 
 
 
Extends [[#Entity|Entity]].
 
 
 
== Inventory ==
 
 
 
{| class="wikitable"
 
|-
 
! Window Type
 
! Description
 
|-
 
| minecraft:chest
 
| {{Minecraft Wiki|Chest}}, large chest, or {{Minecraft Wiki|minecart with chest}}
 
|-
 
| minecraft:crafting_table
 
| {{Minecraft Wiki|Crafting table}}
 
|-
 
| minecraft:furnace
 
| {{Minecraft Wiki|Furnace}}
 
|-
 
| minecraft:dispenser
 
| {{Minecraft Wiki|Dispenser}}
 
|-
 
| minecraft:enchanting_table
 
| {{Minecraft Wiki|Enchantment table}}
 
|-
 
| minecraft:brewing_stand
 
| {{Minecraft Wiki|Brewing stand}}
 
|-
 
| minecraft:villager
 
| {{Minecraft Wiki|Villager}}
 
|-
 
| minecraft:beacon
 
| {{Minecraft Wiki|Beacon}}
 
|-
 
| minecraft:anvil
 
| {{Minecraft Wiki|Anvil}}
 
|-
 
| minecraft:hopper
 
| {{Minecraft Wiki|Hopper}} or {{Minecraft Wiki|minecart with hopper}}
 
|-
 
| minecraft:dropper
 
| {{Minecraft Wiki|Dropper}}
 
|-
 
|style="background-color: #d9ead3;"| minecraft:shulker_box
 
|style="background-color: #d9ead3;"| {{Minecraft Wiki|Shulker box}}
 
|-
 
| EntityHorse
 
| {{Minecraft Wiki|Horse|Horse, donkey, or mule}}, {{change||or {{Minecraft Wiki|Llama}}}}
 
|}
 
 
 
=== Shulker box ===
 
<!-- Yes, this image doesn't exist yet; I'll add it later. -->
 
[[File:Shulker-box-slots.png|thumb|Shulker box slots]]
 
 
 
This is the window that is opened when the player right-clicks on a shulker box chest.
 
 
 
{| class="wikitable"
 
|-
 
! Slot range
 
! Description
 
|-
 
| 0–26
 
| box slots
 
|-
 
| 27–53
 
| main inventory
 
|-
 
| 54–62
 
| hotbar
 
|}
 
 
 
{{-}}
 
 
 
=== Llama ===
 
<!-- Again, this image doesn't exist yet -->
 
[[File:Llama-strength5-slots.png|thumb|Llama slots]]
 
 
 
The inventory that appears when a tamed llama is right-clicked and has a chest, or when the player's inventory is opened while riding a tamed llama.  Depending on the value of the strength field, the number of chest rows may vary (max is 5, so 15 slots).
 
 
 
{{warning|There still is a saddle slot, even though it cannot be used and is invisible.}}
 
 
 
{{warning|Slot positions within the llama inventory vary - slot 2 may be at (1,0) or at (0,1) depending on the number of columns.}}
 
 
 
{| class="wikitable"
 
|-
 
! Slot range
 
! Description
 
|-
 
| 0
 
| saddle
 
|-
 
| 1
 
| carpet
 
|-
 
| 2-(2+3*Strength)
 
| llama inventory
 
|-
 
| (2+3*Strength)+1-(2+3*Strength)+27
 
| player inventory
 
|-
 
| (2+3*Strength)+28-(2+3*Strength)+35
 
| hotbar
 
|}
 
 
 
<gallery>
 
File:Llama-unchested-slots.png|Unchested llama
 
File:Llama-strength1-slots.png|Llama with strength 1
 
File:Llama-strength2-slots.png|Llama with strength 2
 
File:Llama-strength3-slots.png|Llama with strength 3
 
File:Llama-strength4-slots.png|Llama with strength 4
 
File:Llama-strength5-slots.png|Llama with strength 5
 
</gallery>
 
  
 
== Block Actions ==
 
== Block Actions ==

Revision as of 09:59, 15 November 2016

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

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

Contents

Data types

No changes so far.

Packets

No changes so far.

ID Packet name Documentation
Handshaking serverbound
0x00 Handshake Current Pre
Play clientbound
0x03 Spawn Mob Current Pre
0x09 Update Block Entity Current Pre
0x0E Tab-Complete (clientbound) Current Pre
0x1B Entity Status Current Pre
0x24 Map Current Pre
0x45 Title Current Pre
0x48 Collect Item Current Pre
Play serverbound
0x02 Chat Message (serverbound) Current Pre
0x1C Player Block Placement Current Pre

New/modified data types

Objects

No changes so far'

Mobs

No changes so far

Entity Metadata

No changes so far

Block Actions

Shulker Box

Animates the shulker box's shell opening.

Action IDs

There is only one action: 1, which updates the number of players who are looking in the shulker box.

Action param

If the action is 1, updates the number of players who have the shulker box open. If 0, the shulker box enters its closing animation; if 1, the shulker box enters its opening animation.

Handshaking

Clientbound

No changes so far.

Serverbound

Handshake

This causes the server to switch into the target state.

Packet ID State Bound To Field Name Field Type Notes
0x00 Handshaking Server Protocol Version VarInt See protocol version numbers (currently 210 314)
Server Address String Hostname or IP, e.g. localhost or 127.0.0.1, that was used to connect. The Notchian server does not use this information.
Server Port Unsigned Short Default is 25565. The Notchian server does not use this information.
Next State VarInt Enum 1 for status, 2 for login

Play

Clientbound

Spawn Mob

Sent by the server when a mob entity is spawned.

Packet ID State Bound To Field Name Field Type Notes
0x03 Play Client Entity ID VarInt
Entity UUID UUID
Type Unsigned Byte VarInt The type of mob. See Entities#Mobs
X Double
Y Double
Z Double
Yaw Angle
Pitch Angle
Head Pitch Angle
Velocity X Short Same units as Entity Velocity
Velocity Y Short Same units as Entity Velocity
Velocity Z Short Same units as Entity Velocity
Metadata Entity Metadata

Update Block Entity

Sets tile entity associated with the block at the given location.

Packet ID State Bound To Field Name Field Type Notes
0x09 Play Client Location Position
Action Unsigned Byte The type of update to perform, see below
NBT Data NBT Tag Data to set. May be a TAG_END (0), in which case the block entity at the given location is removed (though this is not required since the client will remove the block entity automatically on chunk unload or block removal)

Action field:

  • 1: Set SpawnPotentials of a mob spawner
  • 2: Set command block text (command and last execution status)
  • 3: Set the level, primary, and secondary powers of a beacon
  • 4: Set rotation and skin of mob head
  • 5: Set type of flower in flower pot
  • 6: Set base color and patterns on a banner
  • 7: Set the data for a Structure tile entity
  • 8: Set the destination for a end gateway
  • 9: Set the text on a sign
  • 10: Declare a shulker box (unclear if there is any actual data)

Tab-Complete (clientbound)

The server responds with a list of auto-completions of the last word sent to it. In the case of regular chat, this is a player username. Command names and parameters are also supported. The client lists these in the order that they are in the array. The client sorts these alphabetically before listing them.

Packet ID State Bound To Field Name Field Type Notes
0x0E Play Client Count VarInt Number of elements in the following array
Matches Array of String One eligible command, note that each command is sent separately instead of in a single string, hence the need for Count

Entity Status

Packet ID State Bound To Field Name Field Type Notes
0x1B Play Client Entity ID Int
Entity Status Byte Enum See below
Entity Status Meaning
0 Spawn tipped arrow particle effects
1 Reset a mob spawner minecart's timer (unused by the client?)
1 Create rabbit running particles
2 Entity hurt animation
3 Entity died animation
4 Iron Golem throwing up arms
6 Wolf/Ocelot/Horse taming — Spawn “heart” particles
7 Wolf/Ocelot/Horse tamed — Spawn “smoke” particles
8 Wolf shaking water — Trigger the shaking animation
9 Mark item use as finished (ie, eating finished, drinking finished)
10 Sheep eating grass
10 Ignite TNT minecart
11 Iron Golem handing over a rose
12 Villager mating — Spawn “heart” particles
13 Spawn particles indicating that a villager is angry and seeking revenge
14 Spawn happy particles near a villager
15 Witch animation — Spawn “magic” particles
16 Play zombie converting into a villager sound
17 Firework exploding
18 Animal in love (ready to mate) — Spawn “heart” particles
19 Reset squid rotation
20 Spawn explosion particle — works for some living entities
21 Play guardian sound — works for every entity
22 Enables reduced debug for the given player
23 Disables reduced debug for the given player
24–28 Sets the op permission level 0–4 for the connected player
29 Shield block sound
30 Shield break sound
31 For a fishing rod bobber, if the hooked entity is this player, tug that player toward the caster of the rod
32 Armorstand hit sound
33 Entity hurt due to thorns (play thorns sound, perform normal hurt animation)
34 Puts away an iron golem's poppy
35 Plays the Totem of Undying animation

Map

Updates a rectangular area on a map item.

Packet ID State Bound To Field Name Field Type Notes
0x24 Play Client Item Damage VarInt The damage value (map ID) of the map being modified
Scale Byte From 0 for a fully zoomed-in map (1 block per pixel) to 4 for a fully zoomed-out map (16 blocks per pixel)
Tracking Position Boolean Specifies whether the icons are shown
Icon Count VarInt Number of elements in the following array
Icon Direction And Type Array Byte 0xF0 = Direction, 0x0F = Type
X Byte
Z Byte
Columns Byte Number of columns updated
Rows Optional Byte Only if Columns is more than 0; number of rows updated
X Optional Byte Only if Columns is more than 0; x offset of the westernmost column
Z Optional Byte Only if Columns is more than 0; z offset of the northernmost row
Length Optional VarInt Only if Columns is more than 0; length of the following array
Data Optional Array of Unsigned Byte Only if Columns is more than 0; see Map item format

For icons, a direction of 0 is a vertical icon and increments by 22.5° (360/16).

Types are based off of rows and columns in map_icons.png:

Icon type Result
0 White arrow (players)
1 Green arrow (item frames)
2 Red arrow
3 Blue arrow
4 White cross
5 Red pointer
6 White circle (off-map players)
7 Small white circle (far-off-map players)
8 Mansion
9 Temple
10-15 Unused (blue square)

Title

Packet ID State Bound To Field Name Field Type Notes
0x45 Play Client Action VarInt Enum
Action Field Name
0: set title Title Text Chat
1: set subtitle Subtitle Text Chat
2: set action bar Action bar text Chat Behaves the same as with position 2 in Chat Message (clientbound)
2 3: set times and display Fade In Int Ticks to spend fading in
Stay Int Ticks to keep the title displayed
Fade Out Int Ticks to spend out, not when to start fading out
3 4: hide no fields no fields
4 5: reset no fields no fields

“Hide” makes the title disappear, but if you run times again the same title will appear. “Reset” erases the text.

The title is visible on screen for Fade In + Stay + Fade Out ticks.

Collect Item

Sent by the server when someone picks up an item lying on the ground — its sole purpose appears to be the animation of the item flying towards you. It doesn't destroy the entity in the client memory, and it doesn't add it to your inventory. The server only checks for items to be picked up after each Player Position (and Player Position And Look) packet sent by the client.

Packet ID State Bound To Field Name Field Type Notes
0x48 Play Client Collected Entity ID VarInt
Collector Entity ID VarInt
Pickup Item Count VarInt Seems to be 1 for XP orbs, otherwise the number of items in the stack.

Serverbound

Chat Message (serverbound)

Used to send a chat message to the server. The message may not be longer than 100 256 characters or else the server will kick the client.

If the message starts with a /, the server will attempt to interpret it as a command. Otherwise, the server will broadcast the same chat message to all players on the server (including the player that sent the message), prepended with player's name. Specifically, it will respond with a translate chat component, "chat.type.text" with the first parameter set to the display name of the player (including some chat component logic to support clicking the name to send a PM) and the second parameter set to the message.

Packet ID State Bound To Field Name Field Type Notes
0x02 Play Server Message String The client sends the raw input, not a Chat component

Player Block Placement

Packet ID State Bound To Field Name Field Type Notes
0x1C Play Server Location Position Block position
Face VarInt Enum The face on which the block is placed (as documented at Player Digging)
Hand VarInt Enum The hand from which the block is placed; 0: main hand, 1: off hand
Cursor Position X Unsigned Byte Float The position of the crosshair on the block, from 0 to 1 increasing from west to east
Cursor Position Y Unsigned Byte Float The position of the crosshair on the block, from 0 to 1 increasing from bottom to top
Cursor Position Z Unsigned Byte Float The position of the crosshair on the block, from 0 to 1 increasing from north to south

Status

Clientbound

No changes so far.

Serverbound

No changes so far.

Login

Clientbound

No changes so far.

Serverbound

No changes so far.