# Uses of Interface
org.bukkit.entity.Projectile

Packages that use Projectile
Package
Description
com.destroystokyo.paper.event.entity
com.destroystokyo.paper.event.player
io.papermc.paper.event.block
org.bukkit.entity
Interfaces for non-voxel objects that can exist in a `world`, including all players, monsters, projectiles, etc.
org.bukkit.event.entity
`Events` relating to `entities`, excluding some directly referencing some more specific entity types.
org.bukkit.projectiles
Classes to represent the source of a projectile

## Uses of Projectile in com.destroystokyo.paper.event.entity

Methods in com.destroystokyo.paper.event.entity that return Projectile
Modifier and Type
Method
Description
`@NotNull Projectile`
ProjectileCollideEvent.`getEntity()`
Get the projectile that collided
Constructors in com.destroystokyo.paper.event.entity with parameters of type Projectile
Modifier
Constructor
Description
``
`ProjectileCollideEvent(@NotNull Projectile what, @NotNull Entity collidedWith)`

## Uses of Projectile in com.destroystokyo.paper.event.player

Methods in com.destroystokyo.paper.event.player that return Projectile
Modifier and Type
Method
Description
`@NotNull Projectile`
PlayerLaunchProjectileEvent.`getProjectile()`
Gets the projectile which will be launched by this event
Constructors in com.destroystokyo.paper.event.player with parameters of type Projectile
Modifier
Constructor
Description
``
`PlayerLaunchProjectileEvent(@NotNull Player shooter, @NotNull ItemStack itemStack, @NotNull Projectile projectile)`

## Uses of Projectile in io.papermc.paper.event.block

Constructors in io.papermc.paper.event.block with parameters of type Projectile
Modifier
Constructor
Description
``
`TargetHitEvent(@NotNull Projectile projectile, @NotNull Block block, @NotNull BlockFace blockFace, int signalStrength)`

## Uses of Projectile in org.bukkit.entity

Subinterfaces of Projectile in org.bukkit.entity
Modifier and Type
Interface
Description
`interface`
`AbstractArrow`
Represents an arrow.
`interface`
`Arrow`
`interface`
`DragonFireball`
`interface`
`Egg`
Represents a thrown egg.
`interface`
`EnderPearl`
Represents a thrown Ender Pearl entity
`interface`
`Fireball`
Represents a Fireball.
`interface`
`Firework`
`interface`
`FishHook`
Represents a fishing hook.
`interface`
`LargeFireball`
Represents a large `Fireball`
`interface`
`LingeringPotion`
Deprecated, for removal: This API element is subject to removal in a future version.
should not be used for anything, use `ThrownPotion` and set the potion via the methods there.
`interface`
`LlamaSpit`
Represents Llama spit.
`interface`
`ShulkerBullet`
`interface`
`SizedFireball`
Represents a sized fireball.
`interface`
`SmallFireball`
Represents a small `Fireball`
`interface`
`Snowball`
Represents a snowball.
`interface`
`SpectralArrow`
Represents a spectral arrow.
`interface`
`SplashPotion`
Deprecated, for removal: This API element is subject to removal in a future version.
should not be used for anything, use `ThrownPotion` and set the potion via the methods there.
`interface`
`ThrowableProjectile`
`interface`
`ThrownExpBottle`
Represents a thrown Experience bottle.
`interface`
`ThrownPotion`
Represents a thrown potion bottle
`interface`
`TippedArrow`
Deprecated.
tipped status depends only on base potion type not being UNCRAFTABLE and effects being empty.
`interface`
`Trident`
Represents a thrown trident.
`interface`
`WitherSkull`
Represents a wither skull `Fireball`.

## Uses of Projectile in org.bukkit.event.entity

Methods in org.bukkit.event.entity that return Projectile
Modifier and Type
Method
Description
`@NotNull Projectile`
ProjectileHitEvent.`getEntity()`
`@NotNull Projectile`
ProjectileLaunchEvent.`getEntity()`
Constructors in org.bukkit.event.entity with parameters of type Projectile
Modifier
Constructor
Description
``
`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)`

## Uses of Projectile in org.bukkit.projectiles

Methods in org.bukkit.projectiles with type parameters of type Projectile
Modifier and Type
Method
Description
`<T extends Projectile>
T`
ProjectileSource.`launchProjectile(@NotNull Class<? extends T> projectile)`
Launches a `Projectile` from the ProjectileSource.
`<T extends Projectile>
T`
ProjectileSource.`launchProjectile(@NotNull Class<? extends T> projectile, @Nullable Vector velocity)`
Launches a `Projectile` from the ProjectileSource with an initial velocity.
`<T extends Projectile>
T`
ProjectileSource.`launchProjectile(@NotNull Class<? extends T> projectile, @Nullable Vector velocity, Consumer<T> function)`
Launches a `Projectile` from the ProjectileSource with an initial velocity, with the supplied function run before the entity is added to the world.