package org.bukkit.projectiles; import org.bukkit.entity.Projectile; import org.bukkit.util.Vector; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** * Represents a valid source of a projectile. */ public interface ProjectileSource { /** * Launches a {@link Projectile} from the ProjectileSource. *
* The family of launchProjectile methods only promise the ability to launch projectile types
* that the {@link ProjectileSource} is capable of firing in vanilla.
* Any other types of projectiles *may* be implemented but are not part of the method contract.
*
* @param
* The family of launchProjectile methods only promise the ability to launch projectile types
* that the {@link ProjectileSource} is capable of firing in vanilla.
* Any other types of projectiles *may* be implemented but are not part of the method contract.
*
* @param