Interface ProjectileSource

All Known Subinterfaces:
AbstractHorse, AbstractVillager, Ageable, Ambient, Animals, ArmorStand, Bat, Bee, Blaze, BlockProjectileSource, Breedable, Cat, CaveSpider, ChestedHorse, Chicken, Cod, ComplexLivingEntity, Cow, Creature, Creeper, Dolphin, Donkey, Drowned, ElderGuardian, EnderDragon, Enderman, Endermite, Evoker, Fish, Flying, Fox, Ghast, Giant, Golem, Guardian, Hoglin, Horse, HumanEntity, Husk, Illager, Illusioner, IronGolem, LivingEntity, Llama, MagmaCube, Mob, Monster, Mule, MushroomCow, NPC, Ocelot, Panda, Parrot, Phantom, Pig, Piglin, PiglinAbstract, PiglinBrute, PigZombie, Pillager, Player, PolarBear, PufferFish, Rabbit, Raider, RangedEntity, Ravager, Salmon, Sheep, Shulker, Silverfish, Skeleton, SkeletonHorse, Slime, Snowman, Spellcaster, Spider, Squid, Steerable, Stray, Strider, Tameable, TraderLlama, TropicalFish, Turtle, Vex, Villager, Vindicator, WanderingTrader, WaterMob, Witch, Wither, WitherSkeleton, Wolf, Zoglin, Zombie, ZombieHorse, ZombieVillager

public interface ProjectileSource
Represents a valid source of a projectile.
  • Method Details

    • launchProjectile

      @NotNull <T extends Projectile> T launchProjectile(@NotNull @NotNull Class<? extends T> projectile)
      Launches a Projectile from the ProjectileSource.
      Type Parameters:
      T - a projectile subclass
      Parameters:
      projectile - class of the projectile to launch
      Returns:
      the launched projectile
    • launchProjectile

      @NotNull <T extends Projectile> T launchProjectile(@NotNull @NotNull Class<? extends T> projectile, @Nullable @Nullable Vector velocity)
      Launches a Projectile from the ProjectileSource with an initial velocity.
      Type Parameters:
      T - a projectile subclass
      Parameters:
      projectile - class of the projectile to launch
      velocity - the velocity with which to launch
      Returns:
      the launched projectile