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

org.bukkit.entity.Projectile Maven / Gradle / Ivy

package org.bukkit.entity;

import org.bukkit.projectiles.ProjectileSource;

/**
 * Represents a shootable entity.
 */
public interface Projectile extends Entity {

  /**
   * This method exists for legacy reasons to provide backwards
   * compatibility. It will not exist at runtime and should not be used
   * under any circumstances.
   *
   * @return the {@link LivingEntity} that shot this projectile
   */
  @Deprecated
  LivingEntity _INVALID_getShooter();

  /**
   * Retrieve the shooter of this projectile.
   *
   * @return the {@link ProjectileSource} that shot this projectile
   */
  ProjectileSource getShooter();

  /**
   * Set the shooter of this projectile.
   *
   * @param source the {@link ProjectileSource} that shot this projectile
   */
  void setShooter(ProjectileSource source);

  /**
   * This method exists for legacy reasons to provide backwards
   * compatibility. It will not exist at runtime and should not be used
   * under any circumstances.
   *
   * @param shooter the {@link LivingEntity} that shot this projectile
   */
  @Deprecated
  void _INVALID_setShooter(LivingEntity shooter);

  /**
   * 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. * * @return true if it should bounce. */ boolean doesBounce(); /** * Set whether or not this projectile should bounce or not when it hits * something. * * @param doesBounce whether or not it should bounce. */ void setBounce(boolean doesBounce); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy