Entities: Difference between revisions
imported>Xoft (→Objects: Added fireball and firecharge) |
imported>Xoft (→Objects: Added all sizes as of Release 1.6.2) |
||
| Line 220: | Line 220: | ||
| 63 | | 63 | ||
| FireBall (ghast projectile) | | FireBall (ghast projectile) | ||
| | | 1.0 | ||
| | | 1.0 | ||
|- | |- | ||
| 64 | | 64 | ||
| FireCharge (blaze projectile) | | FireCharge (blaze projectile) | ||
| | | 0.3125 | ||
| | | 0.3125 | ||
|- | |- | ||
| 65 | | 65 | ||
| Thrown Enderpearl | | Thrown Enderpearl | ||
| | | 0.25 | ||
| | | 0.25 | ||
|- | |- | ||
| 66 | | 66 | ||
| Wither Skull (projectile) | | Wither Skull (projectile) | ||
| | | 0.3125 | ||
| | | 0.3125 | ||
|- | |- | ||
| 70 | | 70 | ||
| Line 245: | Line 245: | ||
| 71 | | 71 | ||
| Item frames | | Item frames | ||
| | | varies | ||
| | | varies | ||
|- | |- | ||
| 72 | | 72 | ||
| Eye of Ender | | Eye of Ender | ||
| | | 0.25 | ||
| | | 0.25 | ||
|- | |- | ||
| 73 | | 73 | ||
| Thrown Potion | | Thrown Potion | ||
| | | 0.25 | ||
| | | 0.25 | ||
|- | |- | ||
| 74 | | 74 | ||
| Line 265: | Line 265: | ||
| 75 | | 75 | ||
| Thrown Exp Bottle | | Thrown Exp Bottle | ||
| | | 0.25 | ||
| | | 0.25 | ||
|- | |- | ||
| 90 | | 90 | ||
| Fishing Float | | Fishing Float | ||
| 0.25 | | 0.25 | ||
| 0.25 | | 0.25 | ||
|} | |} | ||
Revision as of 15:52, 7 September 2013
Mobs
Mobs are spawned via 0x18 Mob Spawn
| Type | Name | x, z | y |
|---|---|---|---|
| 50 | Creeper | 0.6 | 1.8 |
| 51 | Skeleton | 0.6 | 1.8 |
| 52 | Spider | 1.4 | 0.9 |
| 53 | Giant Zombie | 3.6 | 10.8 |
| 54 | Zombie | 0.6 | 1.8 |
| 55 | Slime | 0.6 * size | 0.6 * size |
| 56 | Ghast | 4 | 4 |
| 57 | Zombie Pigman | 0.6 | 1.8 |
| 58 | Enderman | ||
| 59 | Cave Spider | ||
| 60 | Silverfish | ||
| 61 | Blaze | ||
| 62 | Magma Cube | 0.6 * size | 0.6 * size |
| 63 | Ender Dragon | ||
| 64 | Wither | ||
| 65 | Bat | ||
| 66 | Witch | ||
| 90 | Pig | 0.9 | 0.9 |
| 91 | Sheep | 0.6 | 1.3 |
| 92 | Cow | 0.9 | 1.3 |
| 93 | Chicken | 0.3 | 0.4 |
| 94 | Squid | 0.95 | 0.95 |
| 95 | Wolf | 0.6 | 1.8 |
| 96 | Mooshroom | ||
| 97 | Snowman | ||
| 98 | Ocelot | ||
| 99 | Iron Golem | ||
| 100 | Horse | ||
| 120 | Villager |
Objects
Objects are spawned via 0x17 Spawn Object/Vehicle. See Object Data for more details.
| ID | Name | x, z | y |
|---|---|---|---|
| 1 | Boat | 1.5 | 0.6 |
| 2 | Item Stack (Slot) | 0.5 | 0.5 |
| 10 | Minecart | 0.98 | 0.7 |
| 11 | Minecart (storage) | 0.98 | 0.7 |
| 12 | Minecart (powered) | 0.98 | 0.7 |
| 50 | Activated TNT | 0.98 | 0.98 |
| 51 | EnderCrystal | 1.25? | 2.25? |
| 60 | Arrow (projectile) | 0.5 | 0.5 |
| 61 | Snowball (projectile) | 0.25 | 0.25 |
| 62 | Egg (projectile) | 0.25 | 0.25 |
| 63 | FireBall (ghast projectile) | 1.0 | 1.0 |
| 64 | FireCharge (blaze projectile) | 0.3125 | 0.3125 |
| 65 | Thrown Enderpearl | 0.25 | 0.25 |
| 66 | Wither Skull (projectile) | 0.3125 | 0.3125 |
| 70 | Falling Objects | 0.98 | 0.98 |
| 71 | Item frames | varies | varies |
| 72 | Eye of Ender | 0.25 | 0.25 |
| 73 | Thrown Potion | 0.25 | 0.25 |
| 74 | Falling Dragon Egg | 0.98 | 0.98 |
| 75 | Thrown Exp Bottle | 0.25 | 0.25 |
| 90 | Fishing Float | 0.25 | 0.25 |
Entity Metadata
Entity Metadata Format
Note that entity metadata is a totally distinct concept from block metadata. All entities must send at least one item of metadata, in most cases this will be the health item.
The entity metadata format is quirky dictionary format, where the key and the value's type are packed in a single byte.
To parse, repeat the following procedure:
- Read an unsigned byte
- If this byte == 127, stop reading
- Decompose the byte.
The bottom 5 bits (0x1F) serve as an identifier (key) for the data to follow.
The top 3 bits (0xE0) serve as a type. - Read and unpack based on the type (below)
| Type | Meaning |
|---|---|
| 0 | Byte |
| 1 | Short |
| 2 | Int |
| 3 | Float |
| 4 | String16 |
| 5 | Slot |
| 6* | Int, Int, Int (x, y, z) |
*Not currently used
In C-like psuedocode:
<source lang="c">
do {
item = readByte();
if (item == 0x7F) break;
var index = item & 0x1F;
var type = item >> 5;
if (type == 0) metadata[index] = readByte();
if (type == 1) metadata[index] = readShort();
if (type == 2) metadata[index] = readInt();
if (type == 3) metadata[index] = readFloat();
if (type == 4) metadata[index] = readString16();
if (type == 5) metadata[index] = readSlot();
if (type == 6) {
var vector;
vector.x = readInt();
vector.y = readInt();
vector.z = readInt();
metadata[index] = vector;
}
} while (true); </source>
Entity
| Index | Type | Meaning | |
|---|---|---|---|
| 0 | Byte | Bit Mask | Meaning |
| 0x01 | On Fire | ||
| 0x02 | Crouched | ||
| 0x08 | Sprinting | ||
| 0x10 | Eating/Drinking/Blocking | ||
| 0x20 | Invisible | ||
| 1 | Short | Air | |
Living Entity
Extends Entity
| Index | Type | Meaning |
|---|---|---|
| 6 | Float | Health |
| 7 | Int | Potion Effect Color |
| 8 | Byte | Is Potion Effect Ambient |
| 9 | Byte | Number of Arrows in Entity |
| 10 | String | Name Tag |
| 11 | Byte | Always Show Name Tag |
Ageable
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 12 | Int | Entity's Age (Negative = Child) |
Horse
Extends Ageable
| Index | Type | Meaning | ||
|---|---|---|---|---|
| 16 | Int | Bit Mask | Meaning | |
| 0x02 | Is Tame | |||
| 0x04 | Has Saddle | |||
| 0x08 | Has Chest | |||
| 0x10 | Is bred | |||
| 0x20 | Is Eating | |||
| 0x40 | Is Rearing | |||
| 0x80 | Mouth Open | |||
| 19 | Byte | Value | Type | |
| 0 | Horse | |||
| 1 | Donkey | |||
| 2 | Mule | |||
| 3 | Zombie | |||
| 4 | Skeleton | |||
| 20 | Int | Bit Mask | Meaning | |
| 0x00FF | Value | Color | ||
| 0 | White | |||
| 1 | Creamy | |||
| 2 | Chestnut | |||
| 3 | Brown | |||
| 4 | Black | |||
| 5 | Gray | |||
| 6 | Dark Down | |||
| 0xFF00 | Value | Style | ||
| 0 | None | |||
| 1 | White | |||
| 2 | Whitefield | |||
| 3 | White Dots | |||
| 4 | Black Dots | |||
| 21 | String | Owner Name | ||
| 22 | Int | Value | Type | |
| 0 | No Armor | |||
| 1 | Iron Armor | |||
| 2 | Gold Armor | |||
| 3 | Diamond Armor | |||
Bat
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Is Hanging |
Tameable
Extends Ageable
| Index | Type | Meaning | |
|---|---|---|---|
| 16 | Byte | Bit Mask | Meaning |
| 0x01 | Is Sitting | ||
| 0x04 | Is Tame | ||
| 17 | String | Owner Name | |
Ocelot
Extends Tameable
| Index | Type | Meaning |
|---|---|---|
| 18 | Byte | Ocelot Type |
Wolf
Extends Tameable
| Index | Type | Meaning | |
|---|---|---|---|
| 16 | Byte | Bit Mask | Meaning |
| Flags from Tameable | |||
| 0x02 | Is Angry | ||
| 18 | Float | Health | |
| 19 | Byte | Begging | |
| 20 | Byte | Collar Color | |
Pig
Extends Ageable
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Has Saddle |
Sheep
Extends Ageable
| Index | Type | Meaning | ||
|---|---|---|---|---|
| 16 | Byte | Bit Mask | Meaning | |
| 0x0F | Value | Color | ||
| 0 | White | |||
| 1 | Orange | |||
| 2 | Magenta | |||
| 3 | Light Blue | |||
| 4 | Yellow | |||
| 5 | Lime | |||
| 6 | Pink | |||
| 7 | Gray | |||
| 8 | Silver | |||
| 9 | Cyan | |||
| 10 | Purple | |||
| 11 | Blue | |||
| 12 | Brown | |||
| 13 | Green | |||
| 14 | Red | |||
| 15 | Black | |||
| 0x10 | Is Sheared | |||
Villager
Extends Ageable
| Index | Type | Meaning | |
|---|---|---|---|
| 16 | Int | Value | Profession |
| 0 | Farmer | ||
| 1 | Librarian | ||
| 2 | Priest | ||
| 3 | Blacksmith | ||
| 4 | Butcher | ||
Enderman
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Carried Block |
| 17 | Byte | Carried Block Data |
| 18 | Byte | Is Screaming |
Zombie
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 12 | Byte | Is Child |
| 13 | Byte | Is Villager |
| 14 | Byte | Is Converting |
Zombie Pigman
Extends Zombie
Blaze
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | On Fire |
Spider
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Climbing |
Cave Spider
Extends Spider
Creeper
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | State (-1 = Idle, 1 = Fuse) |
| 17 | Byte | Is Powered |
Ghast
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Is Attacking |
Slime
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Size |
Magma Cube
Extends Slime
Skeleton
Extends Living Entity
| Index | Type | Meaning | |
|---|---|---|---|
| 13 | Byte | Value | Meaning |
| 0 | Normal | ||
| 1 | Wither | ||
Witch
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 21 | Byte | Is Agressive |
Iron Golem
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Is Player Created |
Wither
Extends Living Entity
| Index | Type | Meaning |
|---|---|---|
| 17 | Int | Watched Target |
| 18 | Int | Watched Target |
| 19 | Int | Watched Target |
| 20 | Int | Invulnerable Time |
Boat
Extends Entity
| Index | Type | Meaning |
|---|---|---|
| 17 | Int | Time Since Hit |
| 18 | Int | Forward Direction |
| 19 | Float | Damage Taken |
Minecart
Extends Entity
| Index | Type | Meaning | |
|---|---|---|---|
| 17 | Int | Shaking Power | |
| 18 | Int | Shaking Direction | |
| 19 | Float | Damage Taken | |
| 20 | Int | Bit Mask | Meaning |
| 0x00FF | Block Id | ||
| 0xFF00 | Block Data | ||
| 21 | Int | Block Y Position | |
| 22 | Byte | Show Block | |
Furnace Minecart
Extends Minecart
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Is Powered |
Item
Extends Entity
| Index | Type | Meaning |
|---|---|---|
| 10 | Slot | Item |
Arrow
Extends Entity
| Index | Type | Meaning |
|---|---|---|
| 16 | Byte | Is Critical |
Firework
Extends Entity
| Index | Type | Meaning |
|---|---|---|
| 8 | Slot | Firework Info |
Item Frame
Extends Entity
| Index | Type | Meaning |
|---|---|---|
| 2 | Slot | Item |
| 3 | Byte | Rotation |
Ender Crystal
Extends Entity
| Index | Type | Meaning |
|---|---|---|
| 8 | Int | Health |