package joshie.harvest.calendar.command; import joshie.harvest.calendar.CalendarHelper; import joshie.harvest.calendar.HFCalendar; import joshie.harvest.core.commands.CommandManager.CommandLevel; import joshie.harvest.core.commands.HFCommand; import net.minecraft.command.CommandBase; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; import net.minecraft.command.WrongUsageException; import net.minecraft.server.MinecraftServer; import javax.annotation.Nonnull; @HFCommand @SuppressWarnings("unused") public class HFCommandTime extends CommandBase { @Override @Nonnull public String getCommandName() { return "time"; } @Override @Nonnull public String getCommandUsage(@Nonnull ICommandSender sender) { return "/hf time <set|add> <value>"; } @Override public int getRequiredPermissionLevel() { return CommandLevel.OP_AFFECT_GAMEPLAY.ordinal(); } @Override public void execute(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] parameters) throws CommandException { if (parameters.length > 1) { if (parameters[0].equals("set")) { long time = CalendarHelper.getElapsedDays(server.worldServers[0].getWorldTime()) * HFCalendar.TICKS_PER_DAY; switch (parameters[1]) { case "day": time += 3000; break; case "night": time += 18000; break; default: time += (parseInt(parameters[1]) - 6000L); break; } CalendarHelper.setWorldTime(server, time); } if (parameters[0].equals("add")) { int l = parseInt(parameters[1]); CalendarHelper.setWorldTime(server, server.worldServers[0].getWorldTime() + l); } } else throw new WrongUsageException(getCommandUsage(sender)); } }