Class: Entity
Represents the state of an entity (a mob, the player, or other moving objects like minecarts) in the world.
Extended by
Constructors
new Entity()
private
new Entity():Entity
Returns
Properties
dimension
readonly
dimension:Dimension
Remarks
Dimension that the entity is currently within.
Throws
This property can throw when used.
fallDistance
Beta
readonly
fallDistance:number
Remarks
The distance an entity has fallen. The value is reset when the entity is teleported. The value is always 1 when gliding with Elytra.
Throws
This property can throw when used.
id
readonly
id:string
Remarks
Unique identifier of the entity. This identifier is intended to be consistent across loads of a world instance. No meaning should be inferred from the value and structure of this unique identifier - do not parse or interpret it. This property is accessible even if Entity.isValid is false.
isClimbing
readonly
isClimbing:boolean
Remarks
Whether the entity is touching a climbable block. For example, a player next to a ladder or a spider next to a stone wall.
Throws
This property can throw when used.
isFalling
readonly
isFalling:boolean
Remarks
Whether the entity has a fall distance greater than 0, or greater than 1 while gliding.
Throws
This property can throw when used.
isInWater
readonly
isInWater:boolean
Remarks
Whether any part of the entity is inside a water block.
Throws
This property can throw when used.
isOnGround
readonly
isOnGround:boolean
Remarks
Whether the entity is on top of a solid block. This property may behave in unexpected ways. This property will always be true when an Entity is first spawned, and if the Entity has no gravity this property may be incorrect.
Throws
This property can throw when used.
isSleeping
readonly
isSleeping:boolean
Remarks
If true, the entity is currently sleeping.
Throws
This property can throw when used.
isSneaking
isSneaking:
boolean
Remarks
Whether the entity is sneaking - that is, moving more slowly and more quietly.
This property can't be edited in read-only mode.
isSprinting
readonly
isSprinting:boolean
Remarks
Whether the entity is sprinting. For example, a player using the sprint action, an ocelot running away or a pig boosting with Carrot on a Stick.
Throws
This property can throw when used.
isSwimming
readonly
isSwimming:boolean
Remarks
Whether the entity is in the swimming state. For example, a player using the swim action or a fish in water.
Throws
This property can throw when used.
lifetimeState
Beta
readonly
lifetimeState:EntityLifetimeState
Remarks
Whether the entity reference that you have is valid or not. For example, an entity may be unloaded if it moves into a chunk that is unloaded, but may be reactivated if the chunk it is within gets reloaded.
location
readonly
location:Vector3
Remarks
Current location of the entity.
Throws
This property can throw when used.
nameTag
nameTag:
string
Remarks
Given name of the entity.
This property can't be edited in read-only mode.
scoreboardIdentity?
optional
readonly
scoreboardIdentity:ScoreboardIdentity
Remarks
Returns a scoreboard identity that represents this entity. Will remain valid when the entity is killed.
target?
Beta
optional
readonly
target:Entity
Remarks
Retrieves or sets an entity that is used as the target of AI-related behaviors, like attacking. If the entity currently has no target returns undefined.
Throws
This property can throw when used.
typeId
readonly
typeId:string
Remarks
Identifier of the type of the entity - for example, 'minecraft:skeleton'. This property is accessible even if Entity.isValid is false.
Methods
addEffect()
addEffect(
effectType
,duration
,options
?):Effect
Parameters
Parameter | Type | Description |
---|---|---|
effectType | string | EffectType | Type of effect to add to the entity. |
duration | number | Amount of time, in ticks, for the effect to apply. There are 20 ticks per second. Use TicksPerSecond constant to convert between ticks and seconds. The value must be within the range [0, 20000000]. |
options ? | EntityEffectOptions | Additional options for the effect. |
Returns
Returns nothing if the effect was added or updated successfully. This can throw an error if the duration or amplifier are outside of the valid ranges, or if the effect does not exist.
Remarks
Adds or updates an effect, like poison, to the entity.
This function can't be called in read-only mode.
Throws
This function can throw errors.
Examples
// Spawns a villager and gives it the poison effect
import {
DimensionLocation,
} from '@minecraft/server';
import { MinecraftEffectTypes } from '@minecraft/vanilla-data';
function spawnPoisonedVillager(location: DimensionLocation) {
const villagerType = 'minecraft:villager_v2<minecraft:ageable_grow_up>';
const villager = location.dimension.spawnEntity(villagerType, location);
const duration = 20;
villager.addEffect(MinecraftEffectTypes.Poison, duration, { amplifier: 1 });
}
// Spawns a fox over a dog
import { DimensionLocation } from '@minecraft/server';
import { MinecraftEntityTypes } from '@minecraft/vanilla-data';
function spawnAdultHorse(location: DimensionLocation) {
// Create fox (our quick brown fox)
const fox = location.dimension.spawnEntity(MinecraftEntityTypes.Fox, {
x: location.x,
y: location.y + 2,
z: location.z,
});
fox.addEffect('speed', 10, {
amplifier: 2,
});
// Create wolf (our lazy dog)
const wolf = location.dimension.spawnEntity(MinecraftEntityTypes.Wolf, location);
wolf.addEffect('slowness', 10, {
amplifier: 2,
});
wolf.isSneaking = true;
}
addTag()
addTag(
tag
):boolean
Parameters
Parameter | Type | Description |
---|---|---|
tag | string | Content of the tag to add. The tag must be less than 256 characters. |
Returns
boolean
Returns true if the tag was added successfully. This can fail if the tag already exists on the entity.
Remarks
Adds a specified tag to an entity.
This function can't be called in read-only mode.
Throws
This function can throw errors.
applyDamage()
applyDamage(
amount
,options
?):boolean
Parameters
Parameter | Type | Description |
---|---|---|
amount | number | Amount of damage to apply. |
options ? | EntityApplyDamageByProjectileOptions | EntityApplyDamageOptions | Additional options about the source of damage, which may add additional effects or spur additional behaviors on this entity. |
Returns
boolean
Whether the entity takes any damage. This can return false if the entity is invulnerable or if the damage applied is less than or equal to 0.
Remarks
Applies a set of damage to an entity.
This function can't be called in read-only mode.
Throws
This function can throw errors.
Example
// A function that applies damage and then heals the entity
import { Entity, EntityComponentTypes, system, world } from '@minecraft/server';
function applyDamageAndHeal(entity: Entity) {
entity.applyDamage(19); // Many mobs have max damage of 20 so this is a near-death mob
system.runTimeout(() => {
const health = entity.getComponent(EntityComponentTypes.Health);
if (health) {
world.sendMessage(`Entity health before heal: ${health.currentValue}`);
health.resetToMaxValue();
world.sendMessage(`Entity after before heal: ${health.currentValue}`);
} else {
console.warn('Entity does not have health component');
}
}, 40); // Run in a few seconds (40 ticks)
}
applyImpulse()
applyImpulse(
vector
):void
Parameters
Parameter | Type | Description |
---|---|---|
vector | Vector3 | Impulse vector. |
Returns
void
Remarks
Applies impulse vector to the current velocity of the entity.
This function can't be called in read-only mode.
Throws
This function can throw errors.
Example
// A function that throws entities up in the air
import { Entity } from '@minecraft/server';
function yeetEntity(entity: Entity) {
// Zero out the entity's velocity before applying impulse
entity.clearVelocity();
// throw the zombie up in the air
entity.applyImpulse({ x: 0, y: 15, z: 0 });
}
applyKnockback()
applyKnockback(
directionX
,directionZ
,horizontalStrength
,verticalStrength
):void
Parameters
Parameter | Type | Description |
---|---|---|
directionX | number | X direction in horizontal plane. |
directionZ | number | Z direction in horizontal plane. |
horizontalStrength | number | Knockback strength for the horizontal vector. |
verticalStrength | number | Knockback strength for the vertical vector. |
Returns
void
Remarks
Applies impulse vector to the current velocity of the entity.
This function can't be called in read-only mode.
Throws
This function can throw errors.
Example
import { EntityQueryOptions, DimensionLocation } from '@minecraft/server';
function mobParty(targetLocation: DimensionLocation) {
const mobs = ['creeper', 'skeleton', 'sheep'];
// create some sample mob data
for (let i = 0; i < 10; i++) {
targetLocation.dimension.spawnEntity(mobs[i % mobs.length], targetLocation);
}
const eqo: EntityQueryOptions = {
type: 'skeleton',
};
for (const entity of targetLocation.dimension.getEntities(eqo)) {
entity.applyKnockback(0, 0, 0, 1);
}
}
clearDynamicProperties()
clearDynamicProperties():
void
Returns
void
Remarks
Clears all dynamic properties that have been set on this entity.
Throws
This function can throw errors.
clearVelocity()
clearVelocity():
void
Returns
void
Remarks
Sets the current velocity of the Entity to zero. Note that this method may not have an impact on Players.
This function can't be called in read-only mode.
Throws
This function can throw errors.
Example
// A function that throws entities up in the air
import { Entity } from '@minecraft/server';
function yeetEntity(entity: Entity) {
// Zero out the entity's velocity before applying impulse
entity.clearVelocity();
// throw the zombie up in the air
entity.applyImpulse({ x: 0, y: 15, z: 0 });
}
extinguishFire()
extinguishFire(
useEffects
?):boolean
Parameters
Parameter | Type | Description |
---|---|---|
useEffects ? | boolean | Whether to show any visual effects connected to the extinguishing. |
Returns
boolean
Returns whether the entity was on fire.
Remarks
Extinguishes the fire if the entity is on fire. Note that you can call getComponent('minecraft:onfire') and, if present, the entity is on fire.
This function can't be called in read-only mode.
Throws
This function can throw errors.
Example
import { world, Entity, EntityComponentTypes, system } from "@minecraft/server";
function setAblaze(entity: Entity) {
entity.setOnFire(20, true);
system.runTimeout(() => {
const onfire = entity.getComponent(EntityComponentTypes.OnFire);
if (onfire) {
world.sendMessage(`${onfire.onFireTicksRemaining} fire ticks remaining, extinguishing the entity.`);
}
// This will extinguish the entity
entity.extinguishFire(true);
}, 30); // Run in 30 ticks or ~1.5 seconds
}
getBlockFromViewDirection()
getBlockFromViewDirection(
options
?):BlockRaycastHit
Parameters
Parameter | Type | Description |
---|---|---|
options ? | BlockRaycastOptions | Additional configuration options for the ray cast. |
Returns
Returns the first intersecting block from the direction that this entity is looking at.
Remarks
Returns the first intersecting block from the direction that this entity is looking at.
Throws
This function can throw errors.
getComponent()
getComponent<
T
>(componentId
):EntityComponentTypeMap
[T
]
Type parameters
Type parameter |
---|
T extends keyof EntityComponentTypeMap |
Parameters
Parameter | Type | Description |
---|---|---|
componentId | T | The identifier of the component (e.g., 'minecraft:health'). If no namespace prefix is specified, 'minecraft:' is assumed. Available component IDs can be found as part of the EntityComponentTypes enum. |
Returns
Returns the component if it exists on the entity, otherwise undefined.
Remarks
Gets a component (that represents additional capabilities) for an entity.
getComponents()
getComponents():
EntityComponent
[]
Returns
Returns all components that are both present on this entity and supported by the API.
Remarks
Returns all components that are both present on this entity and supported by the API.
getDynamicProperty()
getDynamicProperty(
identifier
):string
|number
|boolean
|Vector3
Parameters
Parameter | Type | Description |
---|---|---|
identifier | string | The property identifier. |
Returns
string
| number
| boolean
| Vector3
Returns the value for the property, or undefined if the property has not been set.
Remarks
Returns a property value.
Throws
This function can throw errors.
getDynamicPropertyIds()
getDynamicPropertyIds():
string
[]
Returns
string
[]
A string array of the dynamic properties set on this entity.
Remarks
Returns the available set of dynamic property identifiers that have been used on this entity.
Throws
This function can throw errors.
getDynamicPropertyTotalByteCount()
getDynamicPropertyTotalByteCount():
number
Returns
number
Remarks
Returns the total size, in bytes, of all the dynamic properties that are currently stored for this entity. This includes the size of both the key and the value. This can be useful for diagnosing performance warning signs - if, for example, an entity has many megabytes of associated dynamic properties, it may be slow to load on various devices.
Throws
This function can throw errors.
getEffect()
getEffect(
effectType
):Effect
Parameters
Parameter | Type | Description |
---|---|---|
effectType | string | EffectType | The effect identifier. |
Returns
Effect object for the specified effect, undefined if the effect is not present, or throws an error if the effect does not exist.
Remarks
Returns the effect for the specified EffectType on the entity, undefined if the effect is not present, or throws an error if the effect does not exist.
Throws
This function can throw errors.
getEffects()
getEffects():
Effect
[]
Returns
Effect
[]
List of effects.
Remarks
Returns a set of effects applied to this entity.
Throws
This function can throw errors.
getEntitiesFromViewDirection()
getEntitiesFromViewDirection(
options
?):EntityRaycastHit
[]
Parameters
Parameter | Type | Description |
---|---|---|
options ? | EntityRaycastOptions | Additional configuration options for the ray cast. |
Returns
Returns a set of entities from the direction that this entity is looking at.
Remarks
Gets the entities that this entity is looking at by performing a ray cast from the view of this entity.
Throws
This function can throw errors.
getHeadLocation()
getHeadLocation():
Vector3
Returns
Returns the current location of the head component of this entity.
Remarks
Returns the current location of the head component of this entity.
Throws
This function can throw errors.
getProperty()
getProperty(
identifier
):string
|number
|boolean
Parameters
Parameter | Type | Description |
---|---|---|
identifier | string | The entity Property identifier. |
Returns
string
| number
| boolean
Returns the current property value. For enum properties, a string is returned. For float and int properties, a number is returned. For undefined properties, undefined is returned.
Remarks
Gets an entity Property value. If the property was set using the setProperty function within the same tick, the updated value will not be reflected until the subsequent tick.
Throws
Throws if the entity is invalid.
getRotation()
getRotation():
Vector2
Returns
Returns a Vec2 containing the rotation of this entity (in degrees).
Remarks
Returns the current rotation component of this entity.
Throws
This function can throw errors.
getTags()
getTags():
string
[]
Returns
string
[]
An array containing all tags as strings.
Remarks
Returns all tags associated with the entity.
Throws
This function can throw errors.
getVelocity()
getVelocity():
Vector3
Returns
Returns the current velocity vector of the entity.
Remarks
Returns the current velocity vector of the entity.
Throws
This function can throw errors.
Example
// A function that spawns fireworks and logs their velocity after 5 ticks
import { DimensionLocation, system, world } from '@minecraft/server';
import { MinecraftEntityTypes } from '@minecraft/vanilla-data';
function spawnFireworks(location: DimensionLocation) {
const fireworkRocket = location.dimension.spawnEntity(MinecraftEntityTypes.FireworksRocket, location);
system.runTimeout(() => {
const velocity = fireworkRocket.getVelocity();
world.sendMessage(`Velocity of firework is: ${velocity.x}, ${velocity.y}, ${velocity.z}`);
}, 5);
}
getViewDirection()
getViewDirection():
Vector3
Returns
Returns the current view direction of the entity.
Remarks
Returns the current view direction of the entity.
Throws
This function can throw errors.