Difference between revisions of "Object Data"

From wiki.vg
Jump to navigation Jump to search
(formatting)
m (More updates - it being used to ignore velocity is not true anymore)
 
(18 intermediate revisions by 7 users not shown)
Line 1: Line 1:
In the [[Protocol#Spawn Object|Spawn Object]] packet, additional metadata about the spawned entity may be provided. The length and contents of this extra data depend on the type of object being spawned. No matter what, the server must send at least one integer to the client, although 0 is a valid value. If a number other than zero is provided (for all entities), the following data is appended to the end of the object data (as of [[Protocol version numbers|15w31a, protocol 49]] this data is always required):
+
This article documents the '''Data''' field in the [[Protocol#Spawn Entity|Spawn Entity]] packet. The field is of type Int, and the meaning of its contents depend on the [[Entity_metadata|type of entity]] being spawned, as defined in the Type field of the same packet, and is documented below.
  
{| class="wikitable"
+
== Item Frame ==
|-
 
! Field name
 
! Field type
 
! Example
 
! Notes
 
|-
 
| Speed X
 
| Short
 
| <code>0</code>
 
| The speed of the object, same units as [[Protocol#Entity Velocity|Entity Velocity]]
 
|-�
 
| Speed Y
 
| Short
 
| <code>0</code>
 
| The speed of the object, same units as [[Protocol#Entity Velocity|Entity Velocity]]
 
|-
 
| Speed Z
 
| Short
 
| <code>0</code>
 
| The speed of the object, same units as [[Protocol#Entity Velocity|Entity Velocity]]
 
|}
 
 
 
== Meaning of int field ==
 
 
 
=== Minecarts (id 10) ===
 
 
 
The int value itself specifies the minecart's functionality:
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
  |-
 
  |-
 
  ! Value
 
  ! Value
  ! Minecart functionality
+
  ! Orientation
 
  |-
 
  |-
 
  | 0
 
  | 0
  | Empty (ride-able) minecart
+
  | Down
 
  |-
 
  |-
 
  | 1
 
  | 1
  | Chest minecart
+
  | Up
 
  |-
 
  |-
 
  | 2
 
  | 2
  | Furnace (powered) minecart
+
  | North
 
  |-
 
  |-
 
  | 3
 
  | 3
  | TNT minecart
+
  | South
 
  |-
 
  |-
 
  | 4
 
  | 4
  | Spawner minecart
+
  | West
  |-
+
  |-
 
  | 5
 
  | 5
  | Hopper minecart
+
  | East
|-
 
| 6
 
| Command Block minecart
 
 
  |}
 
  |}
 +
You have to set both Orientation and Yaw/Pitch accordingly, otherwise it will not work.
  
=== Item Frame (id 71) ===
+
Velocity in the packet is always ignored.
  
{| class="wikitable"
+
== Falling Block ==
|-
 
! Field name
 
! Field type
 
! Example
 
! Notes
 
|-
 
| Orientation
 
| Int
 
| <code>3</code>
 
| 0–3: South, West, North, East
 
|}
 
 
 
=== Falling Block (id 70) ===
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 78: Line 36:
 
  ! Field name
 
  ! Field name
 
  ! Field type
 
  ! Field type
! Example
 
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  | Block type
+
  | Block state ID
 
  | Int
 
  | Int
  | <code>12</code>
+
  | ID of the block state that the falling block will represent.
| <code>BlockID | (Metadata << 0x10)</code>
 
 
  |}
 
  |}
  
=== Splash Potions (id 73) ===
+
Velocity in the packet is always ignored.
  
{| class="wikitable"
+
== Fishing Float ==
|-
 
! Field name
 
! Field type
 
! Example
 
! Notes
 
|-
 
| Entity ID
 
| Int
 
| <code>64</code>
 
| Potion data value
 
|}
 
 
 
For more information on potion data values, see {{Minecraft Wiki|Data values#Potions}}.
 
 
 
=== Fishing Float (id 90) ===
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
  ! Field name
 
  ! Field name
 
  ! Field type
 
  ! Field type
! Example
 
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
 
  | Owner
 
  | Owner
 
  | Int
 
  | Int
|
 
 
  | The entity ID of the owner
 
  | The entity ID of the owner
 
  |}
 
  |}
  
=== Projectiles ([[Entities#Objects|Any projectile]]) ===
+
Velocity in the packet is ignored, and instead should be inferred from the shooter's position.
 +
 
 +
{{Need Info|What's the exact algorithm for determining this?}}
  
This includes ghast fireballs, arrows, and fishhooks (probably more).
+
== Projectile ==
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 126: Line 67:
 
  ! Field name
 
  ! Field name
 
  ! Field type
 
  ! Field type
! Example
 
 
  ! Notes
 
  ! Notes
 
  |-
 
  |-
  | Entity ID
+
  | Owner ID
 
  | Int
 
  | Int
| <code>64</code>
+
  | The entity ID of the owner
  | The entity ID of the thrower
 
 
  |}
 
  |}
 +
 +
[[Category:Protocol Details]]
 +
[[Category:Minecraft Modern]]

Latest revision as of 11:02, 13 November 2021

This article documents the Data field in the Spawn Entity packet. The field is of type Int, and the meaning of its contents depend on the type of entity being spawned, as defined in the Type field of the same packet, and is documented below.

Item Frame

Value Orientation
0 Down
1 Up
2 North
3 South
4 West
5 East

You have to set both Orientation and Yaw/Pitch accordingly, otherwise it will not work.

Velocity in the packet is always ignored.

Falling Block

Field name Field type Notes
Block state ID Int ID of the block state that the falling block will represent.

Velocity in the packet is always ignored.

Fishing Float

Field name Field type Notes
Owner Int The entity ID of the owner

Velocity in the packet is ignored, and instead should be inferred from the shooter's position.

Huh.png The following information needs to be added to this page:
What's the exact algorithm for determining this?

Projectile

Field name Field type Notes
Owner ID Int The entity ID of the owner