From 47b9cf30ac5f6e61c84c126075932c4b9d123d95 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 15 Sep 2018 19:16:33 +1000 Subject: SPIGOT-4372: LightningStrikeEvent cause API --- .../bukkit/event/weather/LightningStrikeEvent.java | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java b/src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java index 66fd7636..47642af6 100644 --- a/src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java +++ b/src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java @@ -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; + } } -- cgit v1.2.3