summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
authorT00thpick1 <t00thpick1dirko@gmail.com>2012-12-07 14:19:01 -0500
committerTravis Watkins <amaranth@ubuntu.com>2013-03-18 13:09:11 -0500
commitfcb5b20e273e2171118d5cb77135c82a9339e878 (patch)
treeeb4c88866923e81718107285b79f70dfed31defd /src/main/java/org
parent0abbb9caa3f46a580e706af7844dea166f9b1bc0 (diff)
downloadbukkit-fcb5b20e273e2171118d5cb77135c82a9339e878.tar
bukkit-fcb5b20e273e2171118d5cb77135c82a9339e878.tar.gz
bukkit-fcb5b20e273e2171118d5cb77135c82a9339e878.tar.lz
bukkit-fcb5b20e273e2171118d5cb77135c82a9339e878.tar.xz
bukkit-fcb5b20e273e2171118d5cb77135c82a9339e878.zip
Add per-player Weather API. Adds BUKKIT-812
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/WeatherType.java16
-rw-r--r--src/main/java/org/bukkit/entity/Player.java24
2 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/WeatherType.java b/src/main/java/org/bukkit/WeatherType.java
new file mode 100644
index 00000000..624ed489
--- /dev/null
+++ b/src/main/java/org/bukkit/WeatherType.java
@@ -0,0 +1,16 @@
+package org.bukkit;
+
+/**
+ * An enum of all current weather types
+ */
+public enum WeatherType {
+ /**
+ * Raining or snowing depending on biome.
+ */
+ DOWNFALL,
+ /**
+ * Clear weather, clouds but no rain.
+ */
+ CLEAR,
+ ;
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 749e2031..072607f3 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -12,6 +12,7 @@ import org.bukkit.Note;
import org.bukkit.OfflinePlayer;
import org.bukkit.Sound;
import org.bukkit.Statistic;
+import org.bukkit.WeatherType;
import org.bukkit.command.CommandSender;
import org.bukkit.conversations.Conversable;
import org.bukkit.map.MapView;
@@ -364,6 +365,29 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline
public void resetPlayerTime();
/**
+ * Sets the type of weather the player will see. When used, the weather
+ * status of the player is locked until {@link #resetPlayerWeather()} is
+ * used.
+ *
+ * @param type The WeatherType enum type the player should experience
+ */
+ public void setPlayerWeather(WeatherType type);
+
+ /**
+ * Returns the type of weather the player is currently experiencing.
+ *
+ * @return The WeatherType that the player is currently experiencing or
+ * null if player is seeing server weather.
+ */
+ public WeatherType getPlayerWeather();
+
+ /**
+ * Restores the normal condition where the player's weather is controlled
+ * by server conditions.
+ */
+ public void resetPlayerWeather();
+
+ /**
* Gives the player the amount of experience specified.
*
* @param amount Exp amount to give