@minecraft
    正在准备搜索索引...

    类 Entity

    Represents the state of an entity (a mob, the player, or other moving objects like minecarts) in the world.

    层级 (查看层级一览)

    索引
    dimension: Dimension

    Dimension that the entity is currently within.

    EngineError

    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.

    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.

    isFalling: boolean

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

    isInWater: boolean

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

    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.

    isSleeping: boolean

    If true, the entity is currently sleeping.

    isSneaking: boolean

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

    isSprinting: boolean

    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.

    isSwimming: boolean

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

    isValid: boolean

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

    localizationKey: string

    Key for the localization of this entity's name used in .lang files.

    location: Vector3

    Current location of the entity.

    nameplateDepthTested: boolean

    Boolean which determines if the player nameplate should be depth tested for visibility.

    nameplateRenderDistance: number

    Float that determines the render distance of this entity's nameplate.

    nameTag: string

    Given name of the entity.

    scoreboardIdentity?: ScoreboardIdentity

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

    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.

    typeId: string

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

    • 世界修改

      参数

      • 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]. Bounds: [1, 20000000]

      • 可选options: EntityEffectOptions

        Additional options for the effect.

      返回 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.

      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);
      }
    • 世界修改

      参数

      • tag: string

        Content of the tag to add. The tag must be less than 256 characters.

      返回 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.

      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();
      }
      }
    • 世界修改

      参数

      返回 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.

      EngineError

      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);
      }
    • 世界修改

      参数

      返回 void

      Applies impulse vector to the current velocity of the entity.

      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 });
      }
    • 世界修改

      参数

      • horizontalForce: VectorXZ
      • verticalStrength: number

        Knockback strength for the vertical vector.

      返回 void

      Applies impulse vector to the current velocity of the entity.

      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);
      }
      }
    • 世界修改

      返回 void

      Sets the current velocity of the Entity to zero.

      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 });
      }
    • 世界修改

      参数

      • 可选useEffects: boolean

        Whether to show any visual effects connected to the extinguishing. Defaults to: true

      返回 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.

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

      • identifier: string

        The property identifier.

      返回 string | number | boolean | Vector3

      Returns the value for the property, or undefined if the property has not been set.

      Returns a property value.

    • 返回 string[]

      A string array of the dynamic properties set on this entity.

      Returns the available set of dynamic property identifiers that have been used on this entity.

    • 返回 number

      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.

    • 参数

      • effectType: string | EffectType

        The effect identifier.

      返回 Effect

      Effect object for the specified effect, undefined if the effect is not present, or throws an error if the effect does not exist.

      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.

    • 参数

      • identifier: string

        The entity Property identifier.

      返回 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.

      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 if the entity is invalid.

      InvalidEntityError

    • 返回 Vector3

      Returns the current velocity vector of the entity.

      Returns 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);
      }
    • 参数

      • componentId: string

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

      返回 boolean

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

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

    • 参数

      • tag: string

        Identifier of the tag to test for.

      返回 boolean

      Returns whether an entity has a particular tag.

      Returns whether an entity has a particular tag.

    • 世界修改

      返回 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.

      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();
      }
      }
    • 世界修改

      参数

      • targetLocation: Vector3

        The target location that this entity should face/look towards.

      返回 void

      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.

    • 世界修改

      参数

      • effectType: string | EffectType

        The effect identifier.

      返回 boolean

      Returns true if the effect has been removed. Returns false if the effect is not found or does not exist.

      Removes the specified EffectType on the entity, or returns false if the effect is not present.

    • 世界修改

      参数

      • tag: string

        Content of the tag to remove.

      返回 boolean

      Returns whether the tag existed on the entity.

      Removes a specified tag from an entity.

    • 世界修改

      参数

      • identifier: string

        The Entity Property identifier.

      返回 string | number | boolean

      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.

      Resets an Entity Property back to its default value, as specified in the Entity's definition. This property change is not applied until the next tick.

      Throws if the entity is invalid.

      EngineError

      Error

      InvalidEntityError

    • 参数

      • values: Record<string, boolean | number | string | Vector3 | undefined>

        A Record of key value pairs of the dynamic properties to set. If the data value is null, it will remove that property instead.

      返回 void

      Sets multiple dynamic properties with specific values.

    • 参数

      • identifier: string

        The property identifier.

      • 可选value: string | number | boolean | Vector3

        Data value of the property to set. If the value is null, it will remove the property instead.

      返回 void

      Sets a specified property to a value.

    • 世界修改

      参数

      • seconds: number

        Length of time to set the entity on fire.

      • 可选useEffects: 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. Defaults to: true

      返回 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.

      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);
      }
    • 世界修改

      参数

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

      返回 void

      Sets an Entity Property to the provided value. This property change is not applied until the next tick.

      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

      ArgumentOutOfBoundsError

      InvalidArgumentError

      InvalidEntityError

    • 世界修改

      参数

      • rotation: Vector2

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

      返回 void

      Sets the main rotation of the entity.

    • 世界修改

      参数

      • location: Vector3

        New location for the entity.

      • 可选teleportOptions: TeleportOptions

        Options regarding the teleport operation.

      返回 void

      Teleports the selected entity to a new location

      Error

      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);
      }
    • 世界修改

      参数

      • eventName: string

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

      返回 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.

      If the event is not defined in the definition of the entity, an error will be thrown.

      InvalidArgumentError

      InvalidEntityError

      // 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');
      }
    • 世界修改

      参数

      • location: Vector3

        Location to teleport the entity to.

      • 可选teleportOptions: TeleportOptions

        Options regarding the teleport operation.

      返回 boolean

      Returns whether the teleport succeeded. This can fail if the destination chunk is unloaded or if the teleport would result in intersecting with blocks.

      Attempts to try a teleport, but may not complete the teleport operation (for example, if there are blocks at the destination.)

      Error