mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-08 03:22:19 +01:00
SPIGOT-4372: LightningStrikeEvent cause API
By: md_5 <git@md-5.net>
This commit is contained in:
parent
88399f1f47
commit
21030f1700
1 changed files with 39 additions and 0 deletions
|
@ -12,10 +12,17 @@ public class LightningStrikeEvent extends WeatherEvent implements Cancellable {
|
|||
private static final HandlerList handlers = new HandlerList();
|
||||
private boolean canceled;
|
||||
private final LightningStrike bolt;
|
||||
private final Cause cause;
|
||||
|
||||
@Deprecated
|
||||
public LightningStrikeEvent(final World world, final LightningStrike bolt) {
|
||||
this(world, bolt, Cause.UNKNOWN);
|
||||
}
|
||||
|
||||
public LightningStrikeEvent(final World world, final LightningStrike bolt, final Cause cause) {
|
||||
super(world);
|
||||
this.bolt = bolt;
|
||||
this.cause = cause;
|
||||
}
|
||||
|
||||
public boolean isCancelled() {
|
||||
|
@ -35,6 +42,15 @@ public class LightningStrikeEvent extends WeatherEvent implements Cancellable {
|
|||
return bolt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the cause of this lightning strike.
|
||||
*
|
||||
* @return strike cause
|
||||
*/
|
||||
public Cause getCause() {
|
||||
return cause;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
|
@ -43,4 +59,27 @@ public class LightningStrikeEvent extends WeatherEvent implements Cancellable {
|
|||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public enum Cause {
|
||||
/**
|
||||
* Triggered by the /summon command.
|
||||
*/
|
||||
COMMAND,
|
||||
/**
|
||||
* Triggered by an enchanted trident.
|
||||
*/
|
||||
TRIDENT,
|
||||
/**
|
||||
* Triggered by a skeleton horse trap.
|
||||
*/
|
||||
TRAP,
|
||||
/**
|
||||
* Triggered by weather.
|
||||
*/
|
||||
WEATHER,
|
||||
/**
|
||||
* Unknown trigger.
|
||||
*/
|
||||
UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue