package com.sijobe.spc.command; import com.sijobe.spc.util.FontColour; import com.sijobe.spc.validation.Parameter; import com.sijobe.spc.validation.ParameterString; import com.sijobe.spc.validation.Parameters; import com.sijobe.spc.wrapper.CommandSender; import com.sijobe.spc.wrapper.Player; import java.util.List; /** * Provides an implementation of the hunger command. Command allows the player * to heal themselves to predetermined figures * * @author simo_415 * @version 1.0 */ @Command ( name = "hunger", description = "Sets the players hunger level to pre-defined figures", example = "infinite", videoURL = "http://www.youtube.com/watch?v=Ymc7JDgdtXU", version = "1.0" ) public class Hunger extends StandardCommand { /** * Parameters of the command */ private static final Parameters PARAMETERS = new Parameters ( // TODO: Enable/disable hunger new Parameter[] { new ParameterString("<empty|full|infinite>", false, new String[] {"empty","full","infinite"}) } ); /** * @see com.sijobe.spc.wrapper.CommandBase#execute(net.minecraft.src.ICommandSender, java.util.List) */ @Override public void execute(CommandSender sender, List<?> params) { String action = (String)params.get(0); Player player = super.getSenderAsPlayer(sender); if (action.equalsIgnoreCase("empty")) { player.setHunger(0); } else if (action.equalsIgnoreCase("full")) { player.setHunger(20); } else if (action.equalsIgnoreCase("infinite")) { player.setHunger(Short.MAX_VALUE); } else if (action.equalsIgnoreCase("enable")) { player.sendChatMessage(FontColour.ORANGE + "Cannot enable/disable hunger"); return; } else if (action.equalsIgnoreCase("disable")) { player.sendChatMessage(FontColour.ORANGE + "Cannot enable/disable hunger"); return; } player.sendChatMessage("Your hunger level is set at " + FontColour.AQUA + player.getHunger()); } /** * @see com.sijobe.spc.wrapper.CommandBase#getParameters() */ @Override public Parameters getParameters() { return PARAMETERS; } }