Interface ProjectileSource
- All Known Subinterfaces:
Aerial,Ageable,Agent,Allay,Ambient,Animal,Aquatic,AreaEffectCloud,ArmorStand,Arrow,ArrowEntity,Axolotl,Bat,Bee,Blaze,BlockDisplay,BlockOccupiedMinecart,BlockProjectileSource,Boat,Boss,Camel,CarrierMinecart<M>,Cat,CaveSpider,ChestBoat,ChestMinecart,Chicken,ClientPlayer,Cod,CommandBlockMinecart,ComplexLiving<T>,ComplexLivingPart<P>,Cow,Creature,Creeper,DamagingProjectile,Dispenser,DisplayEntity,Dolphin,Donkey,DragonFireball,Drowned,Egg,ElderGuardian,EndCrystal,EnderDragon,EnderDragonPart,Enderman,Endermite,EnderPearl,Entity,EntityProjectileSource,EntityTargetingProjectile,Evoker,EvokerFangs,ExperienceBottle,ExperienceOrb,Explosive,ExplosiveFireball,EyeOfEnder,FallingBlock,FireballEntity,FireworkRocket,Fish,FishingBobber,Fox,Frog,FurnaceMinecart,FusedExplosive,Ghast,Giant,GlowSquid,Goat,Golem,Guardian,Hanging,Hoglin,HopperMinecart,Horse,HorseLike,Hostile,Human,Humanoid,Husk,Illager,Illusioner,Interaction,IronGolem,Item,ItemDisplay,ItemFrame,LeashKnot,LightningBolt,Living,Llama,LlamaLike,LlamaSpit,LocalPlayer,MagmaCube,Marker,Minecart,MinecartLike,Monster,Mooshroom,Mule,Ocelot,PackHorse,Painting,Panda,Parrot,Patroller,Phantom,Pig,Piglin,PiglinBrute,PiglinLike,Pillager,Player,PolarBear,Potion,PrimedTNT,Projectile,Pufferfish,Rabbit,Raider,Ranger,Ravager,RemotePlayer,Salmon,SchoolingFish,ServerPlayer,Sheep,Shulker,ShulkerBullet,Silverfish,Sittable,Skeleton,SkeletonHorse,SkeletonLike,Slime,SmallFireball,Sniffer,Snowball,SnowGolem,SpawnerMinecart,SpectralArrow,Spellcaster,Spider,Squid,Stray,Strider,Tadpole,TameableAnimal,TameableHorse,TextDisplay,TNTMinecart,Trader,TraderLlama,Trident,TropicalFish,Turtle,Vehicle,Vex,Villager,Vindicator,WanderingTrader,Warden,WeatherEffect,Witch,Wither,WitherSkeleton,WitherSkull,Wolf,Zoglin,Zombie,ZombieHorse,ZombieLike,ZombieVillager,ZombifiedPiglin
public interface ProjectileSource
Represents a valid source of a projectile.
-
Method Summary
Modifier and TypeMethodDescriptiondefault <T extends Projectile>
Optional<T>launchProjectile(Supplier<EntityType<T>> projectileType) Launches aProjectilefrom this projectile source.default <T extends Projectile>
Optional<T>launchProjectile(Supplier<EntityType<T>> projectileType, Vector3d velocity) Launches aProjectilefrom this projectile source.<T extends Projectile>
Optional<T>launchProjectile(EntityType<T> projectileType) Launches aProjectilefrom this projectile source.<T extends Projectile>
Optional<T>launchProjectile(EntityType<T> projectileType, Vector3d velocity) Launches aProjectilefrom this projectile source.default <T extends Projectile>
Optional<T>launchProjectileTo(Supplier<EntityType<T>> projectileType, Entity target) Launches a newProjectilefrom this projectile source.<T extends Projectile>
Optional<T>launchProjectileTo(EntityType<T> projectileType, Entity target) Launches a newProjectilefrom this projectile source.
-
Method Details
-
launchProjectile
Launches aProjectilefrom this projectile source.- Type Parameters:
T- The Type of Projectile- Parameters:
projectileType- The type of the projectile- Returns:
- The projectile instance if it was launched, or absent
-
launchProjectile
Launches aProjectilefrom this projectile source.- Type Parameters:
T- The Type of Projectile- Parameters:
projectileType- The type of the projectile- Returns:
- The projectile instance if it was launched, or absent
-
launchProjectile
<T extends Projectile> Optional<T> launchProjectile(EntityType<T> projectileType, Vector3d velocity) Launches aProjectilefrom this projectile source.- Type Parameters:
T- The Type of Projectile- Parameters:
projectileType- The type of the projectilevelocity- The velocity to launch the projectile- Returns:
- The projectile instance if it was launched, or absent
-
launchProjectile
default <T extends Projectile> Optional<T> launchProjectile(Supplier<EntityType<T>> projectileType, Vector3d velocity) Launches aProjectilefrom this projectile source.- Type Parameters:
T- The Type of Projectile- Parameters:
projectileType- The type of the projectilevelocity- The velocity to launch the projectile- Returns:
- The projectile instance if it was launched, or absent
-
launchProjectileTo
Launches a newProjectilefrom this projectile source.- Type Parameters:
T- The Type of Projectile- Parameters:
projectileType- The type of the projectiletarget- the target to launch the projectile at- Returns:
- the projectile if successfully launched,
Optional.empty()otherwise
-
launchProjectileTo
default <T extends Projectile> Optional<T> launchProjectileTo(Supplier<EntityType<T>> projectileType, Entity target) Launches a newProjectilefrom this projectile source.- Type Parameters:
T- The Type of Projectile- Parameters:
projectileType- The type of the projectiletarget- the target to launch the projectile at- Returns:
- the projectile if successfully launched,
Optional.empty()otherwise
-