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.

Hierarchy (View Summary)

Constructors

Properties

Accessors

Methods

addEffect addExperience addLevels addTag applyDamage applyImpulse applyKnockback attack attackEntity breakBlock chat clearDynamicProperties clearPropertyOverridesForEntity clearVelocity deleteStringFromDynamicProperties disconnect dropSelectedItem eatItem extinguishFire fly getAimAssist getBlockFromViewDirection getComponent getComponents getDynamicProperty getDynamicPropertyIds getDynamicPropertyTotalByteCount getEffect getEffects getEntitiesFromViewDirection getGameMode getHeadLocation getItemCooldown getProperty getRotation getSpawnPoint getStringFromDynamicProperties getTags getTotalXp getVelocity getViewDirection giveItem glide hasComponent hasTag interact interactWithBlock interactWithEntity isOp jump kill lookAt lookAtBlock lookAtEntity lookAtLocation matches move moveRelative moveToBlock moveToLocation navigateToBlock navigateToEntity navigateToLocation navigateToLocations playAnimation playMusic playSound postClientMessage queueMusic remove removeEffect removePropertyOverrideForEntity removeTag resetLevel resetProperty respawn rotateBody runCommand saveStringToDynamicProperties sendMessage setBodyRotation setDynamicProperties setDynamicProperty setGameMode setItem setOnFire setOp setProperty setPropertyOverrideForEntity setRotation setSpawnPoint spawnParticle startBuild startItemCooldown stopBreakingBlock stopBuild stopFlying stopGliding stopInteracting stopMoving stopMusic stopSwimming stopUsingItem swim teleport triggerEvent tryTeleport useItem useItemInSlot useItemInSlotOnBlock useItemOnBlock

Constructors

Properties

camera: Camera

The player's Camera.

This property can throw when used.

clientSystemInfo: ClientSystemInfo

Contains the player's device information.

This property can throw when used.

Error

dimension: Dimension

Dimension that the entity is currently within.

This property can throw when used.

graphicsMode: GraphicsMode

Gets the current graphics mode of the player's client. This can be changed in the Video section of the settings menu based on what hardware is available.

This property can throw when used.

InvalidEntityError

headRotation: Vector2

Rotation of the head across pitch and yaw angles.

This property can throw when used.

id: string

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.

inputInfo: InputInfo

Contains the player's input information.

inputPermissions: PlayerInputPermissions

Input permissions of the player.

isClimbing: boolean

Whether the entity is touching a climbable block. For example, a player next to a ladder or a spider next to a stone wall.

This property can throw when used.

isEmoting: boolean

If true, the player is currently emoting.

This property can throw when used.

isFalling: boolean

Whether the entity has a fall distance greater than 0, or greater than 1 while gliding.

This property can throw when used.

isFlying: boolean

Whether the player is flying. For example, in Creative or Spectator mode.

This property can throw when used.

isGliding: boolean

Whether the player is gliding with Elytra.

This property can throw when used.

isInWater: boolean

Whether any part of the entity is inside a water block.

This property can throw when used.

isJumping: boolean

Whether the player is jumping. This will remain true while the player is holding the jump action.

This property can throw when used.

isOnGround: boolean

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.

This property can throw when used.

isSleeping: boolean

If true, the entity is currently sleeping.

This property can throw when used.

isSneaking: boolean

Whether the entity is sneaking - that is, moving more slowly and more quietly.

This property can't be edited in read-only mode.

isSprinting: boolean

Returns whether the simulated player is sprinting.

This property can't be edited in read-only mode.

isSwimming: boolean

Whether the entity is in the swimming state. For example, a player using the swim action or a fish in water.

This property can throw when used.

isValid: boolean

Returns whether the entity can be manipulated by script. A Player is considered valid when it's EntityLifetimeState is set to Loaded.

level: number

The current overall level for the player, based on their experience.

This property can throw when used.

location: Vector3

Current location of the entity.

This property can throw when used.

name: string

Name of the player.

This property can throw when used.

nameTag: string

Given name of the entity.

This property can't be edited in read-only mode.

onScreenDisplay: ScreenDisplay

Contains methods for manipulating the on-screen display of a Player.

This property can throw when used.

scoreboardIdentity?: ScoreboardIdentity

Returns a scoreboard identity that represents this entity. Will remain valid when the entity is killed.

selectedSlotIndex: number

This property can't be edited in read-only mode.

target?: Entity

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.

This property can throw when used.

totalXpNeededForNextLevel: number

The overall total set of experience needed to achieve the next level for a player.

This property can throw when used.

typeId: string

Identifier of the type of the entity - for example, 'minecraft:skeleton'. This property is accessible even if Entity.isValid is false.

xpEarnedAtCurrentLevel: number

The current set of experience achieved for the player.

This property can throw when used.

Accessors

  • get activeSlot(): ContainerSlot
    Beta

    Returns ContainerSlot

  • get chunkIndex(): VectorXZ
    Beta

    Returns VectorXZ

  • get cursorInventory(): PlayerCursorInventoryComponent
    Beta

    Represents 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").

    Returns PlayerCursorInventoryComponent

  • get dimensionLocation(): DimensionLocation
    Beta

    Returns DimensionLocation

  • get directionvector(): Vector3
    Beta

    Returns Vector3

  • get equippable(): EntityEquippableComponent
    Beta

    Provides access to a mob's equipment slots. This component exists for all mob entities.

    Returns EntityEquippableComponent

    // 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));
    }
    }
    // 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');
    }
    }
  • get heldItem(): ItemStack
    Beta

    Returns ItemStack

  • get locationrotation(): RotationLocation
    Beta

    Returns RotationLocation

  • get locationstring(): `${number} ${number} ${number}`
    Beta

    Returns `${number} ${number} ${number}`

  • get moneySystem(): MoneySystem
    Beta

    Returns MoneySystem

  • get playerPermissions(): PlayerPermissions
    Beta

    Returns PlayerPermissions

  • get rotationstring(): `${number} ${number}`
    Beta

    Returns `${number} ${number}`

  • get rotx(): number
    Beta

    Returns number

  • get roty(): number
    Beta

    Returns number

  • get timeZone(): number
    Beta

    Returns number

  • set timeZone(timezone: string | number | boolean): void
    Beta

    Parameters

    • timezone: string | number | boolean

    Returns void

  • get x(): number
    Beta

    Returns number

  • get xy(): Vector2
    Beta

    Returns Vector2

  • get xz(): VectorXZ
    Beta

    Returns VectorXZ

  • get y(): number
    Beta

    Returns number

  • get yz(): VectorYZ
    Beta

    Returns VectorYZ

  • get z(): number
    Beta

    Returns number

Methods

  • Beta

    Parameters

    • 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].

    • Optionaloptions: EntityEffectOptions

      Additional options for the effect.

    Returns 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 read-only mode.

    This function can throw errors.

    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);
    }
  • Beta

    Parameters

    • 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.

    Adds a specified tag to an entity.

    This function can't be called in read-only mode.

    This function can throw errors.

    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();
    }
    }
  • Beta

    Parameters

    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.

    Applies a set of damage to an entity.

    This function can't be called in read-only mode.

    This function can throw errors.

    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);
    }
  • Beta

    Parameters

    • horizontalForce: VectorXZ
    • verticalStrength: number

      Knockback strength for the vertical vector.

    Returns void

    Applies impulse vector to the current velocity of the entity.

    This function can't be called in read-only mode.

    This function can throw errors.

    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);
    }
    }
  • Beta

    Deletes a string from an entity's dynamic properties.

    Parameters

    • propertyName: string

      The name of the property the string is saved under.

    Returns void

    If propertyName is not a string.

  • Beta

    Parameters

    • OptionaluseEffects: boolean

      Whether to show any visual effects connected to the extinguishing.

    Returns boolean

    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 read-only mode.

    This function can throw errors.

    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);
    }
  • Beta

    Retrieves a concatenated string from an entity's dynamic properties.

    Parameters

    • propertyName: string

      The base name of the dynamic property to retrieve.

    • OptionalzeroLengthPlaceholder: string

      A placeholder string to return if the dynamic property length is zero. Defaults to an empty string.

    Returns string

    The concatenated string from the entity's dynamic properties, or the zeroLengthPlaceholder if the length is zero.

    If the propertyName is not a string.

  • Beta

    Returns boolean

    Returns 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 read-only mode.

    This function can throw errors.

    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();
    }
    }
  • Beta

    Parameters

    • soundId: string
    • OptionalsoundOptions: PlayerSoundOptions

      Additional optional options for the sound.

    Returns void

    Plays a sound that only this particular player can hear.

    This function can't be called in read-only mode.

    This function can throw errors.

    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);
    }
  • Beta

    Saves a string to an entity's dynamic properties, optionally clearing old properties first.

    Parameters

    • string: string

      The string to save to the entity's dynamic properties.

    • propertyName: string

      The base name of the dynamic property where the string will be saved.

    • OptionalclearOldProperties: boolean

      Whether to clear old properties before saving the new string. Defaults to true.

    • OptionalchunkSize: number | bigint

      The size of each chunk of the string to save. Defaults to 32760.

    Returns void

    If propertyName is not a string.

    If clearOldProperties is not a boolean.

  • Beta

    Parameters

    Returns void

    Sends a message to the player.

    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);
    }
    }
    import { world, DimensionLocation } from "@minecraft/server";

    function sendTranslatedMessage(
    targetLocation: DimensionLocation
    ) {
    const players = world.getPlayers();

    players[0].sendMessage({ translate: "authentication.welcome", with: ["Amazing Player 1"] });
    }
  • Beta

    Parameters

    • seconds: number

      Length of time to set the entity on fire.

    • OptionaluseEffects: boolean

      Whether side-effects should be applied (e.g. thawing freeze) and other conditions such as rain or fire protection should be taken into consideration.

    Returns boolean

    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 read-only mode.

    This function can throw errors.

    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);
    }
  • Beta

    Parameters

    • identifier: string

      The Entity Property identifier.

    • value: string | number | boolean

      The property value. The provided type must be compatible with the type specified in the entity's definition.

    Returns void

    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 read-only 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

  • Beta

    Parameters

    • targetEntity: Entity

      The Entity whose Entity Property is being overriden.

    • identifier: string

      The Entity Property identifier.

    • value: string | number | boolean

      The override value. The provided type must be compatible with the type specified in the entity's definition.

    Returns void

    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 read-only 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)

  • Beta

    Parameters

    • effectName: string

      Identifier of the particle to create.

    • location: Vector3

      The location at which to create the particle emitter.

    • OptionalmolangVariables: MolangVariableMap

      A set of optional, customizable variables that can be adjusted for this particle.

    Returns void

    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 read-only mode.

    This function can throw errors.

    Error

    LocationInUnloadedChunkError

    LocationOutOfWorldBoundariesError

    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);
    }
    });
  • Beta

    Parameters

    • location: Vector3

      New location for the entity.

    • OptionalteleportOptions: TeleportOptions

      Options regarding the teleport operation.

    Returns void

    Teleports the selected entity to a new location

    This function can't be called in read-only mode.

    This function can throw errors.

    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);
    }
  • Beta

    Parameters

    • eventName: string

      Name of the entity type event to trigger. If a namespace is not specified, minecraft: is assumed.

    Returns void

    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 read-only 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");
    }