123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package me.km.commands;
- import me.km.api.GlobalText;
- import me.km.api.Module;
- import me.km.api.ModuleCommand;
- import me.km.dimensions.ModDimensions;
- import me.km.permissions.Permissions;
- import net.minecraft.command.ICommandSender;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.world.World;
- import net.minecraft.world.storage.WorldInfo;
- public class CommandWeather extends ModuleCommand
- {
- public CommandWeather(Module m)
- {
- super("weather", m);
- super.setDescription("Setzt das Wetter in einer Welt");
- super.setUsage("/weather <clear|rain|thunder> [world] [ticks]");
- super.setPermission(Permissions.WEATHER);
- }
- @Override
- public boolean execute(ICommandSender cs, String[] arg)
- {
- if(arg.length == 0)
- {
- return false;
- }
- World w;
- if(arg.length >= 2)
- {
- w = ModDimensions.getWorldFromName(arg[1]);
- if(w == null)
- {
- this.getModule().send(cs, "Die Welt '" + arg[1] + "' wurde nicht gefunden.");
- return true;
- }
- }
- else if(cs instanceof EntityPlayer)
- {
- w = ((EntityPlayer) cs).getEntityWorld();
- }
- else
- {
- this.getModule().send(cs, GlobalText.missingParameter());
- return true;
- }
-
- int time;
- if(arg.length >= 3)
- {
- try
- {
- time = Integer.parseInt(arg[2]);
- if(time < 0)
- {
- this.getModule().send(cs, GlobalText.noNaturalNumber());
- return true;
- }
- }
- catch(Exception ex)
- {
- this.getModule().send(cs, GlobalText.noNaturalNumber());
- return true;
- }
- }
- else
- {
- time = 24000;
- }
-
- WorldInfo wi = w.getWorldInfo();
- switch(arg[0].toLowerCase())
- {
- case "clear":
- {
- wi.setCleanWeatherTime(time);
- wi.setRainTime(0);
- wi.setThunderTime(0);
- wi.setRaining(false);
- wi.setThundering(false);
- this.getModule().send(cs, "Das Wetter ist wieder klar.");
- return true;
- }
- case "rain":
- {
- wi.setCleanWeatherTime(0);
- wi.setRainTime(time);
- wi.setThunderTime(time);
- wi.setRaining(true);
- wi.setThundering(false);
- this.getModule().send(cs, "Es regnet nun für " + time + " Ticks.");
- return true;
- }
- case "thunder":
- {
- wi.setCleanWeatherTime(0);
- wi.setRainTime(time);
- wi.setThunderTime(time);
- wi.setRaining(true);
- wi.setThundering(true);
- this.getModule().send(cs, "Es gewittert nun für " + time + " Ticks.");
- return true;
- }
- }
- return false;
- }
- }
|