From c354c543947b3798f1fdae3955a615c407987ff6 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Fri, 9 Jun 2017 16:17:08 +1000 Subject: [PATCH] SPIGOT-3304: Respect duration from Vanilla /weather By: md_5 --- paper-server/nms-patches/WorldData.patch | 12 ++++-------- .../main/java/org/bukkit/craftbukkit/CraftWorld.java | 2 ++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/paper-server/nms-patches/WorldData.patch b/paper-server/nms-patches/WorldData.patch index 83b28f6679..d81876aa88 100644 --- a/paper-server/nms-patches/WorldData.patch +++ b/paper-server/nms-patches/WorldData.patch @@ -20,7 +20,7 @@ protected WorldData() { this.f = WorldType.NORMAL; -@@ -437,6 +443,18 @@ +@@ -437,6 +443,16 @@ } public void setThundering(boolean flag) { @@ -32,14 +32,12 @@ + if (thunder.isCancelled()) { + return; + } -+ -+ setThunderDuration(0); // Will force a time reset + } + // CraftBukkit end this.v = flag; } -@@ -453,6 +471,18 @@ +@@ -453,6 +469,16 @@ } public void setStorm(boolean flag) { @@ -51,14 +49,12 @@ + if (weather.isCancelled()) { + return; + } -+ -+ setWeatherDuration(0); // Will force a time reset + } + // CraftBukkit end this.t = flag; } -@@ -598,6 +628,12 @@ +@@ -598,6 +624,12 @@ public void setDifficulty(EnumDifficulty enumdifficulty) { this.C = enumdifficulty; @@ -71,7 +67,7 @@ } public boolean isDifficultyLocked() { -@@ -716,4 +752,12 @@ +@@ -716,4 +748,12 @@ public void a(DimensionManager dimensionmanager, NBTTagCompound nbttagcompound) { this.N.put(dimensionmanager, nbttagcompound); } diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index 2574bee486..b327669596 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -771,6 +771,7 @@ public class CraftWorld implements World { public void setStorm(boolean hasStorm) { world.worldData.setStorm(hasStorm); + setWeatherDuration(0); // Reset weather duration (legacy behaviour) } public int getWeatherDuration() { @@ -787,6 +788,7 @@ public class CraftWorld implements World { public void setThundering(boolean thundering) { world.worldData.setThundering(thundering); + setThunderDuration(0); // Reset weather duration (legacy behaviour) } public int getThunderDuration() {