类 EntityProjectileComponent

The projectile component controls the properties of a projectile entity and allows it to be shot in a given direction. This component is present when the entity has the minecraft:projectile component.

import { DimensionLocation, EntityProjectileComponent } from "@minecraft/server";

function shootArrow(targetLocation: DimensionLocation) {
const velocity = { x: 0, y: 1, z: 5 };

const arrow = targetLocation.dimension.spawnEntity("minecraft:arrow", {
x: targetLocation.x,
y: targetLocation.y + 2,
z: targetLocation.z,
});

const projectileComp = arrow.getComponent("minecraft:projectile") as EntityProjectileComponent;

projectileComp?.shoot(velocity);
}

层级 (查看层级一览)

属性

airInertia: number

The fraction of the projectile's speed maintained every tick while traveling through air.

catchFireOnHurt: boolean

If true, the entity will be set on fire when hurt. The default burn duration is 5 seconds. This duration can be modified via the onFireTime property. The entity will not catch fire if immune or if the entity is wet.

critParticlesOnProjectileHurt: boolean

If true, the projectile will spawn crit particles when hit by a player. E.g. Player attacking a Shulker bullet.

destroyOnProjectileHurt: boolean

If true, the projectile will be destroyed when it takes damage. E.g. Player attacking a Shulker bullet.

entity: Entity

The entity that owns this component. The entity will be undefined if it has been removed.

This property can throw when used.

InvalidEntityError

gravity: number

The gravity applied to the projectile. When the entity is not on the ground, subtracts this amount from the projectile’s change in vertical position every tick. The higher the value, the faster the projectile falls. If negative, the entity will rise instead of fall.

hitEntitySound?: string

The sound that plays when the projectile hits an entity.

hitGroundSound?: string

The sound that plays when the projectile hits a block.

hitParticle?: string

The particle that spawns when the projectile hits something.

isValid: boolean

Returns whether the component is valid. A component is considered valid if its owner is valid, in addition to any addition to any additional validation required by the component.

lightningStrikeOnHit: boolean

If true and the weather is thunder and the entity has line of sight to the sky, the entity will be struck by lightning when hit. E.g. A thrown Trident with the Channeling enchantment.

liquidInertia: number

The fraction of the projectile's speed maintained every tick while traveling through a liquid.

onFireTime: number

Duration in seconds that the entity hit will be on fire for when catchFireOnHurt is set to true.

owner?: Entity

The owner of the projectile. This is used to determine what the projectile can collide with and damage. It also determines which entity is assigned as the attacker.

shouldBounceOnHit: boolean

If true, the projectile will bounce off mobs when no damage is taken. E.g. A spawning wither.

stopOnHit: boolean

If true, the projectile will stop moving when an entity is hit as thought it had been blocked. E.g. Thrown trident on hit behavior.

typeId: string

Identifier of the component.

componentId: "minecraft:projectile" = 'minecraft:projectile'

方法

  • 世界修改

    参数

    • velocity: Vector3

      The velocity to fire the projectile. This controls both the speed and direction which which the projectile will be shot.

    • 可选options: ProjectileShootOptions

      Optional configuration for the shoot.

    返回 void

    Shoots the projectile with a given velocity. The projectile will be shot from its current location.

    Throws if the component or entity no longer exist.