|
|
(38 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|23w43b, protocol {{Snapshot PVN|1073741984}}]]). 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
| |
− | |-
| |
− | | <code>minecraft:sonic_boom</code>
| |
− | | 24
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_dust</code>
| |
− | | 25
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | BlockState
| |
− | | VarInt
| |
− | | The ID of the block state.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:firework</code>
| |
− | | 26
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:fishing</code>
| |
− | | 27
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:flame</code>
| |
− | | 28
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:cherry_leaves</code>
| |
− | | 29
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sculk_soul</code>
| |
− | | 30
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sculk_charge</code>
| |
− | | 31
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | Roll
| |
− | | Float
| |
− | | How much the particle will be rotated when displayed.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:sculk_charge_pop</code>
| |
− | | 32
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:soul_fire_flame</code>
| |
− | | 33
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:soul</code>
| |
− | | 34
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:flash</code>
| |
− | | 35
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:happy_villager</code>
| |
− | | 36
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:composter</code>
| |
− | | 37
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:heart</code>
| |
− | | 38
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:instant_effect</code>
| |
− | | 39
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:item</code>
| |
− | | 40
| |
− | |
| |
− | {| class="wikitable"
| |
− | ! Field Name
| |
− | ! Field Type
| |
− | ! Meaning
| |
− | |-
| |
− | | Item
| |
− | | [[Slot]]
| |
− | | The item that will be used.
| |
− | |}
| |
− | |-
| |
− | | <code>minecraft:vibration</code>
| |
− | | 41
| |
− | |
| |
− | {| 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>
| |
− | | 42
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:item_snowball</code>
| |
− | | 43
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:large_smoke</code>
| |
− | | 44
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:lava</code>
| |
− | | 45
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:mycelium</code>
| |
− | | 46
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:note</code>
| |
− | | 47
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:poof</code>
| |
− | | 48
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:portal</code>
| |
− | | 49
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:rain</code>
| |
− | | 50
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:smoke</code>
| |
− | | 51
| |
− | | None
| |
− | |- {{added}}
| |
− | | <code>minecraft:white_smoke</code>
| |
− | | 52
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sneeze</code>
| |
− | | {{change|52|53}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:spit</code>
| |
− | | {{change|53|54}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:squid_ink</code>
| |
− | | {{change|54|55}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:sweep_attack</code>
| |
− | | {{change|55|56}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:totem_of_undying</code>
| |
− | | {{change|56|57}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:underwater</code>
| |
− | | {{change|57|58}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:splash</code>
| |
− | | {{change|58|59}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:witch</code>
| |
− | | {{change|59|60}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:bubble_pop</code>
| |
− | | {{change|60|61}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:current_down</code>
| |
− | | {{change|61|62}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:bubble_column_up</code>
| |
− | | {{change|62|63}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:nautilus</code>
| |
− | | {{change|63|64}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dolphin</code>
| |
− | | {{change|64|65}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:campfire_cosy_smoke</code>
| |
− | | {{change|65|66}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:campfire_signal_smoke</code>
| |
− | | {{change|66|67}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_honey</code>
| |
− | | {{change|67|68}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_honey</code>
| |
− | | {{change|68|69}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:landing_honey</code>
| |
− | | {{change|69|70}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_nectar</code>
| |
− | | {{change|70|71}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_spore_blossom</code>
| |
− | | {{change|71|72}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:ash</code>
| |
− | | {{change|72|73}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:crimson_spore</code>
| |
− | | {{change|73|74}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:warped_spore</code>
| |
− | | {{change|74|75}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:spore_blossom_air</code>
| |
− | | {{change|75|76}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_obsidian_tear</code>
| |
− | | {{change|76|77}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_obsidian_tear</code>
| |
− | | {{change|77|78}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:landing_obsidian_tear</code>
| |
− | | {{change|78|79}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:reverse_portal</code>
| |
− | | {{change|79|80}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:white_ash</code>
| |
− | | {{change|80|81}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:small_flame</code>
| |
− | | {{change|81|82}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:snowflake</code>
| |
− | | {{change|82|83}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_dripstone_lava</code>
| |
− | | {{change|83|84}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_dripstone_lava</code>
| |
− | | {{change|84|85}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:dripping_dripstone_water</code>
| |
− | | {{change|85|86}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:falling_dripstone_water</code>
| |
− | | {{change|86|87}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:glow_squid_ink</code>
| |
− | | {{change|87|88}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:glow</code>
| |
− | | {{change|88|89}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:wax_on</code>
| |
− | | {{change|89|90}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:wax_off</code>
| |
− | | {{change|90|91}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:electric_spark</code>
| |
− | | {{change|91|92}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:scrape</code>
| |
− | | {{change|92|93}}
| |
− | | None
| |
− | |-
| |
− | | <code>minecraft:shriek</code>
| |
− | | {{change|93|94}}
| |
− | |
| |
− | {| 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|95}}
| |
− | | None
| |
− | |- {{added}}
| |
− | | <code>minecraft:dust_plume</code>
| |
− | | 96
| |
− | | None
| |
− | |}
| |
| | | |
| === Packets === | | === Packets === |
Line 608: |
Line 19: |
| |- | | |- |
| !colspan="4"| Configuration clientbound | | !colspan="4"| Configuration clientbound |
− | {{PacketList|0x07|Feature Flags}} | + | {{PacketList|0x0F|Clientbound Report Details (configuration)|rel=added}} |
| + | {{PacketList|0x10|Clientbound Server Links (configuration)|rel=added}} |
| |- | | |- |
| !colspan="4"| Play clientbound | | !colspan="4"| Play clientbound |
− | {{PacketList|0x20|Game Event}} | + | {{PacketList|0x7A|Clientbound Report Details (play)|rel=added}} |
− | {{PacketList|0x6C|Set Ticking State|rel=added}}
| + | {{PacketList|0x7B|Clientbound Server Links (play)|rel=added}} |
− | {{PacketList|0x6D|Step Tick|rel=added}} | |
− | {{PacketList|{{change|0x6C|0x6E}}|Update Advancements|pre=unchanged}}
| |
− | {{PacketList|{{change|0x6D|0x6F}}|Update Attributes|pre=unchanged}}
| |
− | {{PacketList|{{change|0x6E|0x70}}|Entity Effect|pre=unchanged}}
| |
− | {{PacketList|{{change|0x6F|0x71}}|Update Recipes|pre=unchanged}}
| |
− | {{PacketList|{{change|0x70|0x72}}|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)|pre=unchanged}}
| |
− | {{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 == | + | == Handshake == |
− | | |
− | No changes so far.
| |
− | | |
− | == Entity Metadata ==
| |
− | | |
− | === 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 ==
| |
| | | |
| 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 819: |
Line 44: |
| === Clientbound === | | === Clientbound === |
| | | |
− | ==== Feature Flags ==== | + | ==== Clientbound Report Details (configuration) ==== |
| | | |
− | Used to enable and disable features, generally experimental ones, on the client.
| + | Contains a list of key-value text entries that are included in any crash or disconnection report generated during connection to the server. |
| | | |
− | {| class="wikitable" | + | {| class="wikitable" {{added}} |
| ! Packet ID | | ! Packet ID |
| ! State | | ! State |
| ! Bound To | | ! Bound To |
− | ! Field Name | + | ! colspan="2"| Field Name |
− | ! Field Type | + | ! colspan="2"| Field Type |
| ! Notes | | ! Notes |
| |- | | |- |
− | | rowspan="2"| 0x07 | + | | rowspan="3"| 0x0F |
− | | rowspan="2"| Configuration | + | | rowspan="3"| Configuration |
− | | rowspan="2"| Client | + | | rowspan="3"| Client |
− | | Total Features | + | | colspan="2"| Details Count |
− | | VarInt | + | | colspan="2"| {{Type|VarInt}} (32) |
− | | Number of features that appear in the array below. | + | | The number of details in the following array. |
| |- | | |- |
− | | Feature Flags | + | | rowspan="2"| Details |
− | | Identifier Array | + | | Title |
| + | | rowspan="2"| {{Type|Array}} |
| + | | {{Type|String}} (128) |
| | | | | |
− | |} | + | |- |
| + | | Description |
| + | | {{Type|String}} (4096) |
| + | | |
| + | |} |
| | | |
− | As of {{change|1.20.2|1.20.3}}, the following feature flags are available:
| + | ==== Clientbound Server Links (configuration) ==== |
| | | |
− | * minecraft:vanilla - enables vanilla features</li>
| + | 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). |
− | * 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 ===
| + | {| class="wikitable" {{added}} |
− | | |
− | No changes so far.
| |
− | | |
− | == Play ==
| |
− | | |
− | === Clientbound ===
| |
− | | |
− | ==== 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 | | ! Packet ID |
| ! State | | ! State |
| ! Bound To | | ! Bound To |
− | ! Field Name | + | ! colspan="2"| Field Name |
− | ! Field Type | + | ! colspan="2"| Field Type |
| ! Notes | | ! Notes |
| |- | | |- |
− | | rowspan="2"| 0x20 | + | | rowspan="4"| 0x10 |
− | | rowspan="2"| Play | + | | rowspan="4"| Configuration |
− | | rowspan="2"| Client | + | | rowspan="4"| Client |
− | | Event | + | | colspan="2"| Links Count |
− | | Unsigned Byte | + | | colspan="2"| {{Type|VarInt}} |
| + | | The number of links in the following array. |
| + | |- |
| + | | rowspan="3"| Links |
| + | | Is built-in |
| + | | rowspan="3"| {{Type|Array}} |
| + | | {{Type|Boolean}} |
| + | | Determines if the following label is built-in (from enum) or custom (text component). |
| + | |- |
| + | | Label |
| + | | {{Type|VarInt}} {{Type|Enum}} / {{Type|Text Component}} |
| | See below. | | | See below. |
| |- | | |- |
− | | Value | + | | URL |
− | | Float | + | | {{Type|String}} |
− | | Depends on Event. | + | | Valid URL. |
− | |}
| + | |} |
| | | |
− | ''Events'':
| |
| | | |
− | {| class="wikitable" | + | {| class="wikitable" {{added}} |
− | ! Event | + | ! ID |
− | ! Effect | + | ! Name |
− | ! Value | + | ! Notes |
| |- | | |- |
| | 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).
| |
| |} | | |} |
| | | |
− | ==== Set Ticking State ==== | + | === Serverbound === |
| | | |
− | Used to adjust the ticking rate of the client, and whether it's frozen.
| + | No changes so far. |
| + | |
| + | == Play == |
| + | |
| + | === Clientbound === |
| + | |
| + | ==== Clientbound Report Details (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}} |
Line 953: |
Line 172: |
| ! State | | ! State |
| ! Bound To | | ! Bound To |
− | ! Field Name | + | ! colspan="2"| Field Name |
− | ! Field Type | + | ! colspan="2"| Field Type |
| ! Notes | | ! Notes |
| |- | | |- |
− | | rowspan="2" | 0x6C | + | | rowspan="3"| 0x7A |
− | | rowspan="2" | Play | + | | rowspan="3"| Configuration |
− | | rowspan="2" | Server | + | | rowspan="3"| Client |
− | | Tick rate | + | | colspan="2"| Details Count |
− | | Float | + | | colspan="2"| {{Type|VarInt}} (32) |
| + | | The number of details in the following array. |
| + | |- |
| + | | rowspan="2"| Details |
| + | | Title |
| + | | rowspan="2"| {{Type|Array}} |
| + | | {{Type|String}} (128) |
| | | | | |
| |- | | |- |
− | | 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}} |
Line 977: |
Line 202: |
| ! State | | ! State |
| ! Bound To | | ! Bound To |
− | ! Field Name | + | ! colspan="2"| Field Name |
− | ! Field Type | + | ! colspan="2"| Field Type |
| ! Notes | | ! Notes |
| |- | | |- |
− | | 0x6D | + | | rowspan="4"| 0x7B |
− | | Play | + | | rowspan="4"| Configuration |
− | | Client | + | | rowspan="4"| Client |
− | | Tick steps | + | | colspan="2"| Links Count |
− | | VarInt | + | | colspan="2"| {{Type|VarInt}} |
− | | | + | | The number of links in the following array. |
− | |} | + | |- |
− | | + | | rowspan="3"| Links |
− | === Serverbound === | + | | Is built-in |
− | | + | | rowspan="3"| {{Type|Array}} |
− | ==== Change Container Slot State ==== | + | | {{Type|Boolean}} |
− | | + | | Determines if the following label is built-in (from enum) or custom (text component). |
− | This packet is sent by the client when toggling the state of a Crafter.
| + | |- |
| + | | Label |
| + | | {{Type|VarInt}} {{Type|Enum}} / {{Type|Text Component}} |
| + | | See below. |
| + | |- |
| + | | URL |
| + | | {{Type|String}} |
| + | | Valid URL. |
| + | |} |
| | | |
| {| class="wikitable" {{added}} | | {| class="wikitable" {{added}} |
− | ! Packet ID | + | ! ID |
− | ! State | + | ! Name |
− | ! Bound To
| |
− | ! Field Name
| |
− | ! Field Type
| |
| ! Notes | | ! Notes |
| |- | | |- |
− | | rowspan="3"| 0x0F | + | | 0 |
− | | rowspan="3"| Play | + | | Bug Report |
− | | rowspan="3"| Server | + | | Displayed on connection error screen; included as a comment in the disconnection report. |
− | | Slot ID | + | |- |
− | | VarInt | + | | 1 |
− | | This is the ID of the slot that was changed. | + | | Community Guidelines |
| + | | |
| |- | | |- |
− | | Window ID | + | | 2 |
− | | VarInt | + | | Support |
− | | This is the ID of the window that was changed. | + | | |
| |- | | |- |
− | | State | + | | 3 |
− | | Boolean | + | | Status |
− | | The new state of the slot. True for enabled, false for disabled. | + | | |
− | |} | + | |- |
− | | + | | 4 |
− | ==== Program Jigsaw Block ====
| + | | Feedback |
− | | + | | |
− | 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 | + | | 5 |
− | | rowspan="8"| Play
| + | | Community |
− | | rowspan="8"| Server
| + | | |
− | | Location
| |
− | | Position | |
− | | Block entity location | |
| |- | | |- |
− | | Name | + | | 6 |
− | | Identifier | + | | Website |
− | | | + | | |
| |- | | |- |
− | | Target | + | | 7 |
− | | Identifier | + | | Forums |
− | | | + | | |
| |- | | |- |
− | | Pool | + | | 8 |
− | | Identifier | + | | News |
− | | | + | | |
| |- | | |- |
− | | Final state | + | | 9 |
− | | String (32767) | + | | Announcements |
− | | "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]] |