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 @minecraft/server.Player type.

Hierarchy

  • Player
    • SimulatedPlayer

Constructors

Properties

dimension: Dimension

Dimension that the entity is currently within.

Throws

This property can throw when used.

headRotation: XYRotation

Rotation of the head across pitch and yaw angles.

Throws

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.

Throws

This property can throw when used.

isSneaking: boolean

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

isSprinting: boolean
level: number
location: Vector3

Current location of the entity.

Throws

This property can throw when used.

name: string

Name of the player.

Throws

This property can throw when used.

nameTag: string

Given name of the entity.

onScreenDisplay: ScreenDisplay

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

scoreboard: ScoreboardIdentity

Returns a scoreboard identity that represents this entity.

Throws

This property can throw when used.

selectedSlot: number

Manages the selected slot in the player's hotbar.

spawnDimension?: Dimension
target: Entity

Retrieves or sets an entity that is used as the target of AI-related behaviors, like attacking.

Throws

This property can throw when used.

totalXpNeededForNextLevel: number
typeId: string

Unique identifier of the type of the entity - for example, 'minecraft:skeleton'.

Throws

This property can throw when used.

xpEarnedAtCurrentLevel: number

Methods

  • Beta

    Parameters

    • effectType: EffectType

      Type of effect to add to the entity.

    • duration: number

      Amount of time, in ticks, for the effect to apply.

    • Optional amplifier: number

      Optional amplification of the effect to apply.

    • Optional showParticles: boolean

    Returns void

    Remarks

    Adds an effect, like poison, to the entity.

    Throws

    This function can throw errors.

    Example

    addEffect.js

           const villagerId = "minecraft:villager_v2<minecraft:ageable_grow_up>";
    const villagerLoc: mc.Vector3 = { x: 1, y: 2, z: 1 };
    const villager = test.spawn(villagerId, villagerLoc);
    const duration = 20;

    villager.addEffect(MinecraftEffectTypes.poison, duration, 1);

    Example

    quickFoxLazyDog.ts

           const fox = overworld.spawnEntity("minecraft:fox", {
    x: targetLocation.x + 1,
    y: targetLocation.y + 2,
    z: targetLocation.z + 3,
    });
    fox.addEffect(mc.MinecraftEffectTypes.speed, 10, 20);
    log("Created a fox.");

    const wolf = overworld.spawnEntity("minecraft:wolf", {
    x: targetLocation.x + 4,
    y: targetLocation.y + 2,
    z: targetLocation.z + 3,
    });
    wolf.addEffect(mc.MinecraftEffectTypes.slowness, 10, 20);
    wolf.isSneaking = true;
    log("Created a sneaking wolf.", 1);

  • Beta

    Parameters

    • amount: number

      Amount of experience to add. Note that this can be negative.

    Returns number

    Returns the current experience of the Player.

    Remarks

    Adds/removes experience to/from the Player and returns the current experience of the Player.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • amount: number

      Amount to add to the player.

    Returns number

    Returns the current level of the Player.

    Remarks

    Adds/removes level to/from the Player and returns the current level of the Player.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • tag: string

      Content of the tag to add.

    Returns boolean

    Remarks

    Adds a specified tag to an entity.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • amount: number

      Amount of damage to apply.

    • Optional source: EntityDamageSource

      Additional option about the source of damage, which may add additional effects or spur additional behaviors on this entity.

    Returns boolean

    Remarks

    Applies a set of damage to an entity.

    Throws

    This function can throw errors.

  • Parameters

    • vector: Vector3

    Returns void

  • Parameters

    • directionX: number
    • directionZ: number
    • horizontalStrength: number
    • verticalStrength: number

    Returns void

  • Returns boolean

    Remarks

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

    Throws

    This function can throw errors.

  • Parameters

    • entity: Entity

    Returns boolean

    Remarks

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

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: Vector3

      Location of the block to interact with.

    • Optional direction: Direction

      Direction to place the specified item within.

    Returns boolean

    Remarks

    Destroys the block at blockLocation, respecting the rules of the server player's game mode. The block will be hit until broken, an item is used or stopBreakingBlock is called. Returns true if the block at blockLocation is solid.

    Throws

    This function can throw errors.

  • Returns void

  • Returns void

  • Returns void

    Remarks

    Simulates and performs a disconnection of the simulated player from the world.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • Optional useEffects: boolean

      Whether to show any visual effects connected to the extinguishing.

    Returns boolean

    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.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • Optional options: BlockRaycastOptions

    Returns Block

    Remarks

    Returns the first intersecting block from the direction that this entity is looking at.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • componentId: string

      The identifier of the component (e.g., 'minecraft:rideable') to retrieve. If no namespace prefix is specified, 'minecraft:' is assumed. If the component is not present on the entity, undefined is returned.

    Returns EntityComponent

    Remarks

    Gets a component (that represents additional capabilities) for an entity.

  • Beta

    Returns EntityComponent[]

    Remarks

    Returns all components that are both present on this entity and supported by the API.

  • Beta

    Parameters

    • identifier: string

    Returns undefined | string | number | boolean

    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.

  • Beta

    Parameters

    • effectType: EffectType

    Returns Effect

    Effect object for the specified effect, or undefined if the effect is not present.

    Remarks

    Returns the effect for the specified EffectType on the entity, or undefined if the effect is not present.

    Throws

    This function can throw errors.

  • Beta

    Returns Effect[]

    List of effects.

    Remarks

    Returns a set of effects applied to this item.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • Optional options: EntityRaycastOptions

    Returns Entity[]

    Remarks

    Returns a potential set of entities from the direction that this entity is looking at.

    Throws

    This function can throw errors.

  • Returns Vector3

  • Beta

    Parameters

    • itemCategory: string

      Specifies the cooldown category to retrieve the current cooldown for.

    Returns number

    Remarks

    Gets the current item cooldown time for a particular cooldown category.

    Throws

    This function can throw errors.

  • Returns XYRotation

  • Returns undefined | Vector3

  • Beta

    Returns string[]

    Remarks

    Returns all tags associated with an entity.

    Throws

    This function can throw errors.

  • Beta

    Returns number

    Remarks

    Gets the total experience of the Player.

    Throws

    This function can throw errors.

  • Returns Vector3

  • Returns Vector3

  • Parameters

    • itemStack: ItemStack

      Item to give.

    • Optional selectSlot: boolean

      Whether to set the selected slot once given.

    Returns boolean

    Remarks

    Gives the simulated player a particular item stack.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • componentId: string

      The identifier of the component (e.g., 'minecraft:rideable') to retrieve. If no namespace prefix is specified, 'minecraft:' is assumed.

    Returns boolean

    Remarks

    Returns true if the specified component is present on this entity.

  • Beta

    Parameters

    • tag: string

      Identifier of the tag to test for.

    Returns boolean

    Remarks

    Tests whether an entity has a particular tag.

    Throws

    This function can throw errors.

  • Returns boolean

    Remarks

    Performs a raycast from the player’s head and interacts with the first intersected block or entity. Returns true if the interaction was successful. Maximum range is 6 blocks.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: Vector3

      Location of the block to interact with.

    • Optional direction: Direction

      Direction to place the specified item within.

    Returns boolean

    Remarks

    Causes the simulated player to interact with a block. The block at the specified block location must be solid. Returns true if the interaction was performed.

    Throws

    This function can throw errors.

  • Parameters

    • entity: Entity

      Entity to interact with.

    Returns boolean

    Remarks

    Causes the simulated player to interact with a mob. Returns true if the interaction was performed.

    Throws

    This function can throw errors.

  • Beta

    Returns boolean

    Remarks

    Returns true if this player has operator-level permissions.

    Throws

    This function can throw errors.

  • Returns boolean

    True if a jump was performed.

    Remarks

    Causes the simulated player to jump.

    Throws

    This function can throw errors.

  • Beta

    Returns void

    Remarks

    Kills this entity. The entity will drop loot as normal.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: Vector3

    Returns void

    Remarks

    Rotates the simulated player's head/body to look at the given block location.

    Throws

    This function can throw errors.

  • Parameters

    • entity: Entity

    Returns void

    Remarks

    Rotates the simulated player's head/body to look at the given entity.

    Throws

    This function can throw errors.

  • Parameters

    • location: Vector3

    Returns void

    Remarks

    Rotates the simulated player's head/body to look at the given location.

    Throws

    This function can throw errors.

  • Parameters

    • westEast: number
    • northSouth: number
    • Optional speed: number

    Returns void

    Remarks

    Orders the simulated player to walk in the given direction relative to the GameTest.

    Throws

    This function can throw errors.

  • Parameters

    • leftRight: number
    • backwardForward: number
    • Optional speed: number

    Returns void

    Remarks

    Orders the simulated player to walk in the given direction relative to the player's current rotation.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: Vector3
    • Optional speed: number

    Returns void

    Remarks

    Orders the simulated player to move to the given block location in a straight line. If a move or navigation is already playing, this will override the last move/navigation.

    Throws

    This function can throw errors.

  • Parameters

    • location: Vector3
    • Optional speed: number

    Returns void

    Remarks

    Orders the simulated player to move to the given location in a straight line. If a move or navigation is already playing, this will override the last move/navigation.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: Vector3
    • Optional speed: number

    Returns NavigationResult

    Remarks

    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.

    Throws

    This function can throw errors.

  • Parameters

    • entity: Entity
    • Optional speed: number

    Returns NavigationResult

    Remarks

    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.

    Throws

    This function can throw errors.

  • Parameters

    • location: Vector3
    • Optional speed: number

    Returns NavigationResult

    Remarks

    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.

    Throws

    This function can throw errors.

  • Parameters

    • locations: Vector3[]

      A list of locations to use for routing.

    • Optional speed: number

      Net speed to use for doing the navigation.

    Returns void

    Remarks

    Use navigation to follow the route provided via the locations parameter. If a move or navigation is already playing, this will override the last move/navigation.

    Throws

    This function can throw errors.

  • Parameters

    • animationName: string
    • Optional options: PlayAnimationOptions

    Returns void

  • Beta

    Parameters

    • soundID: string

      Identifier of the sound to play.

    • Optional soundOptions: SoundOptions

      Additional optional options for the sound.

    Returns void

    Remarks

    Plays a sound that only this particular player can hear.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • id: string
    • value: string

    Returns void

    Remarks

    This is an internal-facing method for posting a system message to downstream clients.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • identifier: string

    Returns boolean

    Remarks

    Removes a specified property.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • tag: string

      Content of the tag to remove.

    Returns boolean

    Remarks

    Removes a specified tag from an entity.

    Throws

    This function can throw errors.

  • Beta

    Returns void

    Remarks

    Resets the level of the player.

    Throws

    This function can throw errors.

  • Returns boolean

    Remarks

    Respawns the particular simulated player.

    Throws

    This function can throw errors.

  • Parameters

    • angleInDegrees: number

    Returns void

    Remarks

    Causes the simulated player to turn by the provided angle, relative to the player's current rotation.

    Throws

    This function can throw errors.

  • Parameters

    • commandString: string

    Returns CommandResult

  • Parameters

    • commandString: string

      Command to run. Note that command strings should not start with slash.

    Returns Promise<CommandResult>

    For commands that return data, returns a JSON structure with command response values.

    Remarks

    Runs a particular command asynchronously from the context of this entity. Note that there is a maximum queue of 128 asynchronous commands that can be run in a given tick.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • message: string | RawMessage | (string | RawMessage)[]

      The message to be displayed.

    Returns void

    Remarks

    Sends a message to the player.

    Throws

    This method can throw if the provided RawMessage is in an invalid format. For example, if an empty name string is provided to score.

    Example

    nestedTranslation.ts

           // Displays "Apple or Coal"
    let rawMessage = {
    translate: "accessibility.list.or.two",
    with: { rawtext: [{ translate: "item.apple.name" }, { translate: "item.coal.name" }] },
    };
    player.sendMessage(rawMessage);

    Example

    scoreWildcard.ts

           // Displays the player's score for objective "obj". Each player will see their own score.
    const rawMessage = { score: { name: "*", objective: "obj" } };
    world.sendMessage(rawMessage);

    Example

    simpleString.ts

           // Displays "Hello, world!"
    world.sendMessage("Hello, world!");

    Example

    translation.ts

           // Displays "First or Second"
    const rawMessage = { translate: "accessibility.list.or.two", with: ["First", "Second"] };
    player.sendMessage(rawMessage);
  • Parameters

    • angleInDegrees: number

    Returns void

    Remarks

    Causes the simulated player to turn to face the provided angle, relative to the GameTest.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • identifier: string
    • value: string | number | boolean

      Data value of the property to set.

    Returns void

    Remarks

    Sets a specified property to a value.

    Throws

    This function can throw errors.

  • Parameters

    • gameMode: GameMode

      Game mode to set.

    Returns void

    Remarks

    Sets the game mode that the simulated player is operating under.

    Throws

    This function can throw errors.

  • Parameters

    • itemStack: ItemStack

      Item to set.

    • slot: number

      Slot to place the given item in.

    • Optional selectSlot: boolean

      Whether to set the selected slot once set.

    Returns boolean

    Remarks

    Sets a particular item for the simulated player.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • seconds: number

      Length of time to set the entity on fire.

    • Optional useEffects: boolean

    Returns boolean

    Remarks

    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.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • isOp: boolean

    Returns void

    Remarks

    Will change the specified players permissions, and whether they are operator or not.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • degreesX: number
    • degreesY: number

    Returns void

    Remarks

    Sets the main rotation of the entity.

    Throws

    This function can throw errors.

  • Parameters

    • spawnPosition: Vector3
    • spawnDimension: Dimension

    Returns void

  • Beta

    Parameters

    • itemCategory: string

      Specifies the cooldown category to retrieve the current cooldown for.

    • tickDuration: number

      Duration in ticks of the item cooldown.

    Returns void

    Remarks

    Sets the item cooldown time for a particular cooldown category.

    Throws

    This function can throw errors.

  • Returns void

    Remarks

    Stops destroying the block that is currently being hit.

    Throws

    This function can throw errors.

  • Returns void

    Remarks

    Stops interacting with entities or blocks.

    Throws

    This function can throw errors.

  • Returns void

    Remarks

    Stops moving/walking/following if the simulated player is moving.

    Throws

    This function can throw errors.

  • Returns void

    Remarks

    Stops using the currently active item.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • location: Vector3

      New location for the entity.

    • dimension: Dimension

      Dimension to move the selected entity to.

    • xRotation: number

      X rotation of the entity after teleportation.

    • yRotation: number

      Y rotation of the entity after teleportation.

    • Optional keepVelocity: boolean

    Returns void

    Remarks

    Teleports the selected entity to a new location

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • location: Vector3

      New location for the entity.

    • dimension: Dimension

      Dimension to move the selected entity to.

    • facingLocation: Vector3

      Location that this entity will be facing.

    • Optional keepVelocity: boolean

    Returns void

    Remarks

    Teleports the selected entity to a new location, and will have the entity facing a specified location.

    Throws

    This function can throw errors.

  • Beta

    Parameters

    • eventName: string

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

    Returns void

    Remarks

    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.

    Throws

    This function can throw errors.

  • Parameters

    • itemStack: ItemStack

      Item to use.

    Returns boolean

    Remarks

    Causes the simulated player to use an item. Does not consume the item. Returns false if the item is on cooldown.

    Throws

    This function can throw errors.

  • Parameters

    • slot: number

      Index of the inventory slot.

    Returns boolean

    Remarks

    Causes the simulated player to hold and use an item in their inventory.

    Throws

    This function can throw errors.

  • Parameters

    • slot: number

      Index of the slot to use.

    • blockLocation: Vector3

      Location to use the item upon.

    • Optional direction: Direction

      Direction to place the specified item within.

    • Optional faceLocationX: number

      Block-face-relative X position where to place the item.

    • Optional faceLocationY: number

      Block-face-relative Y position where to place the item.

    Returns boolean

    Remarks

    Causes the simulated player to use an item in their inventory on a block. The block at the specified block location must be solid. Returns true if the item was used.

    Throws

    This function can throw errors.

  • Parameters

    • itemStack: ItemStack

      Item to use.

    • blockLocation: Vector3

      Location to use the item upon.

    • Optional direction: Direction

      Direction to place the specified item within.

    • Optional faceLocationX: number

      Block-face-relative X position where to place the item.

    • Optional faceLocationY: number

      Block-face-relative Y position where to place the item.

    Returns boolean

    Remarks

    Causes the simulated player to use an item on a block. The block at the specified block location must be solid. Returns true if the item was used.

    Throws

    This function can throw errors.