001 package net.minecraft.command; 002 003 import java.util.List; 004 import java.util.Random; 005 import net.minecraft.server.MinecraftServer; 006 import net.minecraft.world.WorldServer; 007 import net.minecraft.world.storage.WorldInfo; 008 009 public class CommandWeather extends CommandBase 010 { 011 public String getCommandName() 012 { 013 return "weather"; 014 } 015 016 /** 017 * Return the required permission level for this command. 018 */ 019 public int getRequiredPermissionLevel() 020 { 021 return 2; 022 } 023 024 public void processCommand(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) 025 { 026 if (par2ArrayOfStr.length < 1) 027 { 028 throw new WrongUsageException("commands.weather.usage", new Object[0]); 029 } 030 else 031 { 032 int var3 = (300 + (new Random()).nextInt(600)) * 20; 033 034 if (par2ArrayOfStr.length >= 2) 035 { 036 var3 = parseIntBounded(par1ICommandSender, par2ArrayOfStr[1], 1, 1000000) * 20; 037 } 038 039 WorldServer var4 = MinecraftServer.getServer().worldServers[0]; 040 WorldInfo var5 = var4.getWorldInfo(); 041 var5.setRainTime(var3); 042 var5.setThunderTime(var3); 043 044 if ("clear".equalsIgnoreCase(par2ArrayOfStr[0])) 045 { 046 var5.setRaining(false); 047 var5.setThundering(false); 048 notifyAdmins(par1ICommandSender, "commands.weather.clear", new Object[0]); 049 } 050 else if ("rain".equalsIgnoreCase(par2ArrayOfStr[0])) 051 { 052 var5.setRaining(true); 053 var5.setThundering(false); 054 notifyAdmins(par1ICommandSender, "commands.weather.rain", new Object[0]); 055 } 056 else if ("thunder".equalsIgnoreCase(par2ArrayOfStr[0])) 057 { 058 var5.setRaining(true); 059 var5.setThundering(true); 060 notifyAdmins(par1ICommandSender, "commands.weather.thunder", new Object[0]); 061 } 062 } 063 } 064 065 /** 066 * Adds the strings available in this command to the given list of tab completion options. 067 */ 068 public List addTabCompletionOptions(ICommandSender par1ICommandSender, String[] par2ArrayOfStr) 069 { 070 return par2ArrayOfStr.length == 1 ? getListOfStringsMatchingLastWord(par2ArrayOfStr, new String[] {"clear", "rain", "thunder"}): null; 071 } 072 }