BetaPrivateconstructorBetaReadonly BetacameraReadonly BetaclientBetacommandReadonly BetadimensionReadonly BetagraphicsReadonly BetaheadReadonly BetaidUnique 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.
Readonly BetainputReadonly BetainputReadonly BetaisReadonly BetaisReadonly BetaisReadonly BetaisReadonly BetaisReadonly BetaisReadonly BetaisReadonly BetaisReadonly BetaisBetaisBetaisReadonly BetaisReadonly BetaisReadonly BetalevelReadonly BetalocalizationReadonly BetalocationReadonly BetanameBetanameReadonly BetaonReadonly BetaplayerOptional Readonly BetascoreboardBetaselectedOptional Readonly BetatargetReadonly BetatotalReadonly BetatypeIdentifier of the type of the entity - for example, 'minecraft:skeleton'. This property is accessible even if Entity.isValid is false.
Readonly BetaxpBetaRepresents the players active hotbar slot.
Only works on players, on non-players it will return undefined.
This returns the same value as Player.prototype.getComponent("inventory")?.container.getSlot(Player.prototype.selectedSlotIndex).
BetaRepresents the players cursor inventory. Used when moving items between between containers in the inventory UI. Not used with touch controls.
Only works on players, on non-players it will return undefined.
This returns the same value as Player.prototype.getComponent("cursor_inventory").
BetaProvides access to a mob's equipment slots. This component exists on player entities.
givePlayerElytra.ts
// Gives the player Elytra
import { EquipmentSlot, ItemStack, Player, EntityComponentTypes } from '@minecraft/server';
import { MinecraftItemTypes } from '@minecraft/vanilla-data';
function giveEquipment(player: Player) {
const equipmentCompPlayer = player.getComponent(EntityComponentTypes.Equippable);
if (equipmentCompPlayer) {
equipmentCompPlayer.setEquipment(EquipmentSlot.Chest, new ItemStack(MinecraftItemTypes.Elytra));
}
}
givePlayerEquipment.ts
// Gives the player some equipment
import { EquipmentSlot, ItemStack, Player, EntityComponentTypes } from '@minecraft/server';
import { MinecraftItemTypes } from '@minecraft/vanilla-data';
function giveEquipment(player: Player) {
const equipmentCompPlayer = player.getComponent(EntityComponentTypes.Equippable);
if (equipmentCompPlayer) {
equipmentCompPlayer.setEquipment(EquipmentSlot.Head, new ItemStack(MinecraftItemTypes.GoldenHelmet));
equipmentCompPlayer.setEquipment(EquipmentSlot.Chest, new ItemStack(MinecraftItemTypes.IronChestplate));
equipmentCompPlayer.setEquipment(EquipmentSlot.Legs, new ItemStack(MinecraftItemTypes.DiamondLeggings));
equipmentCompPlayer.setEquipment(EquipmentSlot.Feet, new ItemStack(MinecraftItemTypes.NetheriteBoots));
equipmentCompPlayer.setEquipment(EquipmentSlot.Mainhand, new ItemStack(MinecraftItemTypes.WoodenSword));
equipmentCompPlayer.setEquipment(EquipmentSlot.Offhand, new ItemStack(MinecraftItemTypes.Shield));
} else {
console.warn('No equipment component found on player');
}
}
BetaRepresents the player's held item.
Only works on players, on non-players it will return undefined.
This returns the same value as Entity.prototype.getComponent("inventory")?.container.getItem(Entity.prototype.selectedSlotIndex).
BetaReturns the rotation location of the entity.
It is a Vector3 object with the rotation values added as the rotx and roty properties.
BetaReturns the stringified location of the entity in the format x y z.
BetaReturns an instance of the MoneySystem class that is associated with this entity.
BetaReturns an instance of the PlayerNotifications class that is associated with this entity.
BetaReturns an instance of the PlayerPermissions class that is associated with this entity.
BetaReturns the stringified rotation of the entity in the format rotx roty.
BetaReturns the x rotation of the entity.
It is the same as Entity.prototype.getRotation().x.
BetaReturns the y rotation of the entity.
It is the same as Entity.prototype.getRotation().y.
BetaThe time zone of the player as the number of hours offset from UTC.
BetaBetaReturns an instance of the WorldEditSelection class that is associated with this entity.
BetaReturns the x coordinate of the entity.
It is the same as Entity.prototype.location.x.
BetaReturns the y coordinate of the entity.
It is the same as Entity.prototype.location.y.
BetaReturns the z coordinate of the entity.
It is the same as Entity.prototype.location.z.
BetaType of effect to add to the entity.
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].
Optionaloptions: EntityEffectOptionsAdditional options for the effect.
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.
Adds or updates an effect, like poison, to the entity.
This function can't be called in restricted-execution mode.
This function can throw errors.
minecraftcommon.ArgumentOutOfBoundsError
import { DimensionLocation } from "@minecraft/server";
import { MinecraftEffectTypes } from "@minecraft/vanilla-data";
function spawnPoisonedVillager(
targetLocation: DimensionLocation
) {
const villagerType = "minecraft:villager_v2<minecraft:ageable_grow_up>";
const villager = targetLocation.dimension.spawnEntity(villagerType, targetLocation);
const duration = 20;
villager.addEffect(MinecraftEffectTypes.Poison, duration, { amplifier: 1 });
}
import { DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes, MinecraftEffectTypes } from "@minecraft/vanilla-data";
function quickFoxLazyDog(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
const fox = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Fox, {
x: targetLocation.x + 1,
y: targetLocation.y + 2,
z: targetLocation.z + 3,
});
fox.addEffect(MinecraftEffectTypes.Speed, 10, {
amplifier: 2,
});
log("Created a fox.");
const wolf = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Wolf, {
x: targetLocation.x + 4,
y: targetLocation.y + 2,
z: targetLocation.z + 3,
});
wolf.addEffect(MinecraftEffectTypes.Slowness, 10, {
amplifier: 2,
});
wolf.isSneaking = true;
log("Created a sneaking wolf.", 1);
}
BetaAmount of experience to add. Note that this can be negative. Min/max bounds at -2^24 ~ 2^24
Returns the current experience of the Player.
BetaAmount to add to the player. Min/max bounds at -2^24 ~ 2^24
Returns the current level of the Player.
BetaContent of the tag to add. The tag must be less than 256 characters.
Returns true if the tag was added successfully. This can fail if the tag already exists on the entity.
Adds a specified tag to an entity.
This function can't be called in restricted-execution mode.
import { EntityQueryOptions, DimensionLocation } from "@minecraft/server";
function tagsQuery(targetLocation: DimensionLocation) {
const mobs = ["creeper", "skeleton", "sheep"];
// create some sample mob data
for (let i = 0; i < 10; i++) {
const mobTypeId = mobs[i % mobs.length];
const entity = targetLocation.dimension.spawnEntity(mobTypeId, targetLocation);
entity.addTag("mobparty." + mobTypeId);
}
const eqo: EntityQueryOptions = {
tags: ["mobparty.skeleton"],
};
for (const entity of targetLocation.dimension.getEntities(eqo)) {
entity.kill();
}
}
BetaAmount of damage to apply.
Optionaloptions: EntityApplyDamageByProjectileOptions | EntityApplyDamageOptionsAdditional options about the source of damage, which may add additional effects or spur additional behaviors on this entity.
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.
Applies a set of damage to an entity.
This function can't be called in restricted-execution mode.
import { system, EntityHealthComponent, EntityComponentTypes, DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function applyDamageThenHeal(
log: (message: string, status?: number) => void,
targetLocation: DimensionLocation
) {
const skelly = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Skeleton, targetLocation);
skelly.applyDamage(19); // skeletons have max damage of 20 so this is a near-death skeleton
system.runTimeout(() => {
const health = skelly.getComponent(EntityComponentTypes.Health) as EntityHealthComponent;
log("Skeleton health before heal: " + health?.currentValue);
health?.resetToMaxValue();
log("Skeleton health after heal: " + health?.currentValue);
}, 20);
}
BetaImpulse vector.
Applies impulse vector to the current velocity of the entity.
This function can't be called in restricted-execution mode.
import { DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function applyImpulse(targetLocation: DimensionLocation) {
const zombie = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Zombie, targetLocation);
zombie.clearVelocity();
// throw the zombie up in the air
zombie.applyImpulse({ x: 0, y: 0.5, z: 0 });
}
BetaKnockback strength for the vertical vector.
Applies impulse vector to the current velocity of the entity.
This function can't be called in restricted-execution mode.
import { EntityQueryOptions, DimensionLocation } from "@minecraft/server";
function bounceSkeletons(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);
}
}
BetaCauses the simulated player to make an attack 'swipe'. Returns true if the attack was performed - for example, the player was not on cooldown and had a valid target. Target selection is performed by raycasting from the player's head.
This function can't be called in restricted-execution mode.
BetaCauses the simulated player to attack the provided target. Returns true if the attack was performed - for example, the player was not on cooldown and had a valid target. The attack can be performed at any distance and does not require line of sight to the target entity.
This function can't be called in restricted-execution mode.
BetaBetaBetaThe Entity or the ID of the Entity whose Entity Property overrides are being cleared.
BetaSets the current velocity of the Entity to zero.
This function can't be called in restricted-execution mode.
import { DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function applyImpulse(targetLocation: DimensionLocation) {
const zombie = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Zombie, targetLocation);
zombie.clearVelocity();
// throw the zombie up in the air
zombie.applyImpulse({ x: 0, y: 0.5, z: 0 });
}
BetaOptionaluseEffects: booleanWhether to show any visual effects connected to the extinguishing. Defaults to: true
Returns whether the entity was on fire.
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 restricted-execution mode.
import { system, EntityOnFireComponent, EntityComponentTypes, DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function setOnFire(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
const skelly = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Skeleton, targetLocation);
skelly.setOnFire(20, true);
system.runTimeout(() => {
const onfire = skelly.getComponent(EntityComponentTypes.OnFire) as EntityOnFireComponent;
log(onfire?.onFireTicksRemaining + " fire ticks remaining.");
skelly.extinguishFire(true);
log("Never mind. Fire extinguished.");
}, 20);
}
BetaOptionaloptions: GetBlocksStandingOnOptionsAdditional configuration options for what blocks are returned.
The solid blocks that this entity is directly standing on. Returns an empty list if the entity is jumping or flying.
BetaOptionaloptions: BlockRaycastOptionsAdditional configuration options for the ray cast.
Returns the first intersecting block from the direction that this entity is looking at.
BetaOptionaloptions: GetBlocksStandingOnOptionsAdditional configuration options for what block is returned.
A single solid block closest to the center of the entity that this entity is directly standing on. Undefined if entity is flying or jumping.
BetaThe 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 the component if it exists on the entity, otherwise undefined.
BetaThe 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 the component if it exists on the entity, otherwise undefined.
BetaThe property identifier.
Returns the value for the property, or undefined if the property has not been set.
BetaReturns 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.
BetaThe effect identifier.
Effect object for the specified effect, undefined if the effect is not present, or throws an error if the effect does not exist.
BetaOptionaloptions: EntityRaycastOptionsAdditional configuration options for the ray cast.
Returns a set of entities from the direction that this entity is looking at.
Gets the entities that this entity is looking at by performing a ray cast from the view of this entity.
This function can throw errors.
minecraftcommon.InvalidArgumentError
minecraftcommon.UnsupportedFunctionalityError
BetaBetaThe entity Property identifier.
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.
BetaBetaRetrieves a concatenated string from an entity's dynamic properties.
The base name of the dynamic property to retrieve.
OptionalzeroLengthPlaceholder: stringA placeholder string to return if the dynamic property length is zero. Defaults to an empty string.
The concatenated string from the entity's dynamic properties, or the zeroLengthPlaceholder if the length is zero.
BetaAn array containing all tags as strings.
BetaReturns the current velocity vector of the entity.
import { system, DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function getFireworkVelocity(
log: (message: string, status?: number) => void,
targetLocation: DimensionLocation
) {
const fireworkRocket = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.FireworksRocket, targetLocation);
system.runTimeout(() => {
const velocity = fireworkRocket.getVelocity();
log("Velocity of firework is: (x: " + velocity.x + ", y:" + velocity.y + ", z:" + velocity.z + ")");
}, 5);
}
BetaItem to give.
OptionalselectSlot: booleanWhether to set the selected slot once given. Defaults to: false
BetaReturns true if the simulated player begins to glide. Returns false if the player is already gliding, or the player does not have Elytra equipped, is in water or is on the ground.
BetaThe identifier of the component (e.g., 'minecraft:rideable') to retrieve. If no namespace prefix is specified, 'minecraft:' is assumed.
Returns true if the specified component is present on this entity.
BetaIdentifier of the tag to test for.
Returns whether an entity has a particular tag.
BetaEntity to interact with.
Causes the simulated player to interact with a mob. Returns true if the interaction was performed.
This function can't be called in restricted-execution mode.
BetaReturns true if entity can be killed (even if it is already dead), otherwise it returns false.
Kills this entity. The entity will drop loot as normal.
This function can't be called in restricted-execution mode.
import { EntityQueryOptions, DimensionLocation } from "@minecraft/server";
function tagsQuery(targetLocation: DimensionLocation) {
const mobs = ["creeper", "skeleton", "sheep"];
// create some sample mob data
for (let i = 0; i < 10; i++) {
const mobTypeId = mobs[i % mobs.length];
const entity = targetLocation.dimension.spawnEntity(mobTypeId, targetLocation);
entity.addTag("mobparty." + mobTypeId);
}
const eqo: EntityQueryOptions = {
tags: ["mobparty.skeleton"],
};
for (const entity of targetLocation.dimension.getEntities(eqo)) {
entity.kill();
}
}
BetaThe target location that this entity should face/look towards.
Sets the rotation of the entity to face a target location. Both pitch and yaw will be set, if applicable, such as for mobs where the pitch controls the head tilt and the yaw controls the body rotation.
This function can't be called in restricted-execution mode.
BetaOptionalduration: LookDurationDefaults to: 2
BetaThe query to perform the match against.
Returns true if the entity matches the criteria in the passed in EntityQueryOptions, otherwise it returns false.
Matches the entity against the passed in options. Uses the location of the entity for matching if the location is not specified in the passed in EntityQueryOptions.
Throws if the query options are misconfigured.
minecraftcommon.InvalidArgumentError
minecraftcommon.UnsupportedFunctionalityError
BetaOptionalspeed: numberDefaults to: 1
BetaOptionaloptions: MoveToOptionsBetaOptionalspeed: numberDefaults to: 1
Orders the simulated player to move to a specific block location using navigation. If a move or navigation is already playing, this will override the last move/walk. Note that if the simulated player gets stuck, that simulated player will stop. The player must be touching the ground in order to start navigation.
This function can't be called in restricted-execution mode.
BetaOptionalspeed: numberDefaults to: 1
Will use navigation to follow the selected entity to within a one block radius. If a move or navigation is already playing, this will override the last move/navigation.
This function can't be called in restricted-execution mode.
BetaOptionalspeed: numberDefaults to: 1
Orders the simulated player to move to a specific location using navigation. If a move or navigation is already playing, this will override the last move/walk. Note that if the simulated player gets stuck, that simulated player will stop. The player must be touching the ground in order to start navigation.
This function can't be called in restricted-execution mode.
BetaA list of locations to use for routing.
Optionalspeed: numberNet speed to use for doing the navigation. Defaults to: 1
BetaThe animation identifier. e.g. animation.creeper.swelling
Optionaloptions: PlayAnimationOptionsAdditional options to control the playback and transitions of the animation.
BetaIdentifier of the music track to play.
OptionalmusicOptions: MusicOptionsAdditional options for the music track.
BetaOptionalsoundOptions: PlayerSoundOptionsAdditional optional options for the sound.
Plays a sound that only this particular player can hear.
This function can't be called in restricted-execution mode.
import { world, MusicOptions, WorldSoundOptions, PlayerSoundOptions, DimensionLocation } from "@minecraft/server";
function playMusicAndSound(targetLocation: DimensionLocation) {
const players = world.getPlayers();
const musicOptions: MusicOptions = {
fade: 0.5,
loop: true,
volume: 1.0,
};
world.playMusic("music.menu", musicOptions);
const worldSoundOptions: WorldSoundOptions = {
pitch: 0.5,
volume: 4.0,
};
world.playSound("ambient.weather.thunder", targetLocation, worldSoundOptions);
const playerSoundOptions: PlayerSoundOptions = {
pitch: 1.0,
volume: 1.0,
};
players[0].playSound("bucket.fill_water", playerSoundOptions);
}
BetaIdentifier of the music track to play.
OptionalmusicOptions: MusicOptionsAdditional options for the music track.
BetaThe effect identifier.
Returns true if the effect has been removed. Returns false if the effect is not found or does not exist.
BetaThe Entity whose Entity Property override is being removed.
The Entity Property identifier.
BetaThe Entity Property identifier.
Returns the default property value. For enum properties, a string is returned. For float and int properties, a number is returned. For undefined properties, undefined is returned.
BetaThe command string. Note: This should not include a leading forward slash.
A command result containing whether the command was successful.
BetaSaves a string to an entity's dynamic properties, optionally clearing old properties first.
The string to save to the entity's dynamic properties.
The base name of the dynamic property where the string will be saved.
OptionalclearOldProperties: booleanWhether to clear old properties before saving the new string. Defaults to true.
OptionalchunkSize: number | bigintThe size of each chunk of the string to save. Defaults to 32760.
BetaThe message to be displayed.
This method can throw if the provided RawMessage is
in an invalid format. For example, if an empty name string
is provided to score.
import { world, DimensionLocation } from "@minecraft/server";
function nestedTranslation(targetLocation: DimensionLocation) {
// Displays "Apple or Coal"
const rawMessage = {
translate: "accessibility.list.or.two",
with: { rawtext: [{ translate: "item.apple.name" }, { translate: "item.coal.name" }] },
};
world.sendMessage(rawMessage);
}
import { world, DimensionLocation } from "@minecraft/server";
function scoreWildcard(targetLocation: DimensionLocation) {
// Displays the player's score for objective "obj". Each player will see their own score.
const rawMessage = { score: { name: "*", objective: "obj" } };
world.sendMessage(rawMessage);
}
import { world, DimensionLocation } from "@minecraft/server";
function sendBasicMessage(targetLocation: DimensionLocation) {
const players = world.getPlayers();
players[0].sendMessage("Hello World!");
}
import { world, DimensionLocation } from "@minecraft/server";
function sendPlayerMessages(targetLocation: DimensionLocation) {
for (const player of world.getAllPlayers()) {
// Displays "First or Second"
const rawMessage = { translate: "accessibility.list.or.two", with: ["First", "Second"] };
player.sendMessage(rawMessage);
// Displays "Hello, world!"
player.sendMessage("Hello, world!");
// Displays "Welcome, Amazing Player 1!"
player.sendMessage({ translate: "authentication.welcome", with: ["Amazing Player 1"] });
// Displays the player's score for objective "obj". Each player will see their own score.
const rawMessageWithScore = { score: { name: "*", objective: "obj" } };
player.sendMessage(rawMessageWithScore);
// Displays "Apple or Coal"
const rawMessageWithNestedTranslations = {
translate: "accessibility.list.or.two",
with: { rawtext: [{ translate: "item.apple.name" }, { translate: "item.coal.name" }] },
};
player.sendMessage(rawMessageWithNestedTranslations);
}
}
BetaOptionalcontrolScheme: ControlSchemeControl scheme type. If this argument is undefined, this method will clear the player's control scheme back to the player camera's default control scheme.
Returns nothing if the control scheme was added or updated successfully. This can throw an InvalidArgumentError if the control scheme is not allowed by the player's current camera.
Set a player's control scheme. The player's active camera preset must be set by scripts like with camera.setCamera() or commands.
This function can't be called in restricted-execution mode.
BetaA Record of key value pairs of the dynamic properties to set. If the data value is null, it will remove that property instead.
BetaThe property identifier.
Optionalvalue: string | number | boolean | Vector3Data value of the property to set. If the value is null, it will remove the property instead.
BetaItem to set.
Slot to place the given item in.
OptionalselectSlot: booleanWhether to set the selected slot once set. Defaults to: false
BetaLength of time to set the entity on fire.
OptionaluseEffects: booleanWhether side-effects should be applied (e.g. thawing freeze) and other conditions such as rain or fire protection should be taken into consideration. Defaults to: true
Whether the entity was set on fire. This can fail if seconds is less than or equal to zero, the entity is wet or the entity is immune to fire.
Sets an entity on fire (if it is not in water or rain). Note that you can call getComponent('minecraft:onfire') and, if present, the entity is on fire.
This function can't be called in restricted-execution mode.
import { system, EntityOnFireComponent, EntityComponentTypes, DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function setOnFire(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
const skelly = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Skeleton, targetLocation);
skelly.setOnFire(20, true);
system.runTimeout(() => {
const onfire = skelly.getComponent(EntityComponentTypes.OnFire) as EntityOnFireComponent;
log(onfire?.onFireTicksRemaining + " fire ticks remaining.");
skelly.extinguishFire(true);
log("Never mind. Fire extinguished.");
}, 20);
}
BetaThe Entity Property identifier.
The property value. The provided type must be compatible with the type specified in the entity's definition.
Sets an Entity Property to the provided value. This property change is not applied until the next tick.
This function can't be called in restricted-execution mode.
Throws if the entity is invalid. Throws if an invalid identifier is provided. Throws if the provided value type does not match the property type. Throws if the provided value is outside the expected range (int, float properties). Throws if the provided string value does not match the set of accepted enum values (enum properties
minecraftcommon.ArgumentOutOfBoundsError
BetaThe Entity whose Entity Property is being overriden.
The Entity Property identifier.
The override value. The provided type must be compatible with the type specified in the entity's definition.
For this player, overrides an Entity Property on the target Entity to the provided value. This property must be client synced. This change is not applied until the next tick and will not apply to other players.
This function can't be called in restricted-execution mode.
Throws if the entity is invalid. Throws if an invalid identifier is provided. Throws if the provided value type does not match the property type. Throws if the provided value is outside the expected range (int, float properties). Throws if the provided string value does not match the set of accepted enum values (enum properties)
BetaThe x and y rotation of the entity (in degrees). For most mobs, the x rotation controls the head tilt and the y rotation controls the body rotation.
BetaOptions for the skin to set on the player.
BetaOptionalspawnPoint: DimensionLocationBetaIdentifier of the particle to create.
The location at which to create the particle emitter.
OptionalmolangVariables: MolangVariableMapA set of optional, customizable variables that can be adjusted for this particle.
Creates a new particle emitter at a specified location in the world. Only visible to the target player.
This function can't be called in restricted-execution mode.
import { world, MolangVariableMap, Vector3 } from '@minecraft/server';
world.afterEvents.playerSpawn.subscribe(event => {
const targetLocation = event.player.location;
for (let i = 0; i < 100; i++) {
const molang = new MolangVariableMap();
molang.setColorRGB('variable.color', {
red: Math.random(),
green: Math.random(),
blue: Math.random()
});
const newLocation: Vector3 = {
x: targetLocation.x + Math.floor(Math.random() * 8) - 4,
y: targetLocation.y + Math.floor(Math.random() * 8) - 4,
z: targetLocation.z + Math.floor(Math.random() * 8) - 4,
};
event.player.spawnParticle('minecraft:colored_flame_particle', newLocation, molang);
}
});
BetaSpecifies the cooldown category to retrieve the current cooldown for.
Duration in ticks of the item cooldown.
BetaNew location for the entity.
OptionalteleportOptions: TeleportOptionsOptions regarding the teleport operation.
Teleports the selected entity to a new location
This function can't be called in restricted-execution mode.
import { system, DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function teleport(targetLocation: DimensionLocation) {
const cow = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Cow, targetLocation);
system.runTimeout(() => {
cow.teleport(
{ x: targetLocation.x + 2, y: targetLocation.y + 2, z: targetLocation.z + 2 },
{
facingLocation: targetLocation,
}
);
}, 20);
}
import { system, DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function teleportMovement(targetLocation: DimensionLocation) {
const pig = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Pig, targetLocation);
let inc = 1;
const runId = system.runInterval(() => {
pig.teleport(
{ x: targetLocation.x + inc / 4, y: targetLocation.y + inc / 4, z: targetLocation.z + inc / 4 },
{
facingLocation: targetLocation,
}
);
if (inc > 100) {
system.clearRun(runId);
}
inc++;
}, 4);
}
BetaName of the entity type event to trigger. If a namespace is not specified, minecraft: is assumed.
Triggers an entity type event. For every entity, a number of events are defined in an entities' definition for key entity behaviors; for example, creepers have a minecraft:start_exploding type event.
This function can't be called in restricted-execution mode.
If the event is not defined in the definition of the entity, an error will be thrown.
// A function that spawns a creeper and triggers it to explode immediately
import { DimensionLocation } from '@minecraft/server';
import { MinecraftEntityTypes } from '@minecraft/vanilla-data';
function spawnExplodingCreeper(location: DimensionLocation) {
const creeper = location.dimension.spawnEntity(MinecraftEntityTypes.Creeper, location);
creeper.triggerEvent('minecraft:start_exploding_forced');
}
import { DimensionLocation } from "@minecraft/server";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function triggerEvent(targetLocation: DimensionLocation) {
const creeper = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Creeper, targetLocation);
creeper.triggerEvent("minecraft:start_exploding_forced");
}
BetaLocation to teleport the entity to.
OptionalteleportOptions: TeleportOptionsOptions regarding the teleport operation.
Returns whether the teleport succeeded. This can fail if the destination chunk is unloaded or if the teleport would result in intersecting with blocks.
BetaIndex of the slot to use.
Location to use the item upon.
Optionaldirection: DirectionDirection to place the specified item within. Defaults to: 1
OptionalfaceLocation: Vector3Location relative to the bottom north-west corner of the block where the item is placed. Defaults to: null
BetaItem to use.
Location to use the item upon.
Optionaldirection: DirectionDirection to place the specified item within. Defaults to: 1
OptionalfaceLocation: Vector3Location relative to the bottom north-west corner of the block where the item is placed. Defaults to: null
A simulated player can be used within GameTests to represent how a player moves throughout the world and to support testing of how entities and the environment will react to a player. This type derives much of its structure and methods from the minecraftserver.Player type. Note that many types of events that may be available for entities more broadly, such as item use events, may not fire in the same capacity for simulated players.