From 8f0c812b0ab30e078ff686cbfbca9cb170348966 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Fri, 22 Apr 2011 02:18:13 -0700 Subject: [PATCH] Added weather control methods. By: sk89q --- .../org/bukkit/craftbukkit/CraftWorld.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) 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 c316bc214d..f6839116ea 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -363,7 +363,6 @@ public class CraftWorld implements World { return creature; } - @Override public LightningStrike strikeLightning(Location loc) { EntityWeatherStorm lightning = new EntityWeatherStorm(world, loc.getX(), loc.getY(), loc.getZ()); world.a(lightning); @@ -549,4 +548,27 @@ public class CraftWorld implements World { // Saves all chunks/regions world.chunkProvider.saveChunks(true, null); } + + public boolean hasStorm() { + return world.worldData.l(); + } + + public void setStorm(boolean hasStorm) { + world.worldData.b(hasStorm); + + // These numbers are from Minecraft + if (hasStorm) { + setWeatherDuration(rand.nextInt(12000) + 12000); + } else { + setWeatherDuration(rand.nextInt(168000) + 12000); + } + } + + public int getWeatherDuration() { + return world.worldData.m(); + } + + public void setWeatherDuration(int duration) { + world.worldData.c(duration); + } }