# Arrow

## 导入类

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.

`ZenScript Copy`import crafttweaker.api.entity.type.projectile.arrow.Arrow;``

## Extending Projectile

Arrow extends Projectile. That means all methods available in Projectile are also available in Arrow

## 使用方式

Name: `getBaseDamage`

Gets the base damage that this arrow does.

Returns: The base damage of this arrow.
Return Type: double

```ZenScript Copy```// Arrow.getBaseDamage() as double

myArrow.getBaseDamage();``````

Name: `getKnockback`

Gets the knockback of this arrow.

Returns: The knockback of this arrow.
Return Type: int

```ZenScript Copy```// Arrow.getKnockback() as int

myArrow.getKnockback();``````

Name: `getPierceLevel`

Gets the pierce level of this arrow.

Returns: the pierce level of this arrow.
Return Type: byte

```ZenScript Copy```// Arrow.getPierceLevel() as byte

myArrow.getPierceLevel();``````

Name: `isCritArrow`

Checks whether this arrow is a crit arrow.

Returns: true if this is a crit arrow, false otherwise.
Return Type: boolean

```ZenScript Copy```// Arrow.isCritArrow() as boolean

myArrow.isCritArrow();``````

Name: `isNoPhysics`

Checks if this arrow has physics or not.

Returns: true if this arrow doesn't have physics, false otherwise.
Return Type: boolean

```ZenScript Copy```// Arrow.isNoPhysics() as boolean

myArrow.isNoPhysics();``````

Name: `setBaseDamage`

Sets the base damage that this arrow does.

Return Type: void

```ZenScript Copy```// Arrow.setBaseDamage(damage as double) as void

myArrow.setBaseDamage(0.5);``````

damage

The base damage.

Name: `setCritArrow`

Sets this the crit value of this arrow.

Return Type: void

```ZenScript Copy```// Arrow.setCritArrow(crit as boolean) as void

myArrow.setCritArrow(true);``````

crit

The crit value to set.

Name: `setEnchantmentEffectsFromEntity`

Sets the values of this arrow based on the enchantments the given entity has. This handles setting the knockback if the bow has a knockback enchantment.

Return Type: void

```ZenScript Copy```// Arrow.setEnchantmentEffectsFromEntity(entity as LivingEntity, distanceFactor as float) as void

myArrow.setEnchantmentEffectsFromEntity(entity, 1);``````

entity

LivingEntity

The entity that fired the arrow

distanceFactor

How charged is the bow.

Name: `setKnockback`

Sets the knockback of this arrow.

Return Type: void

```ZenScript Copy```// Arrow.setKnockback(knockback as int) as void

myArrow.setKnockback(5);``````

knockback

int

The knockback value.

Name: `setNoPhysics`

Sets if this arrow has physics or not.

Return Type: void

```ZenScript Copy```// Arrow.setNoPhysics(noPhysics as boolean) as void

myArrow.setNoPhysics(true);``````

noPhysics

If this arrow has physics or not.

Name: `setPierceLevel`

Sets the pierce level of this arrow.

Return Type: void

`ZenScript Copy`Arrow.setPierceLevel(pieceLevel as byte) as void``

pieceLevel

byte

The pierce level of this arrow.

Name: `setShotFromCrossbow`

Sets if this arrow was shot from a crossbow or not.

Return Type: void

```ZenScript Copy```// Arrow.setShotFromCrossbow(shotFromCrossbow as boolean) as void

myArrow.setShotFromCrossbow(true);``````

shotFromCrossbow

If this arrow was shot from a crossbow or not.

Name: `setSoundEvent`

Sets the sound event that this arrow plays when it hits an entity or block.

Return Type: void

`ZenScript Copy`Arrow.setSoundEvent(event as SoundEvent) as void``

event

SoundEvent

The sound event to play when

Name: `shotFromCrossbow`

Checks if this arrow was shot from a crossbow.

Returns: true if it was shot from a crossbow, false otherwise.
Return Type: boolean

```ZenScript Copy```// Arrow.shotFromCrossbow() as boolean

myArrow.shotFromCrossbow();``````

## 参数

baseDamage

Arrow

true

true

Sets the base damage that this arrow does.

isCritArrow

Arrow

true

true

Sets this the crit value of this arrow.

isNoPhysics

Arrow

true

true

Sets if this arrow has physics or not.

knockback

Arrow

true

true

Sets the knockback of this arrow.

pierceLevel

Arrow

true

true

Sets the pierce level of this arrow.

shotFromCrossbow

Arrow

false

true

Sets if this arrow was shot from a crossbow or not.

soundEvent

Arrow

false

true

Sets the sound event that this arrow plays when it hits an entity or block.