All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bukkit.projectiles.ProjectileSource Maven / Gradle / Ivy

package org.bukkit.projectiles;

import org.bukkit.entity.Projectile;
import org.bukkit.util.Vector;

/**
 * Represents a valid source of a projectile.
 */
public interface ProjectileSource {

  /**
   * Launches a {@link Projectile} from the ProjectileSource.
   *
   * @param         a projectile subclass
   * @param projectile class of the projectile to launch
   * @return the launched projectile
   */
   T launchProjectile(Class projectile);

  /**
   * Launches a {@link Projectile} from the ProjectileSource with an
   * initial velocity.
   *
   * @param         a projectile subclass
   * @param projectile class of the projectile to launch
   * @param velocity   the velocity with which to launch
   * @return the launched projectile
   */
   T launchProjectile(Class projectile, Vector velocity);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy