--- a/net/minecraft/server/CommandWeather.java
+++ b/net/minecraft/server/CommandWeather.java
@@ -34,17 +34,17 @@
 
             if ("clear".equalsIgnoreCase(astring[0])) {
                 worlddata.i(i);
-                worlddata.setWeatherDuration(0);
-                worlddata.setThunderDuration(0);
                 worlddata.setStorm(false);
                 worlddata.setThundering(false);
+				worlddata.setWeatherDuration(0);
+                worlddata.setThunderDuration(0);
                 a(icommandlistener, (ICommand) this, "commands.weather.clear", new Object[0]);
             } else if ("rain".equalsIgnoreCase(astring[0])) {
                 worlddata.i(0);
-                worlddata.setWeatherDuration(i);
-                worlddata.setThunderDuration(i);
+				worlddata.setThundering(false);
                 worlddata.setStorm(true);
-                worlddata.setThundering(false);
+				worlddata.setWeatherDuration(i);
+                worlddata.setThunderDuration(i);
                 a(icommandlistener, (ICommand) this, "commands.weather.rain", new Object[0]);
             } else {
                 if (!"thunder".equalsIgnoreCase(astring[0])) {
@@ -52,10 +52,10 @@
                 }
 
                 worlddata.i(0);
-                worlddata.setWeatherDuration(i);
-                worlddata.setThunderDuration(i);
                 worlddata.setStorm(true);
                 worlddata.setThundering(true);
+				worlddata.setWeatherDuration(i);
+                worlddata.setThunderDuration(i);
                 a(icommandlistener, (ICommand) this, "commands.weather.thunder", new Object[0]);
             }
 
@@ -67,4 +67,11 @@
     public List<String> tabComplete(MinecraftServer minecraftserver, ICommandListener icommandlistener, String[] astring, @Nullable BlockPosition blockposition) {
         return astring.length == 1 ? a(astring, new String[] { "clear", "rain", "thunder"}) : Collections.emptyList();
     }
+	
+	// CraftBukkit start - fix decompile error
+    @Override
+    public int compareTo(ICommand o) {
+        return a((ICommand) o);
+    }
+    // CraftBukkit end
 }