# 接口的使用
org.bukkit.entity.Projectile

使用Projectile的程序包
程序包
说明
org.bukkit.entity
为在`世界`内存在的非三维像素单位(实体)提供的接口，包含玩家、怪物、抛射物等.
org.bukkit.event.entity
与`实体`相关的`事件`，不包括 一些直接引用的更具体的实体类型.
org.bukkit.projectiles
代表一个抛射物的抛射源的类的集合.

- ## org.bukkit.entity中Projectile的使用

  org.bukkit.entity中Projectile的子接口
  修饰符和类型
  接口
  说明
  `interface`
  `AbstractArrow`
  代表一支箭.
  `interface`
  `AbstractWindCharge`
  Represents a Wind Charge.
  `interface`
  `Arrow`
  表示一只箭矢.
  `interface`
  `BreezeWindCharge`
  Represents a Wind Charge.
  `interface`
  `DragonFireball`
  恶龙咆哮, 哇呜~(指末影龙火球)
  `interface`
  `Egg`
  我创造了生命?
  `interface`
  `EnderPearl`
  代表抛出的末影珍珠实体.
  `interface`
  `Fireball`
  代表一个火球.
  `interface`
  `Firework`
  烟花火箭实体.
  `interface`
  `FishHook`
  代表一个鱼钩.
  `interface`
  `LargeFireball`
  代表大的火球( `Fireball` ).
  `interface`
  `LingeringPotion`
  已过时。
  滞留状态仅取决于药水物品/lingering status depends on only on the potion item.
  `interface`
  `LlamaSpit`
  代表羊驼唾沫.
  `interface`
  `ShulkerBullet`
  `interface`
  `SizedFireball`
  Represents a sized fireball.
  `interface`
  `SmallFireball`
  代表小的火球( `Fireball` ).
  `interface`
  `Snowball`
  代表雪球.
  `interface`
  `SpectralArrow`
  Represents a spectral arrow.
  `interface`
  `SplashPotion`
  已过时。
  splash status depends on only on the potion item.
  `interface`
  `ThrowableProjectile`
  `interface`
  `ThrownExpBottle`
  代表抛出的附魔之瓶.
  `interface`
  `ThrownPotion`
  代表一个被抛出的药水瓶.
  `interface`
  `TippedArrow`
  已过时。
  tipped status depends only on base potion type not being UNCRAFTABLE and effects being empty.
  `interface`
  `Trident`
  代表被抛出的三叉戟.
  `interface`
  `WindCharge`
  Represents a Wind Charge.
  `interface`
  `WitherSkull`
  代表凋零之首.

- ## org.bukkit.event.entity中Projectile的使用

  返回Projectile的org.bukkit.event.entity中的方法
  修饰符和类型
  方法
  说明
  `@NotNull Projectile`
  ProjectileHitEvent.`getEntity()`
  `@NotNull Projectile`
  ProjectileLaunchEvent.`getEntity()`
  参数类型为Projectile的org.bukkit.event.entity中的构造器
  限定符
  构造器
  说明
  ``
  `ProjectileHitEvent(@NotNull Projectile projectile)`
  ``
  `ProjectileHitEvent(@NotNull Projectile projectile, @Nullable Block hitBlock)`
  ``
  `ProjectileHitEvent(@NotNull Projectile projectile, @Nullable Entity hitEntity)`
  ``
  `ProjectileHitEvent(@NotNull Projectile projectile, @Nullable Entity hitEntity, @Nullable Block hitBlock)`
  ``
  `ProjectileHitEvent(@NotNull Projectile projectile, @Nullable Entity hitEntity, @Nullable Block hitBlock, @Nullable BlockFace hitFace)`

- ## org.bukkit.projectiles中Projectile的使用

  类型参数类型为Projectile的org.bukkit.projectiles中的方法
  修饰符和类型
  方法
  说明
  `<T extends Projectile>
  T`
  ProjectileSource.`launchProjectile(@NotNull Class<? extends T> projectile)`
  让ProjectileSource发射一个`Projectile`。
  `<T extends Projectile>
  T`
  ProjectileSource.`launchProjectile(@NotNull Class<? extends T> projectile, @Nullable Vector velocity)`
  让ProjectileSource以一个初始速度向量发射`Projectile`。