Interface Fireball

All Superinterfaces:
CommandSender, Entity, Explosive, Metadatable, Nameable, Permissible, PersistentDataHolder, Projectile, ServerOperator
All Known Subinterfaces:
AbstractWindCharge, BreezeWindCharge, DragonFireball, LargeFireball, SizedFireball, SmallFireball, WindCharge, WitherSkull

public interface Fireball extends Projectile, Explosive
Represents a Fireball.
  • Method Details

    • setDirection

      void setDirection(@NotNull Vector direction)
      Sets the direction the fireball should be flying towards.
      This is a convenience method, it will change the velocity direction and acceleration direction, while keeping the power the same.
      Note: This method only uses the direction of the vector and will normalize (a copy of) it.
      Special Case: When the given direction is zero, the velocity and acceleration will also be set to zero without keeping the power.
      Parameters:
      direction - the direction this fireball should be flying towards
      See Also:
    • getDirection

      @NotNull @Deprecated(since="1.20.6") Vector getDirection()
      Deprecated.
      badly named method, returns the value of getAcceleration()
      Retrieve the direction this fireball is heading toward. The returned vector is not normalized.
      Returns:
      the direction
      See Also:
    • setAcceleration

      void setAcceleration(@NotNull Vector acceleration)
      Sets the acceleration of the fireball. The acceleration gets applied to the velocity every tick, depending on the specific type of the fireball a damping / drag factor is applied so that the velocity does not grow into infinity.
      Note: that the client may not respect non-default acceleration power and will therefore mispredict the location of the fireball, causing visual stutter.
      Parameters:
      acceleration - the acceleration
    • getAcceleration

      @NotNull Vector getAcceleration()
      Retrieve the acceleration of this fireball.
      Returns:
      the acceleration