summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/bukkit/event/weather/LightningStrikeEvent.java39
1 files changed, 39 insertions, 0 deletions
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;
+ }
}