Entity

This article is about the moving objects. For the extra data stored in some blocks, see block entity.
The size of six entities (a chicken, a player, an evoker, a camel, a warden, and an oak boat) relative to four blocks

Entities include all dynamic, moving objects throughout the Minecraft world.

General behavior

Properties all or most entities have are:

  • A position, rotation, and velocity
  • A volume consisting of one or more non-rotating, three-dimensional boxes with a fixed height and width
  • The ability to be on fire, displayed as flames on or around the entity
  • The ability to have a status effect, such as from potions
  • A view point, even if it has no eyes

Most entities can be pushed around by water currents, and some can have their trajectory altered by explosions if already traveling at speed. Some entities can be renamed by using a name tag on them.

Most entities have a health status, including mobs, players, armor stands, boats, boat with chests and minecarts. Moving blocks, items, shot or thrown projectiles, area effect clouds, and experience orbs do not have health.

Entities cannot pass through solid blocks, excluding vexes, ender dragons, and ender pearls. Most types of entities prevent blocks from being placed in the space they occupy, except for dropped items and experience orbs, which are automatically pushed out of the block to open air. If a solid block enters an entity's space, such as falling sand or a swinging door, then it is free to move out of the solid block but not back in. For example, if a door is closed on the player, player can jump up and stand on top of the bottom-half door block, if there is air above the door.

Entities are lit according to the light level of the block their position is in. For example, if a minecart runs over a non-straight track directly into a solid block, it turns black because solid blocks always have a light level of 0; arrows are also sometimes seen to turn black, especially if fired shallowly into the ceiling.

Immovable entities

Item frames, glow item frames, paintings, and leash knots, unlike most entities, align to the block grid, and are completely immobile.

Boats and minecarts

See also: Transportation (contains information about speed)

Boats, boats with chests and minecarts appear to recover health over time. For example, they can be broken by hitting them quickly, but cannot be destroyed by hits with unarmed hand with a pause after each hit. The amount of wobbling displayed by boats and minecarts when struck appears to indicate their current health. All minecart, boat and boat with chest variants have 6HP❤️❤️❤️.

Gravity-affected blocks

Main article: Falling Block
Sand that collapsed into a monster room. Before landing, each sand block would have been an entity.

Gravity-affected blocks include sand, gravel, anvils, red sand, dragon eggs, concrete powder, scaffolding, and pointed dripstone, along with snow layers in Bedrock Edition.

A gravity-affected block normally exists as a block, but when its support is removed, it becomes a falling block entity and falls down until hitting the top surface of another block. If there is valid space, it places itself as a block at the nearest on-grid position, or drops as an item if that position is occupied by a block without a solid top surface, such as a torch or a bottom slab.

While a falling block ordinarily falls straight down, its trajectory can be affected by explosions, bubble columns, pistons, reeling it in, and moving slime blocks, and can slide down the side of honey blocks. It is also possible to modify the velocity and direction of a falling block by using commands such as /data[Java Edition only] or third-party programs. A falling block despawns and drops as an item if it does not land after existing for 600 ticks (30 seconds), or 100 ticks (5 seconds) if falling into the void[verify].

If a cave generates underneath sand, gravel, or red sand, the blocks remain stationary until they receive a block update. If a single block is updated and falls down, neighboring blocks are updated in a chain reaction that can cause the collapse of an entire region of gravity-affected blocks.

Interactions with "use" control

Entities with use interactions (such as boats, boat with chests, minecarts, cats, villagers, tamed parrots, and tamed wolves) do not stop the use action of a tool the player is holding. For example, using a water bucket on a tamed wolf causes the wolf to sit, but also empties the bucket near or onto the wolf.

Riding

A spider jockey.

Entities can ride on, or be attached to, other entities. When this is the case, only the lower/"outer" entity's volume collides with other things, and only that entity can control movement.‌[Java Edition only] However, there are exceptions: players riding minecarts, boats, boats with chests, saddled horses, a happy ghast, a nautilus, a donkey, a mule, a camel, or baby zombies riding chickens, or skeletons riding horses or boats.

The only current legitimate combinations of riding entities are:

A parrot perched on player's shoulder isn't considered as riding.

It is possible to have even more levels, such as a baby piglin on another baby piglin who is riding a hoglin in a minecart in a boat.

Entities can also be stacked on top of each other with the use of the /summon and /data commands in Java Edition. For example, using /summon spider ~ ~ ~ {Passengers:[{id:skeleton}]} summons a spider jockey, or using /ride in Bedrock Edition.

If an entity is riding another entity, the top entity cannot teleport because as soon as the teleport is made, the entity is teleported back to riding the other entity.‌[Java Edition only]

Starting from the Nether Update, entities that are riders or passengers of other entities cannot despawn.[verify][Java Edition only]

Types of entities

The table below lists types of entities that currently exist in Minecraft.

Entities listed as "solid" obstruct the passage of other entities.

Type Solid Health Living entity
Player[note 1] Yes 20HP❤️ × 10 (Varies with attributes) Yes
Mob Yes Varies Yes
Armor Stand[note 1] No 20HP❤️ × 10 Yes
Mannequin[JE only] No[verify] 20HP❤️ × 10 Yes
Arrow Yes (to boats and minecarts) No
Balloon[edu & BE only] Yes No
Block display[JE only] No No
Boat Yes 6HP❤️❤️❤️
Recovers health quickly over time.
No
Boat with Chest Yes 6HP❤️❤️❤️
Recovers health quickly over time.
No
Egg Yes No
End Crystal No 5HP❤️❤️💔 No
Ender Pearl Yes No
Evoker Fangs No No
Eye of Ender No No
Experience Orb No 5HP❤️❤️💔 No
Falling Block No No
Fishing Bobber Yes (to boats and minecarts) No
Fireball
Small Fireball
Wither skull
Dragon Fireball
Yes No
Firework Rocket No No
Ice Bomb[edu & BE only] Yes No
Interaction[JE only] No No
Item Yes (to boats and minecarts) 5HP❤️❤️💔 No
Item display[JE only] No No
Item frame[JE only] No No
Lightning Bolt No No
Leash Knot No No
Llama Spit Yes No
Location Pointer Idle‌[BE only][note 2] No No
Location Pointer Selected‌[BE only][note 2] No No
Map Marker‌[BE only][note 2] No No
Marker[JE only] No No
EntitySprite minecart.png: Sprite image for minecart in Minecraft
Minecart
Yes (to other entities) 6HP❤️❤️❤️
Recovers health quickly over time.
No
EntitySprite minecart-with-chest.png: Sprite image for minecart-with-chest in Minecraft
Minecart with chest
Yes (to other entities) 6HP❤️❤️❤️
Recovers health quickly over time.
No
EntitySprite minecart-with-command-block.png: Sprite image for minecart-with-command-block in Minecraft
Minecart with command block
Yes (to other entities) 6HP❤️❤️❤️
Recovers health quickly over time.
No
EntitySprite minecart-with-furnace.png: Sprite image for minecart-with-furnace in Minecraft
Minecart with furnace[JE only]
Yes (to other entities) 6HP❤️❤️❤️
Recovers health quickly over time.
No
EntitySprite minecart-with-hopper.png: Sprite image for minecart-with-hopper in Minecraft
Minecart with hopper
Yes (to other entities) 6HP❤️❤️❤️
Recovers health quickly over time.
No
EntitySprite minecart-with-monster-spawner.png: Sprite image for minecart-with-monster-spawner in Minecraft
Minecart with monster spawner[JE only]
Yes (to other entities) 6HP❤️❤️❤️
Recovers health quickly over time.
No
EntitySprite minecart-with-tnt.png: Sprite image for minecart-with-tnt in Minecraft
Minecart with TNT
Yes (to other entities) 6HP❤️❤️❤️
Recovers health quickly over time.
No
Painting No No
Ruler‌[BE only][note 2] No No
Ruler Idle‌[BE only][note 2] No No
BlockSprite tnt.png: Sprite image for tnt in Minecraft Primed TNT No No
Text display[JE only] No No
Shulker Bullet Yes No
Snowball Yes No
Trident Yes No
Wind Charge Yes No

Motion

"Gravity" redirects here. For the Minecraft Dungeons enchantment, see MCD:Gravity.

Gravity works differently in Minecraft than the real world, as not everything is subject to the same acceleration. Additionally, there is a drag force proportional to velocity, again dependent on the entity.

This is a GitHub repository with some in-depth explanation about the topic.

In general, entities perform 3 operations to calculate movement each tick:

  • Apply acceleration: Add acceleration to the current velocity (for most entities, the only acceleration is gravity),
  • Apply drag: Multiply the current velocity by a drag coefficient (which may be different for the horizontal and vertical components),
  • Update position: Add the current velocity to the current position.

Different entities perform these operations in different orders within the tick, which changes their behavior. For example, a living entity in the air is described by the following code each tick:

// Update position
position.x += velocity.x;
position.y += velocity.y;
position.z += velocity.z;

// Update acceleration
velocity.y -= 0.08D;

// Update drag
velocity.x *= 0.91F;
velocity.y *= 0.98F;
velocity.z *= 0.91F;

Just substituting the correct values for acceleration and drag and ordering the three operations correctly is enough to exactly simulate any entity listed below. Note that different entities sometimes use different floating point precision for these values: either single precision (float) or double precision (double). Since rounding errors accumulate each tick, the precision can make a noticeable difference in their behavior (especially when they are moving fast).


Kind Ticking order Gravity[note 3]

(m/tick/tick)

Drag

(vertical)

Drag

(horizontal)

Terminal velocity

(m/tick)[note 4]

Terminal velocity

(m/s)

Maximum horizontal travel distance

(m/(m/s))[note 5]

EntitySprite player.png: Sprite image for player in Minecraft EnvSprite mob.png: Sprite image for mob in Minecraft EntitySprite armor-stand.png: Sprite image for armor-stand in Minecraft Players and other living entities Position, Acceleration, Drag -0.08 (double) 0.98 (float) 0.91 (float)[note 6] 3.92 78.4 11.111
Players/mobs with Slow Falling -0.01 (double)


0.49 9.80 11.111
EntitySprite sand.png: Sprite image for sand in Minecraft EntitySprite tnt.png: Sprite image for tnt in Minecraft Falling blocks and TNT Acceleration, Position, Drag -0.04 (double) 0.98 (double) 1.96 39.2 50
Items -0.04 (double) 0.98 (double) 0.98 (float) 1.96 39.2 50
Experience orbs -0.03 (double) 0.98 (float) 1.47 29.4 50
Minecarts[note 7] -0.04 (double) 0.95 (double) 0.76 15.2 20
EntitySprite fishing-hook.png: Sprite image for fishing-hook in Minecraft Thrown fishing bobbers -0.03 (double) 0.92 (double) 0.345 6.90 12.5
ItemSprite oak-boat.png: Sprite image for oak-boat in Minecraft ItemSprite oak-boat-with-chest.png: Sprite image for oak-boat-with-chest in Minecraft Boats and chest boats Acceleration, Drag, Position -0.04 (double) N/A[note 8] 0.90 (float)‌[JE only]/

N/A‌[BE only]

9
EntitySprite egg.png: Sprite image for egg in Minecraft EntitySprite snowball.png: Sprite image for snowball in Minecraft EntitySprite ender-pearl.png: Sprite image for ender-pearl in Minecraft Thrown eggs, snowballs, and ender pearls Acceleration, Drag, Position[note 9] -0.03 (double) 0.99 (float) 0.99 (float) 2.97 59.4 99
EntitySprite splash-potion.png: Sprite image for splash-potion in Minecraft Thrown potions -0.05 (double)


4.95 99.0
EntitySprite bottle-o'-enchanting.png: Sprite image for bottle-o'-enchanting in Minecraft Thrown bottles o' enchanting -0.07 (double)


6.93 138.6
EntitySprite fireball.png: Sprite image for fireball in Minecraft EntitySprite wither-skull.png: Sprite image for wither-skull in Minecraft EntitySprite dragon-fireball.png: Sprite image for dragon-fireball in Minecraft Fireballs, small fireballs, wither skulls, and dragon fireballs Acceleration, Drag, Position 0.10 (double)[note 3] 0.95 (float) 1.90 38.0 19
Dangerous wither skulls 0.10 (double)[note 3] 0.73 (float) 0.2703703 5.407407 2.703703
Wind charges 0.10 (double)[note 3] N/A[note 8]
Llama Spit Position, Drag, Acceleration -0.06 (double) 0.99 (float) 6.00 120.0 100
EntitySprite arrow.png: Sprite image for arrow in Minecraft EntitySprite trident.png: Sprite image for trident in Minecraft Fired arrows, and thrown tridents -0.05 (double) 0.99 (float) 5.00 100.0 100
  1. a b In Bedrock Edition, these entities are under the mob category.
  2. a b c d e Only available in Bedrock Editor.
  3. a b c d Explosive projectiles and wind charges are not affected by gravity but instead get acceleration from getting damaged.
  4. Terminal velocity is given by acceleration1drag if drag is before acceleration and drag × acceleration1drag otherwise.
  5. For axes with no acceleration, maximum travel distance is given by initialVelocity1drag if position is before drag and drag × initialVelocity1drag otherwise. Table values are the number that, when multiplied by the initial velocity, gives the maximum travel distance.
  6. Players, mobs and armor stands whose OnGround property is set to 1 have a horizontal drag coefficient of 0.91×friction. Friction is 0.6 by default, 0.8 for Slime Blocks, 0.98 for Ice, Packed Ice and Frosted Ice, and 0.989 for Blue Ice.
  7. Minecarts have a maximum horizontal velocity of 0.4. Any greater value is reset to that number before updating the position.
  8. a b For boats and wind charges, the order between acceleration and drag doesn't matter: Boats have no vertical drag, and wind charges have no drag at all.
  9. The order of throwable projectiles was changed in Java Edition 1.21.2, from "Position, Drag, Acceleration" to "Acceleration, Drag, Position".

Formulas

It can be useful to have a closed-form formula for and entity's position and velocity. These are not exact like a program would be, because the in-game movement is subject to floating-point rounding errors and mathematical formulas are not. A detailed explanation of how these formulas were derived can be found here.

Velocity

Applying an initial velocity initialVelocity on an entity, the entity's velocity after travelling for a number of ticks ticksPassed can be given by the formulas:

Drag applied before acceleration:
  • finalVelocity=dragticksPassed×(initialVelocityacceleration1drag)+acceleration1drag
Drag applied after acceleration [note 1]:
  • finalVelocity=dragticksPassed×(initialVelocitydrag × acceleration1drag)+drag × acceleration1drag

Initial velocity and acceleration should be interpreted as vectors, and drag as a diagonal matrix. This means that the formulas work for each X, Y, and Z component separately if drag, initialVelocity, and acceleration are replaced with their corresponding X, Y, or Z components.

Position

Here d is drag, a is acceleration, t is ticksPassed, and v0 is initialVelocity. Then an entity starting at initialPosition will end at a finalPosition given by:

Position, Drag, Acceleration:
  • finalPosition=initialPosition+1dt1d(v011da)+t1da
Position, Acceleration, Drag:
  • finalPosition=initialPosition+1dt1d(v0d1da)+dt1da
Acceleration, Position, Drag:
  • finalPosition=initialPosition+1dt1d(v0d1da)+t1da
Drag, Acceleration, Position:
  • finalPosition=initialPosition+d(1dt)1d(v011da)+t1da
Drag, Position, Acceleration[note 2]:
  • finalPosition=initialPosition+d(1dt)1d(v011da)+dt1da
Acceleration, Drag, Position:
  • finalPosition=initialPosition+d(1dt)1d(v0d1da)+dt1da

Like before, initial position, initial velocity and acceleration should be treated as vectors and drag as a diagonal matrix.

  1. For entities where the acceleration is applied before drag, the effective acceleration is the acceleration scaled by the drag coefficient; this is why their terminal velocities aren't whole numbers while the others are.
  2. No entity has "Drag, Position, Acceleration" order but the formula is included for completeness.

Calculator

  1. a b Yaw and pitch follow the Minecraft's convention, thus zero yaw is directed at +Z (south) and looking upwards corresponds to negative values of pitch.

Data values

Java Edition

  • [NBT Compound / JSON Object]: Root tag.
    • Tags common to all entities see Template:Nbt inherit/entity/template

Bedrock Edition

Video

History

This section is missing information about:
  • early history
  • when in Java Edition were entities given a dedicated folder in worlds?
 
Please expand the section to include this information. Further details may exist on the talk page.

Java Edition

?Added entities.
Java Edition Infdev
20100227-1414Removed entities.
20100316Reimplemented entities.
Java Edition
1.1?Players cannot interact with entities from far away in Creative mode.
1.4.212w34aEntities can now use portals.
1.915w31aProjectile motion has now been changed slightly.[2]
15w36aPlayers can now be pushed by other entities (exceptions being items and experience orbs).
15w45aEntities bunched up in a 1×1 hole together no longer push away entities touching adjacent corners.
15w49aProjectiles now take the thrower's momentum into account when the player is falling, flying with elytra, or taking knockback; but not when the player is walking, riding an entity, or flying in Creative mode.
1.1116w32aEntity IDs have now been changed to have underscores and no capital letters. They can also be used by typing minecraft: before the IDs, similar to block IDs.
The ID for mobs (Mob), and monsters (Monster) have now been removed.
1.21.224w39aThrown projectiles now tick in gravity-drag-position order.
1.21.625w19aProjectiles now have a target tolerance margin that changes over time.

Bedrock Edition

Pocket Edition Alpha
?The insides of mobs no longer render.
Bedrock Edition
?The insides of mobs now render again.
1.21.90Preview 1.21.90.26Projectiles now have a target tolerance margin that changes over time.

Legacy Console Edition

Legacy Console Edition
Xbox 360Xbox OnePS3PS4PS VitaWii USwitch
TU1CU11.001.001.00Patch 11.0.1Added entities.
TU19CU71.121.121.12Entities can now use portals.
TU46CU361.381.381.38Patch 15Projectiles now take the thrower's momentum into account.
TU54CU441.521.521.52Patch 241.0.4Players can now be pushed by other entities (exceptions being items, experience orbs and other players).

Trivia

  • When a entity is moving away from its block radius, the solid block can be placed but it does not emit a place sound effect or the player's placing animation.‌[Java Edition only]
    • in Bedrock Edition however, the block place sound effect can be played and emitted and the player's placing animation plays but it does not when using a controller or keyboard and mouse connection.

Issues

Issues relating to "Entity" are maintained on the bug tracker. Issues should be reported and viewed there.

See also

  • Block entity – unlike the entities mentioned above, these are simply blocks that store additional data.

References

Navigation