|
|
(31 intermediate revisions by 6 users not shown) |
Line 1: |
Line 1: |
− | This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.20.2, protocol 764]]) to the current pre-release (currently [[Protocol version numbers|1.20.3-pre1, protocol {{Snapshot PVN|1073741988}}]]). 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 === |
| | | |
− | ==== NBT ====
| + | No changes documented so far. |
− | | |
− | The NBT specification was changed so that the root tag is no longer required to be a [[NBT#Specification:compound_tag|Compound Tag]] when sent over the network.
| |
− | | |
− | Presently in the pre-release, only [[NBT#Specification:compound_tag|Compound Tag]] and [[NBT#Specification:string_tag|String Tag]] types are used as root, but the Notchian server/client implementation is able to handle [[NBT#Specification|NBT Tags]] of any type.
| |
− | | |
− | ==== Chat ====
| |
− | | |
− | The [[Chat]] type is now serialized as a [[NBT#Specification|NBT Tag]] instead of a JSON String, unless explicitly stated otherwise.
| |
− | | |
− | {| class="wikitable"
| |
− | |-
| |
− | ! Name
| |
− | ! Size (bytes)
| |
− | ! Encodes
| |
− | ! Notes
| |
− | |- {{removed}}
| |
− | ! id=Definitions:chat | [[#Definitions:chat|Chat]]
| |
− | | ≥ 1 <br />≤ (262144×4) + 3
| |
− | | See [[Chat]]
| |
− | | Encoded as a String with max length of 262144.
| |
− | |- {{added}}
| |
− | ! id=Definitions:chat | [[#Definitions:chat|Chat]]
| |
− | | Varies
| |
− | | See [[Chat]]
| |
− | | Encoded as a [[NBT|NBT Tag]], with the type of tag used depending on the case:
| |
− | * As a [[NBT#Specification:string_tag|String Tag]]: For components only containing text (no styling, no events etc.).
| |
− | * As a [[NBT#Specification:compound_tag|Compound Tag]]: Every other case.
| |
− | |}
| |
− | | |
− | This affects the following packets and data types containing Chat fields:
| |
− | * [[Protocol#Disconnect (configuration)|Disconnect (configuration)]]
| |
− | * [[Protocol#Resource Pack (configuration)|Resource Pack (configuration)]]
| |
− | * [[Protocol#Boss Bar|Boss Bar]]
| |
− | * [[Protocol#Command Suggestions Response|Command Suggestions Response]]
| |
− | * [[Protocol#Disconnect (play)|Disconnect (play)]]
| |
− | * [[Protocol#Disguised Chat Message|Disguised Chat Message]]
| |
− | * [[Protocol#Map Data|Map Data]]
| |
− | * [[Protocol#Open Screen|Open Screen]]
| |
− | * [[Protocol#Player Chat Message|Player Chat Message]]
| |
− | * [[Protocol#Combat Death|Combat Death]]
| |
− | * [[Protocol#Player Info Update|Player Info Update]]
| |
− | * [[Protocol#Resource Pack (play)|Resource Pack (play)]]
| |
− | * [[Protocol#Server Data|Server Data]]
| |
− | * [[Protocol#Set Action Bar Text|Set Action Bar Text]]
| |
− | * [[Protocol#Update Objectives|Update Objectives]]
| |
− | * [[Protocol#Update Teams|Update Teams]]
| |
− | * [[Protocol#Set Subtitle Text|Set Subtitle Text]]
| |
− | * [[Protocol#Set Title Text|Set Title Text]]
| |
− | * [[Protocol#System Chat Message|System Chat Message]]
| |
− | * [[Protocol#Set Tab List Header And Footer|Set Tab List Header And Footer]]
| |
− | * [[Protocol#Update Advancements|Update Advancements]]
| |
− | <br>
| |
− | * [[Slot|Slot data type (values in the item NBT field)]]
| |
− | * [[Entity_metadata#Entity_Metadata_Format|Chat entity metadata type]]
| |
− | * [[Entity_metadata#Entity_Metadata_Format|OptChat entity metadata type]]
| |
− | <br>
| |
− | However, the following are '''NOT''' affected, as to maintain backwards compatibility with older versions:
| |
− | * [[Protocol#Disconnect (login)|Disconnect (login)]]
| |
− | * [[Server_List_Ping#Status_Response|Server List status response (the description field)]]
| |
− | | |
− | ==== Particle ====
| |
− | | |
− | {| class="wikitable"
| |
− | |-
| |
− | ! Particle Name
| |
− | ! Particle ID
| |
− | ! Data
| |
− | |-
| |
− | | <code>minecraft:ambient_entity_effect</code>
| |
− | | 0
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:angry_villager</code>
| |
− | | 1
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:block</code>
| |
− | | 2
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | BlockState
| |
− | | VarInt
| |
− | | The ID of the block state.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:block_marker</code>
| |
− | | 3
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | BlockState
| |
− | | VarInt
| |
− | | The ID of the block state.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:bubble</code>
| |
− | | 4
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:cloud</code>
| |
− | | 5
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:crit</code>
| |
− | | 6
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:damage_indicator</code>
| |
− | | 7
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dragon_breath</code>
| |
− | | 8
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_lava</code>
| |
− | | 9
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_lava</code>
| |
− | | 10
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:landing_lava</code>
| |
− | | 11
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_water</code>
| |
− | | 12
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_water</code>
| |
− | | 13
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dust</code>
| |
− | | 14
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | Red
| |
− | | Float
| |
− | | The red RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |-
| |
− | | Green
| |
− | | Float
| |
− | | The green RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |-
| |
− | | Blue
| |
− | | Float
| |
− | | The blue RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |-
| |
− | | Scale
| |
− | | Float
| |
− | | The scale, will be clamped between 0.01 and 4.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:dust_color_transition</code>
| |
− | | 15
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | From Red
| |
− | | Float
| |
− | | The start red RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |-
| |
− | | From Green
| |
− | | Float
| |
− | | The start green RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |-
| |
− | | From Blue
| |
− | | Float
| |
− | | The start blue RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |-
| |
− | | Scale
| |
− | | Float
| |
− | | The scale, will be clamped between 0.01 and 4.
| |
− | |-
| |
− | | To Red
| |
− | | Float
| |
− | | The end red RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |-
| |
− | | To Green
| |
− | | Float
| |
− | | The end green RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |-
| |
− | | To Blue
| |
− | | Float
| |
− | | The end blue RGB value, between 0 and 1. Divide actual RGB value by 255.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:effect</code>
| |
− | | 16
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:elder_guardian</code>
| |
− | | 17
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:enchanted_hit</code>
| |
− | | 18
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:enchant</code>
| |
− | | 19
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:end_rod</code>
| |
− | | 20
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:entity_effect</code>
| |
− | | 21
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:explosion_emitter</code>
| |
− | | 22
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:explosion</code>
| |
− | | 23
| |
− | | None
| |
− | |- {{added}}
| |
− | | <code>minecraft:gust</code>
| |
− | | 24
| |
− | | None
| |
− | |- {{added}}
| |
− | | <code>minecraft:gust_emitter</code>
| |
− | | 25
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sonic_boom</code>
| |
− | | {{change|24|26}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_dust</code>
| |
− | | {{change|25|27}}
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | BlockState
| |
− | | VarInt
| |
− | | The ID of the block state.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:firework</code>
| |
− | | {{change|26|28}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:fishing</code>
| |
− | | {{change|27|29}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:flame</code>
| |
− | | {{change|28|30}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:cherry_leaves</code>
| |
− | | {{change|29|31}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sculk_soul</code>
| |
− | | {{change|30|32}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sculk_charge</code>
| |
− | | {{change|31|33}}
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | Roll
| |
− | | Float
| |
− | | How much the particle will be rotated when displayed.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:sculk_charge_pop</code>
| |
− | | {{change|32|34}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:soul_fire_flame</code>
| |
− | | {{change|33|35}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:soul</code>
| |
− | | {{change|34|36}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:flash</code>
| |
− | | {{change|35|37}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:happy_villager</code>
| |
− | | {{change|36|38}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:composter</code>
| |
− | | {{change|37|39}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:heart</code>
| |
− | | {{change|38|40}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:instant_effect</code>
| |
− | | {{change|39|41}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:item</code>
| |
− | | {{change|40|42}}
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | Item
| |
− | | [[Slot]]
| |
− | | The item that will be used.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:vibration</code>
| |
− | | {{change|41|43}}
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | Position Source Type
| |
− | | Identifier
| |
− | | The type of the vibration source
| |
− | |-
| |
− | | Block Position
| |
− | | Position
| |
− | | The position of the block the vibration originated from. Only present if Position Type is <code>minecraft:block</code>.
| |
− | |-
| |
− | | Entity ID
| |
− | | VarInt
| |
− | | The ID of the entity the vibration originated from. Only present if Position Type is <code>minecraft:entity</code>.
| |
− | |-
| |
− | | Entity eye height
| |
− | | Float
| |
− | | The height of the entity's eye relative to the entity. Only present if Position Type is <code>minecraft:entity</code>.
| |
− | |-
| |
− | | Ticks
| |
− | | VarInt
| |
− | | The amount of ticks it takes for the vibration to travel from its source to its destination.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:item_slime</code>
| |
− | | {{change|42|44}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:item_snowball</code>
| |
− | | {{change|43|45}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:large_smoke</code>
| |
− | | {{change|44|46}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:lava</code>
| |
− | | {{change|45|47}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:mycelium</code>
| |
− | | {{change|46|48}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:note</code>
| |
− | | {{change|47|49}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:poof</code>
| |
− | | {{change|48|50}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:portal</code>
| |
− | | {{change|49|51}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:rain</code>
| |
− | | {{change|50|52}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:smoke</code>
| |
− | | {{change|51|53}}
| |
− | | None
| |
− | |- {{added}}
| |
− | | <code>minecraft:white_smoke</code>
| |
− | | 54
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sneeze</code>
| |
− | | {{change|52|55}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:spit</code>
| |
− | | {{change|53|56}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:squid_ink</code>
| |
− | | {{change|54|57}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sweep_attack</code>
| |
− | | {{change|55|58}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:totem_of_undying</code>
| |
− | | {{change|56|59}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:underwater</code>
| |
− | | {{change|57|60}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:splash</code>
| |
− | | {{change|58|61}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:witch</code>
| |
− | | {{change|59|62}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:bubble_pop</code>
| |
− | | {{change|60|63}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:current_down</code>
| |
− | | {{change|61|64}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:bubble_column_up</code>
| |
− | | {{change|62|65}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:nautilus</code>
| |
− | | {{change|63|66}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dolphin</code>
| |
− | | {{change|64|67}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:campfire_cosy_smoke</code>
| |
− | | {{change|65|68}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:campfire_signal_smoke</code>
| |
− | | {{change|66|69}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_honey</code>
| |
− | | {{change|67|70}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_honey</code>
| |
− | | {{change|68|71}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:landing_honey</code>
| |
− | | {{change|69|72}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_nectar</code>
| |
− | | {{change|70|73}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_spore_blossom</code>
| |
− | | {{change|71|74}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:ash</code>
| |
− | | {{change|72|75}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:crimson_spore</code>
| |
− | | {{change|73|76}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:warped_spore</code>
| |
− | | {{change|74|77}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:spore_blossom_air</code>
| |
− | | {{change|75|78}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_obsidian_tear</code>
| |
− | | {{change|76|79}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_obsidian_tear</code>
| |
− | | {{change|77|80}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:landing_obsidian_tear</code>
| |
− | | {{change|78|81}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:reverse_portal</code>
| |
− | | {{change|79|82}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:white_ash</code>
| |
− | | {{change|80|83}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:small_flame</code>
| |
− | | {{change|81|84}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:snowflake</code>
| |
− | | {{change|82|85}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_dripstone_lava</code>
| |
− | | {{change|83|86}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_dripstone_lava</code>
| |
− | | {{change|84|87}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_dripstone_water</code>
| |
− | | {{change|85|88}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_dripstone_water</code>
| |
− | | {{change|86|89}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:glow_squid_ink</code>
| |
− | | {{change|87|90}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:glow</code>
| |
− | | {{change|88|91}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:wax_on</code>
| |
− | | {{change|89|92}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:wax_off</code>
| |
− | | {{change|90|93}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:electric_spark</code>
| |
− | | {{change|91|94}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:scrape</code>
| |
− | | {{change|92|95}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:shriek</code>
| |
− | | {{change|93|96}}
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | Delay
| |
− | | VarInt
| |
− | | The time in ticks before the particle is displayed
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:egg_crack</code>
| |
− | | {{change|94|97}}
| |
− | | None
| |
− | |- {{added}}
| |
− | | <code>minecraft:dust_plume</code>
| |
− | | 98
| |
− | | None
| |
− | |- {{added}}
| |
− | | <code>minecraft:gust_dust</code>
| |
− | | 99
| |
− | | None
| |
− | |- {{added}}
| |
− | | <code>minecraft:trial_spawner_detection</code>
| |
− | | 100
| |
− | | None
| |
− | |}
| |
| | | |
| === Packets === | | === Packets === |
Line 624: |
Line 19: |
| |- | | |- |
| !colspan="4"| Configuration clientbound | | !colspan="4"| Configuration clientbound |
− | {{PacketList|0x06|Resource Pack (configuration)|pre=removed}} | + | {{PacketList|0x0F|Clientbound Report Details (configuration)|rel=added}} |
− | {{PacketList|0x06|Remove Resource Pack (configuration)|rel=added}}
| + | {{PacketList|0x10|Clientbound Server Links (configuration)|rel=added}} |
− | {{PacketList|0x07|Add Resource Pack (configuration)|rel=added}} | |
− | {{PacketList|{{change|0x07|0x08}}|Feature Flags}}
| |
− | |-
| |
− | !colspan="4"| Configuration serverbound
| |
− | {{PacketList|0x05|Resource Pack Response (configuration)}}
| |
| |- | | |- |
| !colspan="4"| Play clientbound | | !colspan="4"| Play clientbound |
− | {{PacketList|0x1E|Explosion}} | + | {{PacketList|0x7A|Clientbound Report Details (play)|rel=added}} |
− | {{PacketList|0x20|Game Event}}
| + | {{PacketList|0x7B|Clientbound Server Links (play)|rel=added}} |
− | {{PacketList|0x42|Reset Score|rel=added}}
| |
− | {{PacketList|0x42|Resource Pack (play)|pre=removed}}
| |
− | {{PacketList|0x43|Remove Resource Pack (play)|rel=added}}
| |
− | {{PacketList|0x44|Add Resource Pack (play)|rel=added}} | |
− | {{PacketList|{{change|0x43|0x45}}|Respawn|pre=unchanged}}
| |
− | {{PacketList|{{change|0x44|0x46}}|Set Head Rotation|pre=unchanged}}
| |
− | {{PacketList|{{change|0x45|0x47}}|Update Section Blocks|pre=unchanged}}
| |
− | {{PacketList|{{change|0x46|0x48}}|Select Advancements Tab|pre=unchanged}}
| |
− | {{PacketList|{{change|0x47|0x49}}|Server Data|pre=unchanged}}
| |
− | {{PacketList|{{change|0x48|0x4A}}|Set Action Bar Text|pre=unchanged}}
| |
− | {{PacketList|{{change|0x49|0x4B}}|Set Border Center|pre=unchanged}}
| |
− | {{PacketList|{{change|0x4A|0x4C}}|Set Border Lerp Size|pre=unchanged}}
| |
− | {{PacketList|{{change|0x4B|0x4D}}|Set Border Size|pre=unchanged}}
| |
− | {{PacketList|{{change|0x4C|0x4E}}|Set Border Warning Delay|pre=unchanged}}
| |
− | {{PacketList|{{change|0x4D|0x4F}}|Set Border Warning Distance|pre=unchanged}}
| |
− | {{PacketList|{{change|0x4E|0x50}}|Set Camera|pre=unchanged}}
| |
− | {{PacketList|{{change|0x4F|0x51}}|Set Held Item|pre=unchanged}}
| |
− | {{PacketList|{{change|0x50|0x52}}|Set Center Chunk|pre=unchanged}}
| |
− | {{PacketList|{{change|0x51|0x53}}|Set Render Distance|pre=unchanged}}
| |
− | {{PacketList|{{change|0x52|0x54}}|Set Default Spawn Position|pre=unchanged}}
| |
− | {{PacketList|{{change|0x53|0x55}}|Display Objective|pre=unchanged}}
| |
− | {{PacketList|{{change|0x54|0x56}}|Set Entity Metadata|pre=unchanged}}
| |
− | {{PacketList|{{change|0x55|0x57}}|Link Entities|pre=unchanged}}
| |
− | {{PacketList|{{change|0x56|0x58}}|Set Entity Velocity|pre=unchanged}}
| |
− | {{PacketList|{{change|0x57|0x59}}|Set Equipment|pre=unchanged}}
| |
− | {{PacketList|{{change|0x58|0x5A}}|Set Experience|pre=unchanged}}
| |
− | {{PacketList|{{change|0x59|0x5B}}|Set Health|pre=unchanged}}
| |
− | {{PacketList|{{change|0x5A|0x5C}}|Update Objectives}}
| |
− | {{PacketList|{{change|0x5B|0x5D}}|Set Passengers|pre=unchanged}}
| |
− | {{PacketList|{{change|0x5C|0x5E}}|Update Teams|pre=unchanged}}
| |
− | {{PacketList|{{change|0x5D|0x5F}}|Update Score}}
| |
− | {{PacketList|{{change|0x5E|0x60}}|Set Simulation Distance|pre=unchanged}}
| |
− | {{PacketList|{{change|0x5F|0x61}}|Set Subtitle Text|pre=unchanged}}
| |
− | {{PacketList|{{change|0x60|0x62}}|Update Time|pre=unchanged}}
| |
− | {{PacketList|{{change|0x61|0x63}}|Set Title Text|pre=unchanged}}
| |
− | {{PacketList|{{change|0x62|0x64}}|Set Title Animation Times|pre=unchanged}}
| |
− | {{PacketList|{{change|0x63|0x65}}|Entity Sound Effect|pre=unchanged}}
| |
− | {{PacketList|{{change|0x64|0x66}}|Sound Effect|pre=unchanged}}
| |
− | {{PacketList|{{change|0x65|0x67}}|Start Configuration|pre=unchanged}}
| |
− | {{PacketList|{{change|0x66|0x68}}|Stop Sound|pre=unchanged}}
| |
− | {{PacketList|{{change|0x67|0x69}}|System Chat Message|pre=unchanged}}
| |
− | {{PacketList|{{change|0x68|0x6A}}|Set Tab List Header And Footer|pre=unchanged}}
| |
− | {{PacketList|{{change|0x69|0x6B}}|Tag Query Response|pre=unchanged}}
| |
− | {{PacketList|{{change|0x6A|0x6C}}|Pickup Item|pre=unchanged}}
| |
− | {{PacketList|{{change|0x6B|0x6D}}|Teleport Entity|pre=unchanged}}
| |
− | {{PacketList|0x6E|Set Ticking State|rel=added}}
| |
− | {{PacketList|0x6F|Step Tick|rel=added}}
| |
− | {{PacketList|{{change|0x6C|0x70}}|Update Advancements|pre=unchanged}}
| |
− | {{PacketList|{{change|0x6D|0x71}}|Update Attributes|pre=unchanged}}
| |
− | {{PacketList|{{change|0x6E|0x72}}|Entity Effect|pre=unchanged}}
| |
− | {{PacketList|{{change|0x6F|0x73}}|Update Recipes}}
| |
− | {{PacketList|{{change|0x70|0x74}}|Update Tags|pre=unchanged}}
| |
− | |-
| |
− | !colspan="4"| Play serverbound
| |
− | {{PacketList|0x0F|Change Container Slot State|rel=added}}
| |
− | {{PacketList|{{change|0x0F|0x10}}|Serverbound Plugin Message (play)|pre=unchanged}}
| |
− | {{PacketList|{{change|0x10|0x11}}|Edit Book|pre=unchanged}}
| |
− | {{PacketList|{{change|0x11|0x12}}|Query Entity Tag|pre=unchanged}}
| |
− | {{PacketList|{{change|0x12|0x13}}|Interact|pre=unchanged}}
| |
− | {{PacketList|{{change|0x13|0x14}}|Jigsaw Generate|pre=unchanged}}
| |
− | {{PacketList|{{change|0x14|0x15}}|Serverbound Keep Alive (play)|pre=unchanged}}
| |
− | {{PacketList|{{change|0x15|0x16}}|Lock Difficulty|pre=unchanged}}
| |
− | {{PacketList|{{change|0x16|0x17}}|Set Player Position|pre=unchanged}}
| |
− | {{PacketList|{{change|0x17|0x18}}|Set Player Position and Rotation|pre=unchanged}}
| |
− | {{PacketList|{{change|0x18|0x19}}|Set Player Rotation|pre=unchanged}}
| |
− | {{PacketList|{{change|0x19|0x1A}}|Set Player On Ground|pre=unchanged}}
| |
− | {{PacketList|{{change|0x1A|0x1B}}|Move Vehicle|pre=unchanged}}
| |
− | {{PacketList|{{change|0x1B|0x1C}}|Paddle Boat|pre=unchanged}}
| |
− | {{PacketList|{{change|0x1C|0x1D}}|Pick Item|pre=unchanged}}
| |
− | {{PacketList|{{change|0x1D|0x1E}}|Ping Request (play)|pre=unchanged}}
| |
− | {{PacketList|{{change|0x1E|0x1F}}|Place Recipe|pre=unchanged}}
| |
− | {{PacketList|{{change|0x1F|0x20}}|Player Abilities|pre=unchanged}}
| |
− | {{PacketList|{{change|0x20|0x21}}|Player Action|pre=unchanged}}
| |
− | {{PacketList|{{change|0x21|0x22}}|Player Command|pre=unchanged}}
| |
− | {{PacketList|{{change|0x22|0x23}}|Player Input|pre=unchanged}}
| |
− | {{PacketList|{{change|0x23|0x24}}|Pong (play)|pre=unchanged}}
| |
− | {{PacketList|{{change|0x24|0x25}}|Change Recipe Book Settings|pre=unchanged}}
| |
− | {{PacketList|{{change|0x25|0x26}}|Set Seen Recipe|pre=unchanged}}
| |
− | {{PacketList|{{change|0x26|0x27}}|Rename Item|pre=unchanged}}
| |
− | {{PacketList|{{change|0x27|0x28}}|Resource Pack Response (play)}}
| |
− | {{PacketList|{{change|0x28|0x29}}|Seen Advancements|pre=unchanged}}
| |
− | {{PacketList|{{change|0x29|0x2A}}|Select Trade|pre=unchanged}}
| |
− | {{PacketList|{{change|0x2A|0x2B}}|Set Beacon Effect|pre=unchanged}}
| |
− | {{PacketList|{{change|0x2B|0x2C}}|Set Held Item|pre=unchanged}}
| |
− | {{PacketList|{{change|0x2C|0x2D}}|Program Command Block|pre=unchanged}}
| |
− | {{PacketList|{{change|0x2D|0x2E}}|Program Command Block Minecart|pre=unchanged}}
| |
− | {{PacketList|{{change|0x2E|0x2F}}|Set Creative Mode Slot|pre=unchanged}}
| |
− | {{PacketList|{{change|0x2F|0x30}}|Program Jigsaw Block}}
| |
− | {{PacketList|{{change|0x30|0x31}}|Program Structure Block|pre=unchanged}}
| |
− | {{PacketList|{{change|0x31|0x32}}|Update Sign|pre=unchanged}}
| |
− | {{PacketList|{{change|0x32|0x33}}|Swing Arm|pre=unchanged}}
| |
− | {{PacketList|{{change|0x33|0x34}}|Teleport To Entity|pre=unchanged}}
| |
− | {{PacketList|{{change|0x34|0x35}}|Use Item On|pre=unchanged}}
| |
− | {{PacketList|{{change|0x35|0x36}}|Use Item|pre=unchanged}}
| |
− | |}
| |
− | | |
− | == New/modified data types ==
| |
− | | |
− | No changes so far.
| |
− | | |
− | == Entity Metadata ==
| |
− | | |
− | {| class="wikitable"
| |
− | ! Type ([[Data Types#Definitions:varint|VarInt]] Enum)
| |
− | ! Value (Varies)
| |
− | ! Notes
| |
− | |-
| |
− | | 0
| |
− | | [[Data Types#Definitions:byte|Byte]]
| |
− | |
| |
− | |-
| |
− | | 1
| |
− | | [[Data Types#Definitions:varint|VarInt]]
| |
− | |
| |
− | |-
| |
− | | 2
| |
− | | [[Data Types#Definitions:varlong|VarLong]]
| |
− | |
| |
− | |-
| |
− | | 3
| |
− | | [[Data Types#Definitions:float|Float]]
| |
− | |
| |
− | |-
| |
− | | 4
| |
− | | [[Data Types#Definitions:string|String]]
| |
− | |
| |
− | |-
| |
− | | 5
| |
− | | [[Data Types#Definitions:chat|Chat]]
| |
− | |
| |
− | |-
| |
− | | 6
| |
− | | OptChat (Boolean + [[Data Types#Definitions:chat|Chat]])
| |
− | | [[Data Types#Definitions:chat|Chat]] is present if the Boolean is set to true
| |
− | |-
| |
− | | 7
| |
− | | [[Data Types#Definitions:slot|Slot]]
| |
− | |
| |
− | |-
| |
− | | 8
| |
− | | [[Data Types#Definitions:boolean|Boolean]]
| |
− | |
| |
− | |-
| |
− | | 9
| |
− | | [[Data Types#Definitions:rotation|Rotation]]
| |
− | | 3 [[Data Types#Definitions:float|Floats]]: rotation on x, rotation on y, rotation on z
| |
− | |-
| |
− | | 10
| |
− | | [[Data Types#Position|Position]]
| |
− | |
| |
− | |-
| |
− | | 11
| |
− | | OptPosition (Boolean + Position)
| |
− | | Position is present if the Boolean is set to true
| |
− | |-
| |
− | | 12
| |
− | | Direction ([[Data Types#Definitions:varint|VarInt]])
| |
− | | (Down = 0, Up = 1, North = 2, South = 3, West = 4, East = 5)
| |
− | |-
| |
− | | 13
| |
− | | OptUUID (Boolean + UUID)
| |
− | | UUID is present if the Boolean is set to true
| |
− | |-
| |
− | | 14
| |
− | | BlockID ([[Data Types#Definitions:varint|VarInt]])
| |
− | |-
| |
− | | 15
| |
− | | OptBlockID ([[Data Types#Definitions:varint|VarInt]])
| |
− | | 0 for absent (implies air); otherwise, a block state ID as per the global palette
| |
− | |-
| |
− | | 16
| |
− | | [[Data_types#Definitions:nbt|NBT]]
| |
− | |
| |
− | |-
| |
− | | 17
| |
− | | [[Data Types#Particle|Particle]]
| |
− | |
| |
− | |-
| |
− | | 18
| |
− | | Villager Data
| |
− | | 3 [[Data Types#Definitions:varint|VarInts]]: villager type, villager profession, level
| |
− | |-
| |
− | | 19
| |
− | | OptVarInt
| |
− | | 0 for absent; 1 + actual value otherwise. Used for entity IDs.
| |
− | |-
| |
− | | 20
| |
− | | Pose
| |
− | | A [[Data Types#Definitions:varint|VarInt]] enum: 0: STANDING, 1: FALL_FLYING, 2: SLEEPING, 3: SWIMMING, 4: SPIN_ATTACK, 5: SNEAKING, 6: LONG_JUMPING, 7: DYING, 8: CROAKING, 9: USING_TONGUE, 10: SITTING, 11: ROARING, 12: SNIFFING, 13: EMERGING, 14: DIGGING{{change||, 15: SLIDING, 16: SHOOTING, 17: INHALING}}
| |
− | |-
| |
− | | 21
| |
− | | Cat Variant
| |
− | | A [[Data Types#Definitions:varint|VarInt]] that points towards the CAT_VARIANT registry.
| |
− | |-
| |
− | | 22
| |
− | | Frog Variant
| |
− | | A [[Data Types#Definitions:varint|VarInt]] that points towards the FROG_VARIANT registry.
| |
− | |-
| |
− | | 23
| |
− | | OptGlobalPos (Boolean + GlobalPos)
| |
− | | GlobalPos consists of a dimension identifier and [[Data Types#Position|Position]].
| |
− | |-
| |
− | | 24
| |
− | | Painting Variant
| |
− | | A [[Data Types#Definitions:varint|VarInt]] that points towards the PAINTING_VARIANT registry.
| |
− | |-
| |
− | | 25
| |
− | | Sniffer State
| |
− | | A [[Data Types#Definitions:varint|VarInt]] enum: IDLING = 0, FEELING_HAPPY = 1, SCENTING = 2, SNIFFING = 3, SEARCHING = 4, DIGGING = 5, RISING = 6
| |
− | |-
| |
− | | 26
| |
− | | Vector3
| |
− | | 3 [[Data Types#Definitions:float|Floats]]: x, y, z
| |
− | |-
| |
− | | 27
| |
− | | Quaternion
| |
− | | 4 [[Data Types#Definitions:float|Floats]]: x, y, z, w
| |
− | |-
| |
− | |}
| |
− | | |
− | === Abstract Vehicle ===
| |
− | | |
− | {{Metadata inherit|Abstract Vehicle|inherits=Entity|start_at=8}}
| |
− | | |
− | {| class="wikitable"
| |
− | ! Index
| |
− | ! Type
| |
− | !style="width: 250px;" colspan="2"| Meaning
| |
− | ! Default
| |
− | |- {{added}}
| |
− | | {{Metadata id|}}
| |
− | | VarInt
| |
− | |colspan="2"| Shaking power
| |
− | | 0
| |
− | |- {{added}}
| |
− | | {{Metadata id|}}
| |
− | | VarInt
| |
− | |colspan="2"| Shaking direction
| |
− | | 1
| |
− | |- {{added}}
| |
− | | {{Metadata id|}}
| |
− | | Float
| |
− | |colspan="2"| Shaking multiplier
| |
− | | 0.0
| |
− | |-
| |
− | |}
| |
− | | |
− | === Abstract Minecart===
| |
− | | |
− | {{Metadata inherit|Abstract Minecart|inherits=Abstract Vehicle}}
| |
− | | |
− | {| class="wikitable"
| |
− | ! Index
| |
− | ! Type
| |
− | !style="width: 250px;" colspan="2"| Meaning
| |
− | ! Default
| |
− | |- {{removed}}
| |
− | | 8
| |
− | | VarInt
| |
− | |colspan="2"| Shaking power
| |
− | | 0
| |
− | |- {{removed}}
| |
− | | 9
| |
− | | VarInt
| |
− | |colspan="2"| Shaking direction
| |
− | | 1
| |
− | |- {{removed}}
| |
− | | 10
| |
− | | Float
| |
− | |colspan="2"| Shaking multiplier
| |
− | | 0.0
| |
− | |-
| |
− | | 11
| |
− | | VarInt
| |
− | |colspan="2"| Custom block ID and damage
| |
− | | 0
| |
− | |-
| |
− | | 12
| |
− | | VarInt
| |
− | |colspan="2"| Custom block Y position (in 16ths of a block)
| |
− | | 6
| |
− | |-
| |
− | | 13
| |
− | | Boolean
| |
− | |colspan="2"| Show custom block
| |
− | | false
| |
− | |}
| |
− | | |
− | === Boat ===
| |
− | | |
− | {{Metadata inherit|Boat|inherits=Abstract Vehicle}}
| |
− | | |
− | {| class="wikitable"
| |
− | ! Index
| |
− | ! Type
| |
− | !style="width: 250px;" colspan="2"| Meaning
| |
− | ! Default
| |
− | |- {{removed}}
| |
− | | 8
| |
− | | VarInt
| |
− | |colspan="2"| Time since last hit
| |
− | | 0
| |
− | |- {{removed}}
| |
− | | 9
| |
− | | VarInt
| |
− | |colspan="2"| Forward direction
| |
− | | 1
| |
− | |- {{removed}}
| |
− | | 10
| |
− | | Float
| |
− | |colspan="2"| Damage taken
| |
− | | 0.0
| |
− | |-
| |
− | | 11
| |
− | | VarInt
| |
− | |colspan="2"| Type (0=oak, 1=spruce, 2=birch, 3=jungle, 4=acacia, 5=dark oak)
| |
− | | 0
| |
− | |-
| |
− | | 12
| |
− | | Boolean
| |
− | |colspan="2"| Is left paddle turning
| |
− | | false
| |
− | |-
| |
− | | 13
| |
− | | Boolean
| |
− | |colspan="2"| Is right paddle turning
| |
− | | false
| |
| |- | | |- |
− | | 14
| + | |} |
− | | VarInt
| |
− | |colspan="2"| Splash timer
| |
− | | 0
| |
− | |}
| |
− | | |
− | == Block Actions ==
| |
− | | |
− | No changes so far.
| |
− | | |
− | == Inventories ==
| |
− | | |
− | No changes so far.
| |
| | | |
− | == Plugin Channels == | + | == Handshake == |
| | | |
| No changes so far. | | No changes so far. |
| | | |
| == Status == | | == Status == |
− |
| |
− | === Clientbound ===
| |
− |
| |
− | No changes so far.
| |
− |
| |
− | === Serverbound ===
| |
| | | |
| No changes so far. | | No changes so far. |
| | | |
| == Login == | | == Login == |
− |
| |
− | === Clientbound ===
| |
− |
| |
− | No changes so far.
| |
− |
| |
− | === Serverbound ===
| |
| | | |
| No changes so far. | | No changes so far. |
Line 1,005: |
Line 44: |
| === Clientbound === | | === Clientbound === |
| | | |
− | ==== Remove Resource Pack (configuration) ==== | + | ==== Clientbound Report Details (configuration) ==== |
− | | |
− | {| class="wikitable" {{added}}
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | rowspan="2"| 0x06
| |
− | | rowspan="2"| Configuration
| |
− | | rowspan="2"| Client
| |
− | | Has UUID
| |
− | | Boolean
| |
− | | Whether a specific resource pack should be removed, or all of them.
| |
− | |-
| |
− | | UUID
| |
− | | Optional UUID
| |
− | | The UUID of the resource pack to be removed. Only present if the previous field is true.
| |
− | |}
| |
| | | |
− | ==== Add Resource Pack (configuration) ====
| + | 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" {{added}} | | {| class="wikitable" {{added}} |
Line 1,033: |
Line 52: |
| ! State | | ! State |
| ! Bound To | | ! Bound To |
− | ! Field Name | + | ! colspan="2"| Field Name |
− | ! Field Type | + | ! colspan="2"| Field Type |
| ! Notes | | ! Notes |
| |- | | |- |
− | | rowspan="6"| 0x07 | + | | rowspan="3"| 0x0F |
− | | rowspan="6"| Configuration | + | | rowspan="3"| Configuration |
− | | rowspan="6"| Client | + | | rowspan="3"| Client |
− | | UUID | + | | colspan="2"| Details Count |
− | | UUID | + | | colspan="2"| {{Type|VarInt}} (32) |
− | | The unique identifier of the resource pack. | + | | The number of details in the following array. |
| |- | | |- |
− | | URL | + | | rowspan="2"| Details |
− | | String (32767) | + | | Title |
− | | The URL to the resource pack. | + | | rowspan="2"| {{Type|Array}} |
| + | | {{Type|String}} (128) |
| + | | |
| |- | | |- |
− | | Hash | + | | Description |
− | | String (40) | + | | {{Type|String}} (4096) |
− | | A 40 character hexadecimal, case-insensitive [[wikipedia:SHA-1|SHA-1]] hash of the resource pack file.<br />If it's not a 40 character hexadecimal string, the client will not use it for hash verification and likely waste bandwidth. | + | | |
− | |-
| + | |} |
− | | Forced
| |
− | | Boolean
| |
− | | The Notchian client will be forced to use the resource pack from the server. If they decline they will be kicked from the server.
| |
− | |-
| |
− | | Has Prompt Message
| |
− | | Boolean
| |
− | | Whether a custom message should be used on the resource pack prompt.
| |
− | |-
| |
− | | Prompt Message
| |
− | | Optional [[Chat]]
| |
− | | This is shown in the prompt making the client accept or decline the resource pack. Only present if the previous field is true.
| |
− | |}
| |
| | | |
− | ==== Feature Flags ==== | + | ==== Clientbound Server Links (configuration) ==== |
| | | |
− | Used to enable and disable features, generally experimental ones, on the client.
| + | 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="2"| {{change|0x07|0x08}} | + | | rowspan="4"| 0x10 |
− | | rowspan="2"| Configuration | + | | rowspan="4"| Configuration |
− | | rowspan="2"| Client | + | | rowspan="4"| Client |
− | | Total Features | + | | colspan="2"| Links Count |
− | | VarInt | + | | colspan="2"| {{Type|VarInt}} |
− | | Number of features that appear in the array below. | + | | The number of links in the following array. |
| |- | | |- |
− | | Feature Flags | + | | rowspan="3"| Links |
− | | Identifier Array | + | | Is built-in |
− | | | + | | rowspan="3"| {{Type|Array}} |
− | |}
| + | | {{Type|Boolean}} |
− | | + | | Determines if the following label is built-in (from enum) or custom (text component). |
− | As of {{change|1.20.2|1.20.3}}, the following feature flags are available:
| |
− | | |
− | * minecraft:vanilla - enables vanilla features</li>
| |
− | * minecraft:bundle - enables support for the bundle</li>
| |
− | * minecraft:trade_rebalance - enables support for the rebalanced villager trades</li>
| |
− | * {{change||minecraft:update_1_21 - enables support for 1.21 features}}</li>
| |
− | | |
− | === Serverbound ===
| |
− | | |
− | ==== Resource Pack Response (configuration) ====
| |
− | | |
− | {| class="wikitable"
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
| |- | | |- |
− | | rowspan="3" | 0x05 | + | | Label |
− | | rowspan="3" | Configuration | + | | {{Type|VarInt}} {{Type|Enum}} / {{Type|Text Component}} |
− | | rowspan="3" | Server
| + | | See below. |
− | |- {{added}}
| |
− | | UUID | |
− | | UUID
| |
− | | The unique identifier of the resource pack received in the [[#Add_Resource_Pack_(configuration)|Add Resource Pack (configuration)]] request.
| |
| |- | | |- |
− | | Result | + | | URL |
− | | VarInt Enum
| + | | {{Type|String}} |
− | | {{change|0: successfully loaded, 1: declined, 2: failed download, 3: accepted.|Result ID (see below).}} | + | | Valid URL. |
− | |} | + | |} |
| | | |
− | Result can be one of the following values:
| |
| | | |
| {| class="wikitable" {{added}} | | {| class="wikitable" {{added}} |
| ! ID | | ! ID |
− | ! Result | + | ! Name |
− | |-
| |
− | | 0
| |
− | | Successfully downloaded
| |
− | |-
| |
− | | 1
| |
− | | Declined
| |
− | |-
| |
− | | 2
| |
− | | Failed to download
| |
− | |-
| |
− | | 3
| |
− | | Accepted
| |
− | |-
| |
− | | 4
| |
− | | Invalid URL
| |
− | |-
| |
− | | 5
| |
− | | Failed to reload
| |
− | |-
| |
− | | 6
| |
− | | Discarded
| |
− | |}
| |
− | | |
− | == Play ==
| |
− | | |
− | === Clientbound ===
| |
− | | |
− | ==== Explosion ====
| |
− | | |
− | Sent when an explosion occurs (creepers, TNT, and ghast fireballs).
| |
− | | |
− | Each block in Records is set to air. Coordinates for each axis in record is int(X) + record.x
| |
− | | |
− | {{warning2|There is currently a disparity in the Notchian implementation between the data that is read from and written to the network. The write logic only serializes the particle id for the fields <code>Small explosion particle</code> and <code>Large explosion particle</code>, while the read logic expects the particle id and [[Protocol#Particle|extra required data]]. See [https://bugs.mojang.com/browse/MC-266537 MC-266537] for more information.}}
| |
− | | |
− | {| class="wikitable"
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! colspan="2" | Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | rowspan="15"| 0x1E
| |
− | | rowspan="15"| Play
| |
− | | rowspan="15"| Client
| |
− | | colspan="2" | X
| |
− | | Double
| |
− | |
| |
− | |-
| |
− | | colspan="2" | Y
| |
− | | Double
| |
− | |
| |
− | |-
| |
− | | colspan="2" | Z
| |
− | | Double
| |
− | |
| |
− | |-
| |
− | | colspan="2" | Strength
| |
− | | Float
| |
− | | {{change|A strength greater than or equal to 2.0 spawns a <code>minecraft:explosion_emitter</code> particle, while a lesser strength spawns a <code>minecraft:explosion</code> particle.}}
| |
− | {{change||If the strength is greater or equal to 2.0, or the block interaction is not 0 (keep), large explosion particles are used. Otherwise, small explosion particles are used.}}
| |
− | |-
| |
− | | colspan="2" | Record Count
| |
− | | VarInt
| |
− | | Number of elements in the following array.
| |
− | |-
| |
− | | colspan="2" | Records
| |
− | | Array of (Byte, Byte, Byte)
| |
− | | Each record is 3 signed bytes long; the 3 bytes are the XYZ (respectively) signed offsets of affected blocks.
| |
− | |-
| |
− | | colspan="2" | Player Motion X
| |
− | | Float
| |
− | | X velocity of the player being pushed by the explosion.
| |
− | |-
| |
− | | colspan="2" | Player Motion Y
| |
− | | Float
| |
− | | Y velocity of the player being pushed by the explosion.
| |
− | |-
| |
− | | colspan="2" | Player Motion Z
| |
− | | Float
| |
− | | Z velocity of the player being pushed by the explosion.
| |
− | |- {{added}}
| |
− | | colspan="2" | Block interaction
| |
− | | VarInt Enum
| |
− | | 0 = keep, 1 = destroy, 2 = destroy_with_decay, 3 = trigger_block.
| |
− | |- {{added}}
| |
− | | colspan="2" | Small explosion particle
| |
− | | VarInt
| |
− | | The particle ID listed in [[#Particle|the particle data type]].
| |
− | |- {{added}}
| |
− | | colspan="2" | Large explosion particle
| |
− | | VarInt
| |
− | | The particle ID listed in [[#Particle|the particle data type]].
| |
− | |- {{added}}
| |
− | | rowspan="3" | Explosion sound
| |
− | | Sound Name
| |
− | | Identifier
| |
− | | The name of the sound played.
| |
− | |- {{added}}
| |
− | | Has Fixed Range
| |
− | | Optional Boolean
| |
− | | Whether is has fixed range.
| |
− | |- {{added}}
| |
− | | Range
| |
− | | Optional Float
| |
− | | The fixed range of the sound. Only present if previous boolean is true.
| |
− | |}
| |
− | | |
− | ==== Game Event ====
| |
− | | |
− | Used for a wide variety of game events, from weather to bed use to game mode to demo messages.
| |
− | | |
− | {| class="wikitable"
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
| ! Notes | | ! Notes |
− | |-
| |
− | | rowspan="2"| 0x20
| |
− | | rowspan="2"| Play
| |
− | | rowspan="2"| Client
| |
− | | Event
| |
− | | Unsigned Byte
| |
− | | See below.
| |
− | |-
| |
− | | Value
| |
− | | Float
| |
− | | Depends on Event.
| |
− | |}
| |
− |
| |
− | ''Events'':
| |
− |
| |
− | {| class="wikitable"
| |
− | ! Event
| |
− | ! Effect
| |
− | ! Value
| |
| |- | | |- |
| | 0 | | | 0 |
− | | No respawn block available | + | | Bug Report |
− | | Note: Displays message 'block.minecraft.spawn.not_valid' (You have no home bed or charged respawn anchor, or it was obstructed) to the player. | + | | Displayed on connection error screen; included as a comment in the disconnection report. |
| |- | | |- |
| | 1 | | | 1 |
− | | Begin raining | + | | Community Guidelines |
− | | | + | | |
| |- | | |- |
| | 2 | | | 2 |
− | | End raining | + | | Support |
− | | | + | | |
| |- | | |- |
| | 3 | | | 3 |
− | | Change game mode | + | | Status |
− | | 0: Survival, 1: Creative, 2: Adventure, 3: Spectator. | + | | |
| |- | | |- |
| | 4 | | | 4 |
− | | Win game | + | | Feedback |
− | | 0: Just respawn player.<br>1: Roll the credits and respawn player.<br>Note that 1 is only sent by Notchian server when player has not yet achieved advancement "The end?", else 0 is sent. | + | | |
| |- | | |- |
| | 5 | | | 5 |
− | | Demo event | + | | Community |
− | | 0: Show welcome to demo screen.<br>101: Tell movement controls.<br>102: Tell jump control.<br>103: Tell inventory control.<br>104: Tell that the demo is over and print a message about how to take a screenshot. | + | | |
| |- | | |- |
| | 6 | | | 6 |
− | | Arrow hit player | + | | Website |
− | | Note: Sent when any player is struck by an arrow. | + | | |
| |- | | |- |
| | 7 | | | 7 |
− | | Rain level change | + | | Forums |
− | | Note: Seems to change both sky color and lighting.<br>Rain level ranging from 0 to 1. | + | | |
| |- | | |- |
| | 8 | | | 8 |
− | | Thunder level change | + | | News |
− | | Note: Seems to change both sky color and lighting (same as Rain level change, but doesn't start rain). It also requires rain to render by Notchian client.<br>Thunder level ranging from 0 to 1. | + | | |
| |- | | |- |
| | 9 | | | 9 |
− | | Play pufferfish sting sound | + | | Announcements |
− | |- | + | | |
− | | 10
| |
− | | Play elder guardian mob appearance (effect and sound)
| |
− | |
| |
− | |-
| |
− | | 11
| |
− | | Enable respawn screen
| |
− | | 0: Enable respawn screen.<br>1: Immediately respawn (sent when the <code>doImmediateRespawn</code> gamerule changes).
| |
| |- | | |- |
− | | 12
| |
− | | Limited crafting
| |
− | | 0: Disable limited crafting.<br>1: Enable limited crafting (sent when the <code>doLimitedCrafting</code> gamerule changes).
| |
− | |- {{added}}
| |
− | | 13
| |
− | | Start waiting for level chunks
| |
− | | Instructs the client to begin the waiting process for the level chunks.<br>Sent by the server after the level is cleared on the client and is being re-sent (either during the first, or subsequent reconfigurations).
| |
| |} | | |} |
| | | |
− | ==== Reset Score ==== | + | === Serverbound === |
| | | |
− | This is sent to the client when it should remove a scoreboard item.
| + | No changes so far. |
| | | |
− | {| class="wikitable" {{added}}
| + | == Play == |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | rowspan="3"| 0x42
| |
− | | rowspan="3"| Play
| |
− | | rowspan="3"| Client
| |
− | | Entity Name
| |
− | | String (32767)
| |
− | | The entity whose score this is. For players, this is their username; for other entities, it is their UUID.
| |
− | |-
| |
− | | Has Objective Name
| |
− | | Boolean
| |
− | | Whether the score should be removed for the specified objective, or for all of them.
| |
− | |-
| |
− | | Objective Name
| |
− | | Optional String (32767)
| |
− | | The name of the objective the score belongs to. Only present if the previous field is true.
| |
− | |}
| |
| | | |
− | ==== Remove Resource Pack (play) ==== | + | === Clientbound === |
| | | |
− | {| class="wikitable" {{added}}
| + | ==== Clientbound Report Details (play) ==== |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | rowspan="2"| 0x43
| |
− | | rowspan="2"| Play
| |
− | | rowspan="2"| Client
| |
− | | Has UUID
| |
− | | Boolean
| |
− | | Whether a specific resource pack should be removed, or all of them.
| |
− | |-
| |
− | | UUID
| |
− | | Optional UUID
| |
− | | The UUID of the resource pack to be removed. Only present if the previous field is true.
| |
− | |}
| |
| | | |
− | ==== Add Resource Pack (play) ====
| + | 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" {{added}} | | {| class="wikitable" {{added}} |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | rowspan="6"| 0x44
| |
− | | rowspan="6"| Play
| |
− | | rowspan="6"| Client
| |
− | | UUID
| |
− | | UUID
| |
− | | The unique identifier of the resource pack.
| |
− | |-
| |
− | | URL
| |
− | | String (32767)
| |
− | | The URL to the resource pack.
| |
− | |-
| |
− | | Hash
| |
− | | String (40)
| |
− | | A 40 character hexadecimal, case-insensitive [[wikipedia:SHA-1|SHA-1]] hash of the resource pack file.<br />If it's not a 40 character hexadecimal string, the client will not use it for hash verification and likely waste bandwidth.
| |
− | |-
| |
− | | Forced
| |
− | | Boolean
| |
− | | The Notchian client will be forced to use the resource pack from the server. If they decline they will be kicked from the server.
| |
− | |-
| |
− | | Has Prompt Message
| |
− | | Boolean
| |
− | | Whether a custom message should be used on the resource pack prompt.
| |
− | |-
| |
− | | Prompt Message
| |
− | | Optional [[Chat]]
| |
− | | This is shown in the prompt making the client accept or decline the resource pack. Only present if the previous field is true.
| |
− | |}
| |
− |
| |
− | ==== Update Objectives ====
| |
− |
| |
− | This is sent to the client when it should create a new {{Minecraft Wiki|scoreboard}} objective or remove one.
| |
− |
| |
− | {| class="wikitable"
| |
| ! Packet ID | | ! Packet ID |
| ! State | | ! State |
| ! Bound To | | ! Bound To |
| ! colspan="2"| Field Name | | ! colspan="2"| Field Name |
− | ! Field Type | + | ! colspan="2"| Field Type |
| ! Notes | | ! Notes |
| |- | | |- |
− | | rowspan="10"| {{change|0x5A|0x5C}} | + | | rowspan="3"| 0x7A |
− | | rowspan="10"| Play | + | | rowspan="3"| Configuration |
− | | rowspan="10"| Client | + | | rowspan="3"| Client |
− | | colspan="2"| Objective Name | + | | colspan="2"| Details Count |
− | | String (32767)
| + | | colspan="2"| {{Type|VarInt}} (32) |
− | | A unique name for the objective.
| + | | The number of details in the following array. |
− | |-
| |
− | | colspan="2"| Mode
| |
− | | Byte
| |
− | | 0 to create the scoreboard. 1 to remove the scoreboard. 2 to update the display text.
| |
− | |-
| |
− | | colspan="2"| Objective Value
| |
− | | Optional Chat
| |
− | | Only if mode is 0 or 2.The text to be displayed for the score.
| |
− | |-
| |
− | | colspan="2"| Type | |
− | | Optional VarInt Enum
| |
− | | Only if mode is 0 or 2. 0 = "integer", 1 = "hearts".
| |
− | |- {{added}}
| |
− | | colspan="2"| Has Number Format
| |
− | | Optional Boolean
| |
− | | Only if mode is 0 or 2. Whether this objective has a set number format for the scores.
| |
− | |- {{added}}
| |
− | | colspan="2"| Number Format
| |
− | | Optional VarInt Enum
| |
− | | Only if mode is 0 or 2 and the previous boolean is true. Determines how the score number should be formatted.
| |
− | |- {{added}}
| |
− | ! Number Format
| |
− | ! Field Name
| |
− | !
| |
− | !
| |
− | |- {{added}}
| |
− | | 0: blank
| |
− | | ''no fields''
| |
− | | ''no fields''
| |
− | | Show nothing.
| |
− | |- {{added}}
| |
− | | 1: styled
| |
− | | Styling
| |
− | | [[NBT#Specification:compound_tag|Compound Tag]]
| |
− | | The styling to be used when formatting the score number. This is similar to a [[Chat]], but only the styling fields are present.
| |
− | |- {{added}}
| |
− | | 2: fixed
| |
− | | Content
| |
− | | [[Chat]]
| |
− | | The text to be used as placeholder.
| |
− | |}
| |
− | | |
− | ==== Update Score ====
| |
− | | |
− | This is sent to the client when it should update a scoreboard item.
| |
− | | |
− | {| class="wikitable"
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | rowspan="12"| {{change|0x5D|0x5F}}
| |
− | | rowspan="12"| Play
| |
− | | rowspan="12"| Client
| |
− | | colspan="2"| Entity Name
| |
− | | String (32767)
| |
− | | The entity whose score this is. For players, this is their username; for other entities, it is their UUID. | |
− | |- {{removed}}
| |
− | | colspan="2"| Action
| |
− | | VarInt Enum
| |
− | | 0 to create/update an item. 1 to remove an item.
| |
− | |-
| |
− | | colspan="2"| Objective Name
| |
− | | String (32767)
| |
− | | The name of the objective the score belongs to.
| |
− | |-
| |
− | | colspan="2"| Value
| |
− | | {{change|Optional|}} VarInt
| |
− | | The score to be displayed next to the entry. {{change|Only sent when Action does not equal 1.|}}
| |
− | |- {{added}}
| |
− | | colspan="2"| Has Display Name
| |
− | | Boolean
| |
− | | Whether this score has a custom display name.
| |
− | |- {{added}}
| |
− | | colspan="2"| Display Name
| |
− | | Optional Chat
| |
− | | The custom display name. Only present if the previous boolean is true.
| |
− | |- {{added}}
| |
− | | colspan="2"| Has Number Format
| |
− | | Boolean
| |
− | | Whether this score has a set number format. This overrides the number format set on the objective, if any.
| |
− | |- {{added}}
| |
− | | colspan="2"| Number Format
| |
− | | Optional VarInt Enum
| |
− | | Determines how the score number should be formatted. Only present if the previous boolean is true.
| |
− | |- {{added}}
| |
− | ! Number Format
| |
− | ! Field Name
| |
− | !
| |
− | !
| |
− | |- {{added}}
| |
− | | 0: blank
| |
− | | ''no fields''
| |
− | | ''no fields''
| |
− | | Show nothing.
| |
− | |- {{added}}
| |
− | | 1: styled
| |
− | | Styling
| |
− | | [[NBT#Specification:compound_tag|Compound Tag]]
| |
− | | The styling to be used when formatting the score number. This is similar to a [[Chat]], but only the styling fields are present.
| |
− | |- {{added}}
| |
− | | 2: fixed
| |
− | | Content
| |
− | | [[Chat]]
| |
− | | The text to be used as placeholder.
| |
− | |}
| |
− | | |
− | ==== Set Ticking State ====
| |
− | | |
− | Used to adjust the ticking rate of the client, and whether it's frozen.
| |
− | | |
− | {| class="wikitable" {{added}}
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
| |- | | |- |
− | | rowspan="2" | 0x6E | + | | rowspan="2"| Details |
− | | rowspan="2" | Play | + | | Title |
− | | rowspan="2" | Server | + | | rowspan="2"| {{Type|Array}} |
− | | Tick rate | + | | {{Type|String}} (128) |
− | | Float
| |
| | | | | |
| |- | | |- |
− | | Is frozen | + | | Description |
− | | Boolean | + | | {{Type|String}} (4096) |
| | | | | |
− | |}
| + | |} |
| | | |
− | ==== Step Tick ==== | + | ==== Clientbound Server Links (play) ==== |
| | | |
− | Advances the client processing by the specified number of ticks. Has no effect is the client ticking is not frozen.
| + | 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" {{added}} | | {| class="wikitable" {{added}} |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | 0x6F
| |
− | | Play
| |
− | | Client
| |
− | | Tick steps
| |
− | | VarInt
| |
− | |
| |
− | |}
| |
− |
| |
− | ==== Update Recipes ====
| |
− |
| |
− | {| class="wikitable"
| |
| ! Packet ID | | ! Packet ID |
| ! State | | ! State |
Line 1,592: |
Line 206: |
| ! Notes | | ! Notes |
| |- | | |- |
− | | rowspan="4"| {{change|0x6F|0x73}} | + | | rowspan="4"| 0x7B |
− | | rowspan="4"| Play | + | | rowspan="4"| Configuration |
| | rowspan="4"| Client | | | rowspan="4"| Client |
− | | colspan="2"| Num Recipes | + | | colspan="2"| Links Count |
− | | colspan="2"| VarInt | + | | colspan="2"| {{Type|VarInt}} |
− | | Number of elements in the following array. | + | | The number of links in the following array. |
| |- | | |- |
− | | rowspan="3"| Recipe | + | | rowspan="3"| Links |
− | | Type | + | | Is built-in |
− | | rowspan="3"| Array | + | | rowspan="3"| {{Type|Array}} |
− | | Identifier | + | | {{Type|Boolean}} |
− | | The recipe type, see below. | + | | Determines if the following label is built-in (from enum) or custom (text component). |
| |- | | |- |
− | | Recipe ID | + | | Label |
− | | Identifier | + | | {{Type|VarInt}} {{Type|Enum}} / {{Type|Text Component}} |
− | | | + | | See below. |
| |- | | |- |
− | | Data | + | | URL |
− | | Varies | + | | {{Type|String}} |
− | | Additional data for the recipe. | + | | Valid URL. |
− | |}
| + | |} |
| | | |
− | Recipe types:
| + | {| class="wikitable" {{added}} |
− | | + | ! ID |
− | {| class="wikitable"
| |
− | ! Type
| |
− | ! Description
| |
− | ! Data
| |
− | |-
| |
− | | <code>minecraft:crafting_shapeless</code>
| |
− | | Shapeless crafting recipe. All items in the ingredient list must be present, but in any order/slot.
| |
− | | As follows:
| |
− | {| class="wikitable"
| |
− | ! Name
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | Group
| |
− | | String (32767)
| |
− | | Used to group similar recipes together in the recipe book. Tag is present in recipe JSON.
| |
− | |-
| |
− | |Category
| |
− | |VarInt Enum
| |
− | |Building = 0, Redstone = 1, Equipment = 2, Misc = 3
| |
− | |-
| |
− | | Ingredient count
| |
− | | VarInt
| |
− | | Number of elements in the following array.
| |
− | |-
| |
− | | Ingredients
| |
− | | Array of Ingredient.
| |
− | |
| |
− | |-
| |
− | | Result
| |
− | | [[Slot]]
| |
− | |
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:crafting_shaped</code>
| |
− | | Shaped crafting recipe. All items must be present in the same pattern (which may be flipped horizontally or translated).
| |
− | | As follows:
| |
− | {| class="wikitable"
| |
− | ! Name
| |
− | ! Type
| |
− | ! Description
| |
− | |- {{removed}}
| |
− | | Width
| |
− | | VarInt
| |
− | |
| |
− | |- {{removed}}
| |
− | | Height
| |
− | | VarInt
| |
− | |
| |
− | |-
| |
− | | Group
| |
− | | String (32767)
| |
− | | Used to group similar recipes together in the recipe book. Tag is present in recipe JSON.
| |
− | |-
| |
− | |Category
| |
− | |VarInt Enum
| |
− | |Building = 0, Redstone = 1, Equipment = 2, Misc = 3
| |
− | |- {{added}}
| |
− | | Width
| |
− | | VarInt
| |
− | |
| |
− | |- {{added}}
| |
− | | Height
| |
− | | VarInt
| |
− | |
| |
− | |-
| |
− | | Ingredients
| |
− | | Array of Ingredient
| |
− | | Length is <code>width * height</code>. Indexed by <code>x + (y * width)</code>.
| |
− | |-
| |
− | | Result
| |
− | | [[Slot]]
| |
− | |-
| |
− | | Show notification
| |
− | | Boolean
| |
− | | Show a toast when the recipe is [[Protocol#Update_Recipe_Book|added]].
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:crafting_special_armordye</code>
| |
− | | Recipe for dying leather armor | |
− | | rowspan="14" | As follows:
| |
− | {| class="wikitable"
| |
− | ! Name
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | |Category
| |
− | |VarInt Enum
| |
− | |Building = 0, Redstone = 1, Equipment = 2, Misc = 3
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:crafting_special_bookcloning</code>
| |
− | | Recipe for copying contents of written books
| |
− | |-
| |
− | | <code>minecraft:crafting_special_mapcloning</code>
| |
− | | Recipe for copying maps
| |
− | |-
| |
− | | <code>minecraft:crafting_special_mapextending</code>
| |
− | | Recipe for adding paper to maps
| |
− | |-
| |
− | | <code>minecraft:crafting_special_firework_rocket</code>
| |
− | | Recipe for making firework rockets
| |
− | |-
| |
− | | <code>minecraft:crafting_special_firework_star</code>
| |
− | | Recipe for making firework stars
| |
− | |-
| |
− | | <code>minecraft:crafting_special_firework_star_fade</code>
| |
− | | Recipe for making firework stars fade between multiple colors
| |
− | |-
| |
− | | <code>minecraft:crafting_special_repairitem</code>
| |
− | | Recipe for repairing items via crafting
| |
− | |-
| |
− | | <code>minecraft:crafting_special_tippedarrow</code>
| |
− | | Recipe for crafting tipped arrows
| |
− | |-
| |
− | | <code>minecraft:crafting_special_bannerduplicate</code>
| |
− | | Recipe for copying banner patterns
| |
− | |-
| |
− | | <code>minecraft:crafting_special_shielddecoration</code>
| |
− | | Recipe for applying a banner's pattern to a shield
| |
− | |-
| |
− | | <code>minecraft:crafting_special_shulkerboxcoloring</code>
| |
− | | Recipe for recoloring a shulker box
| |
− | |-
| |
− | | <code>minecraft:crafting_special_suspiciousstew</code>
| |
− | | Recipe for crafting suspicious stews
| |
− | |-
| |
− | | <code>minecraft:crafting_decorated_pot</code>
| |
− | | Recipe for crafting decorated pots
| |
− | |-
| |
− | | <code>minecraft:smelting</code>
| |
− | | Smelting recipe
| |
− | | rowspan="4"| As follows:
| |
− | {| class="wikitable"
| |
− | ! Name
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | Group
| |
− | | String (32767)
| |
− | | Used to group similar recipes together in the recipe book.
| |
− | |-
| |
− | |Category
| |
− | |VarInt Enum
| |
− | |Food = 0, Blocks = 1, Misc = 2
| |
− | |-
| |
− | | Ingredient
| |
− | | Ingredient
| |
− | |
| |
− | |-
| |
− | | Result
| |
− | | [[Slot]]
| |
− | |
| |
− | |-
| |
− | | Experience
| |
− | | Float
| |
− | |
| |
− | |-
| |
− | | Cooking time
| |
− | | VarInt
| |
− | |
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:blasting</code>
| |
− | | Blast furnace recipe
| |
− | |-
| |
− | | <code>minecraft:smoking</code>
| |
− | | Smoker recipe
| |
− | |-
| |
− | | <code>minecraft:campfire_cooking</code>
| |
− | | Campfire recipe
| |
− | |-
| |
− | | <code>minecraft:stonecutting</code>
| |
− | | Stonecutter recipe
| |
− | | As follows:
| |
− | {| class="wikitable"
| |
− | ! Name
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | Group
| |
− | | String (32767)
| |
− | | Used to group similar recipes together in the recipe book. Tag is present in recipe JSON.
| |
− | |-
| |
− | | Ingredient
| |
− | | Ingredient
| |
− | |
| |
− | |-
| |
− | | Result
| |
− | | [[Slot]]
| |
− | |
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:smithing_transform</code>
| |
− | | Recipe for smithing netherite gear
| |
− | | As follows:
| |
− | {| class="wikitable"
| |
− | ! Name
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | Template
| |
− | | Ingredient
| |
− | | The smithing template.
| |
− | |-
| |
− | | Base
| |
− | | Ingredient
| |
− | | The base item.
| |
− | |-
| |
− | | Addition
| |
− | | Ingredient
| |
− | | The additional ingredient.
| |
− | |-
| |
− | | Result
| |
− | | [[Slot]]
| |
− | |
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:smithing_trim</code>
| |
− | | Recipe for applying armor trims
| |
− | | As follows:
| |
− | {| class="wikitable"
| |
− | ! Name
| |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | Template
| |
− | | Ingredient
| |
− | | The smithing template.
| |
− | |-
| |
− | | Base
| |
− | | Ingredient
| |
− | | The base item.
| |
− | |-
| |
− | | Addition
| |
− | | Ingredient
| |
− | | The additional ingredient.
| |
− | |}
| |
− | |}
| |
− | | |
− | Ingredient is defined as:
| |
− | | |
− | {| class="wikitable"
| |
| ! Name | | ! Name |
− | ! Type
| |
− | ! Description
| |
− | |-
| |
− | | Count
| |
− | | VarInt
| |
− | | Number of elements in the following array.
| |
− | |-
| |
− | | Items
| |
− | | Array of [[Slot]]
| |
− | | Any item in this array may be used for the recipe. The count of each item should be 1.
| |
− | |}
| |
− |
| |
− | === Serverbound ===
| |
− |
| |
− | ==== Change Container Slot State ====
| |
− |
| |
− | This packet is sent by the client when toggling the state of a Crafter.
| |
− |
| |
− | {| class="wikitable" {{added}}
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
− | |-
| |
− | | rowspan="3"| 0x0F
| |
− | | rowspan="3"| Play
| |
− | | rowspan="3"| Server
| |
− | | Slot ID
| |
− | | VarInt
| |
− | | This is the ID of the slot that was changed.
| |
− | |-
| |
− | | Window ID
| |
− | | VarInt
| |
− | | This is the ID of the window that was changed.
| |
− | |-
| |
− | | State
| |
− | | Boolean
| |
− | | The new state of the slot. True for enabled, false for disabled.
| |
− | |}
| |
− |
| |
− | ==== Resource Pack Response (play) ====
| |
− |
| |
− | {| class="wikitable"
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
| ! Notes | | ! Notes |
− | |-
| |
− | | rowspan="3" | 0x27
| |
− | | rowspan="3" | Play
| |
− | | rowspan="3" | Server
| |
− | |- {{added}}
| |
− | | UUID
| |
− | | UUID
| |
− | | The unique identifier of the resource pack received in the [[#Add_Resource_Pack_(play)|Add Resource Pack (play)]] request.
| |
− | |-
| |
− | | Result
| |
− | | VarInt Enum
| |
− | | {{change|0: successfully loaded, 1: declined, 2: failed download, 3: accepted.|Result ID (see below).}}
| |
− | |}
| |
− |
| |
− | Result can be one of the following values:
| |
− |
| |
− | {| class="wikitable" {{added}}
| |
− | ! ID
| |
− | ! Result
| |
| |- | | |- |
| | 0 | | | 0 |
− | | Successfully downloaded | + | | Bug Report |
| + | | Displayed on connection error screen; included as a comment in the disconnection report. |
| |- | | |- |
| | 1 | | | 1 |
− | | Declined | + | | Community Guidelines |
| + | | |
| |- | | |- |
| | 2 | | | 2 |
− | | Failed to download | + | | Support |
| + | | |
| |- | | |- |
| | 3 | | | 3 |
− | | Accepted | + | | Status |
| + | | |
| |- | | |- |
| | 4 | | | 4 |
− | | Invalid URL | + | | Feedback |
| + | | |
| |- | | |- |
| | 5 | | | 5 |
− | | Failed to reload | + | | Community |
| + | | |
| |- | | |- |
| | 6 | | | 6 |
− | | Discarded | + | | Website |
− | |} | + | | |
− | | |
− | ==== Program Jigsaw Block ====
| |
− | | |
− | Sent when Done is pressed on the {{Minecraft Wiki|Jigsaw Block}} interface.
| |
− | | |
− | {| class="wikitable"
| |
− | ! Packet ID
| |
− | ! State
| |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Notes
| |
| |- | | |- |
− | | rowspan="8"| 0x2F | + | | 7 |
− | | rowspan="8"| Play
| + | | Forums |
− | | rowspan="8"| Server
| + | | |
− | | Location
| |
− | | Position | |
− | | Block entity location | |
| |- | | |- |
− | | Name | + | | 8 |
− | | Identifier | + | | News |
− | | | + | | |
| |- | | |- |
− | | Target | + | | 9 |
− | | Identifier | + | | Announcements |
− | | | + | | |
− | |-
| |
− | | Pool
| |
− | | Identifier
| |
− | |
| |
− | |-
| |
− | | Final state
| |
− | | String (32767)
| |
− | | "Turns into" on the GUI, <code>final_state</code> in NBT.
| |
| |- | | |- |
− | | Joint type
| |
− | | String (32767)
| |
− | | <code>rollable</code> if the attached piece can be rotated, else <code>aligned</code>.
| |
− | |- {{added}}
| |
− | | Selection priority
| |
− | | VarInt
| |
− | |
| |
− | |- {{added}}
| |
− | | Placement priority
| |
− | | VarInt
| |
− | |
| |
| |} | | |} |
| + | |
| + | === Serverbound === |
| + | |
| + | No changes so far. |
| | | |
| [[Category:Minecraft Modern]] | | [[Category:Minecraft Modern]] |