13
0
geforkt von Mirrors/Paper

More lightning API

Dieser Commit ist enthalten in:
Nassim Jahnke 2020-07-26 14:44:16 +02:00
Ursprung 60d243ecc4
Commit a5f3b29310

Datei anzeigen

@ -22,7 +22,9 @@ public interface LightningStrike extends Entity {
* removed. By default this value is between 1 and 3.
*
* @return the flashes
* @deprecated use {@link #getFlashCount()}
*/
@Deprecated // Paper
public int getFlashes();
/**
@ -31,7 +33,9 @@ public interface LightningStrike extends Entity {
* has reduced below 0.
*
* @param flashes the flashes
* @deprecated use {@link #setFlashCount(int)}
*/
@Deprecated // Paper
public void setFlashes(int flashes);
/**
@ -110,4 +114,42 @@ public interface LightningStrike extends Entity {
@Deprecated // Paper
Spigot spigot();
// Spigot end
// Paper start
/**
* Returns the amount of flash iterations that will be done before the lightning dies.
*
* @see #getLifeTicks() for how long the current flash will last
* @return amount of flashes that will be shown before the lightning dies
*/
int getFlashCount();
/**
* Sets the amount of life iterations that will be done before the lightning dies.
* Default number of flashes on creation is between 1-3.
*
* @param flashes amount of iterations that will be done before the lightning dies, must to be a positive number
*/
void setFlashCount(int flashes);
/**
* Returns the potential entity that caused this lightning strike to spawn in the world.
* <p>
* As of implementing this method, only {@link Player}s are capable of causing a lightning strike, however as this
* might change in future minecraft releases, this method does not guarantee a player as the cause of a lightning.
* Consumers of this method should hence validate whether or not the entity is a player if they want to use player
* specific methods through an {@code instanceOf} check.
* </p>
* <p>
* A player is, as of implementing this method, responsible for a lightning, and will hence be returned here as
* a cause, if they channeled a {@link Trident} to summon it or were explicitly defined as the cause of this
* lightning through {@link #setCausingPlayer(Player)}.
* </p>
*
* @return the entity that caused this lightning or null if the lightning was not caused by a entity (e.g. normal
* weather)
*/
@org.jetbrains.annotations.Nullable
Entity getCausingEntity();
// Paper end
}