Difference between revisions of "Pre-release protocol"

From wiki.vg
Jump to navigation Jump to search
(Clean slate for future updating)
(Document 1.13.2-pre1. (Thanks dinnerbone for mentioning that items changed))
Line 1: Line 1:
This page documents the changes from the [[Protocol|last stable Minecraft release]] (currently [[Protocol version numbers|1.13.1, protocol 401]]) to the current pre-release (currently [[Protocol version numbers|1.13.1, protocol 401]]). 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.13.1, protocol 401]]) to the current pre-release (currently [[Protocol version numbers|1.13.2-pre1, protocol 402]]). 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 10: Line 10:
  
 
No changes so far.
 
No changes so far.
 +
 +
==== [[Slot]] ====
 +
 +
{| class="wikitable"
 +
! Name
 +
! Type
 +
! Meaning
 +
|- {{added}}
 +
| Present
 +
| Boolean
 +
| True if the item is present; false if it is empty.
 +
|-
 +
| Item ID
 +
| {{Change|Short|Optional VarInt}}
 +
| The {{Minecraft Wiki|Data values#Block IDs|item ID}}. {{change|A value of <code>-1</code> signifies that the slot is empty, and no further data follows.|Not present if present is false.}} Item IDs are distinct from block IDs; see [[Data Generators]] for more information
 +
|-
 +
| Item Count
 +
| Optional Byte
 +
| Not present if {{change|Item ID is <code>-1</code>|present is false}}.
 +
|-
 +
| NBT
 +
| Optional NBT
 +
| Not present if {{change|Item ID is <code>-1</code>|present is false}}. If 0, there is no NBT data, and no further data follows. Otherwise the byte is the start of an NBT blob as shown below:
 +
|}
 +
 +
<pre>
 +
  COMPOUND <nowiki>''</nowiki>
 +
    LIST 'StoredEnchantments'
 +
      COMPOUND
 +
        SHORT 'id'
 +
        SHORT 'lvl'
 +
      END
 +
      COMPOUND
 +
        ...
 +
      END
 +
      ...
 +
    END
 +
    INT 'Unbreakable'
 +
    ...
 +
  END
 +
</pre>
 +
 +
See [[NBT]] for more information about the NBT format, and {{Minecraft Wiki|Player.dat format#Item structure|here}} for the contained information and its format.  Note that tool durability is included in NBT, among other things.
  
 
=== Packets ===
 
=== Packets ===
  
<!--
 
 
{| class="wikitable"
 
{| class="wikitable"
 
  ! ID
 
  ! ID
Line 22: Line 64:
 
{{PacketList|0x00|Handshake}}
 
{{PacketList|0x00|Handshake}}
 
  |}
 
  |}
-->
 
  
 
== New/modified data types ==
 
== New/modified data types ==
Line 54: Line 95:
 
=== Serverbound ===
 
=== Serverbound ===
  
<!--
 
 
==== Handshake ====
 
==== Handshake ====
  
Line 86: Line 126:
 
  | 1 for [[#Status|status]], 2 for [[#Login|login]]
 
  | 1 for [[#Status|status]], 2 for [[#Login|login]]
 
  |}
 
  |}
-->
 
  
 
== Status ==
 
== Status ==

Revision as of 15:23, 16 October 2018

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

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

Contents

Data types

No changes so far.

Slot

Name Type Meaning
Present Boolean True if the item is present; false if it is empty.
Item ID Short Optional VarInt The item ID. A value of -1 signifies that the slot is empty, and no further data follows. Not present if present is false. Item IDs are distinct from block IDs; see Data Generators for more information
Item Count Optional Byte Not present if Item ID is -1 present is false.
NBT Optional NBT Not present if Item ID is -1 present is false. If 0, there is no NBT data, and no further data follows. Otherwise the byte is the start of an NBT blob as shown below:
  COMPOUND ''
    LIST 'StoredEnchantments'
      COMPOUND
        SHORT 'id'
        SHORT 'lvl'
      END
      COMPOUND
        ...
      END
      ...
    END
    INT 'Unbreakable'
    ...
  END

See NBT for more information about the NBT format, and here for the contained information and its format. Note that tool durability is included in NBT, among other things.

Packets

ID Packet name Documentation
Handshaking serverbound
0x00 Handshake Current Pre

New/modified data types

No changes so far.

Entity Metadata

No changes so far.

Block Actions

No changes so far.

Play

Clientbound

No changes so far.

Serverbound

No changes so far.

Handshaking

Clientbound

There are no clientbound packets in the Handshaking state, since the protocol immediately switches to a different state after the client sends the first packet.

Serverbound

Handshake

This causes the server to switch into the target state.

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

Status

Clientbound

No changes so far.

Serverbound

No changes so far.

Login

Clientbound

No changes so far.

Serverbound

No changes so far.