Interface Projectile

All Superinterfaces:
Audience, CommandSender, Entity, HoverEventSource<HoverEvent.ShowEntity>, Metadatable, Nameable, Permissible, PersistentDataHolder, Pointered, ServerOperator, Sound.Emitter
All Known Subinterfaces:
AbstractArrow, Arrow, DragonFireball, Egg, EnderPearl, Fireball, Firework, FishHook, LargeFireball, LingeringPotion, LlamaSpit, ShulkerBullet, SizedFireball, SmallFireball, Snowball, SpectralArrow, SplashPotion, ThrowableProjectile, ThrownExpBottle, ThrownPotion, TippedArrow, Trident, WitherSkull

public interface Projectile extends Entity
Represents a shootable entity.
  • Method Details

    • getShooter

      Retrieve the shooter of this projectile.
      Returns:
      the ProjectileSource that shot this projectile
    • setShooter

      void setShooter(@Nullable @Nullable ProjectileSource source)
      Set the shooter of this projectile.
      Parameters:
      source - the ProjectileSource that shot this projectile
    • doesBounce

      @Deprecated(forRemoval=true) boolean doesBounce()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Does not do anything
      Determine if this projectile should bounce or not when it hits.

      If a small fireball does not bounce it will set the target on fire.

      Returns:
      true if it should bounce.
    • setBounce

      @Deprecated(forRemoval=true) void setBounce(boolean doesBounce)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Does not do anything
      Set whether or not this projectile should bounce or not when it hits something.
      Parameters:
      doesBounce - whether or not it should bounce.
    • hasLeftShooter

      boolean hasLeftShooter()
      Gets whether the projectile has left the hitbox of their shooter and can now hit entities.
      Returns:
      has left shooter's hitbox
    • setHasLeftShooter

      void setHasLeftShooter(boolean leftShooter)
      Sets whether the projectile has left the hitbox of their shooter and can now hit entities. This is recalculated each tick if the projectile has a shooter.
      Parameters:
      leftShooter - has left shooter's hitbox
    • hasBeenShot

      boolean hasBeenShot()
      Gets whether the projectile has been shot into the world and has sent a projectile shot game event.
      Returns:
      has been shot into the world
    • setHasBeenShot

      void setHasBeenShot(boolean beenShot)
      Sets whether the projectile has been shot into the world and has sent a projectile shot game event in the next tick. Setting this to false will cause a game event to fire and the value to be set back to true.
      Parameters:
      beenShot - has been in shot into the world