From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Wed, 2 Dec 2020 18:25:31 -0800 Subject: [PATCH] Add cause to Weather/ThunderChangeEvents diff --git a/src/main/java/org/bukkit/event/weather/ThunderChangeEvent.java b/src/main/java/org/bukkit/event/weather/ThunderChangeEvent.java index 6cdf83476b4e366bed79960e3706bea5ebe56788..032395c7114b6d757acf1918ce2b014870e85fcd 100644 --- a/src/main/java/org/bukkit/event/weather/ThunderChangeEvent.java +++ b/src/main/java/org/bukkit/event/weather/ThunderChangeEvent.java @@ -12,10 +12,20 @@ public class ThunderChangeEvent extends WeatherEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private boolean canceled; private final boolean to; + // Paper start + private final Cause cause; + public ThunderChangeEvent(@NotNull final World world, final boolean to, @NotNull final Cause cause) { + super(world); + this.to = to; + this.cause = cause; + } + + @Deprecated // Paper end public ThunderChangeEvent(@NotNull final World world, final boolean to) { super(world); this.to = to; + this.cause = Cause.UNKNOWN; // Paper } @Override @@ -47,4 +57,23 @@ public class ThunderChangeEvent extends WeatherEvent implements Cancellable { public static HandlerList getHandlerList() { return handlers; } + // Paper start + /** + * Gets the cause of the weather change. + * + * @return the weather change cause + */ + @NotNull + public Cause getCause() { + return this.cause; + } + + public enum Cause { + COMMAND, + NATURAL, + SLEEP, + PLUGIN, + UNKNOWN + } + // Paper end } diff --git a/src/main/java/org/bukkit/event/weather/WeatherChangeEvent.java b/src/main/java/org/bukkit/event/weather/WeatherChangeEvent.java index d562d87e7418641e52f4dae44f573eaa31add44a..dabd390b84354c14c269c03cbed2006014d004b2 100644 --- a/src/main/java/org/bukkit/event/weather/WeatherChangeEvent.java +++ b/src/main/java/org/bukkit/event/weather/WeatherChangeEvent.java @@ -12,10 +12,20 @@ public class WeatherChangeEvent extends WeatherEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private boolean canceled; private final boolean to; + // Paper start + private final Cause cause; + public WeatherChangeEvent(@NotNull final World world, final boolean to, @NotNull Cause cause) { + super(world); + this.to = to; + this.cause = cause; + } + + @Deprecated // Paper end public WeatherChangeEvent(@NotNull final World world, final boolean to) { super(world); this.to = to; + this.cause = Cause.UNKNOWN; // Paper } @Override @@ -47,4 +57,23 @@ public class WeatherChangeEvent extends WeatherEvent implements Cancellable { public static HandlerList getHandlerList() { return handlers; } + // Paper start + /** + * Gets the cause of the weather change. + * + * @return the weather change cause + */ + @NotNull + public Cause getCause() { + return cause; + } + + public enum Cause { + COMMAND, + NATURAL, + SLEEP, + PLUGIN, + UNKNOWN + } + // Paper end }