Package com.sijobe.spc.command

Source Code of com.sijobe.spc.command.Difficulty

package com.sijobe.spc.command;

import com.sijobe.spc.util.FontColour;
import com.sijobe.spc.validation.Parameter;
import com.sijobe.spc.validation.ParameterInteger;
import com.sijobe.spc.validation.Parameters;
import com.sijobe.spc.wrapper.CommandException;
import com.sijobe.spc.wrapper.CommandSender;
import com.sijobe.spc.wrapper.World;

import java.util.List;

/**
* Changes the World's current difficulty setting
*
* @author simo_415
* @version 1.0
*/
@Command (
   name = "difficulty",
   description = "Sets the difficulty of the game. Valid values 0-3",
   example = "0",
   videoURL = "http://www.youtube.com/watch?v=jkXYM8S41uY",
   version = "1.0",
   alias = {"diff"}
)
public class Difficulty extends StandardCommand {
   /**
    * The parameters of the command
    */
   private static final Parameters PARAMETERS = new Parameters (
      new Parameter[] {
         new ParameterInteger("[DIFFICULTY]", true)
      }
   );

   /**
    * @see com.sijobe.spc.wrapper.CommandBase#execute(com.sijobe.spc.wrapper.CommandSender, java.util.List)
    */
   @Override
   public void execute(CommandSender sender, List<?> params) throws CommandException {
      World world = super.getSenderAsPlayer(sender).getWorld();
      if (params.size() > 0) {
         world.setDifficulty((Integer)params.get(0));
      } else {
         world.setDifficulty((world.getDifficulty() + 1) % 4);
      }
      String difficulty = "";
      switch (world.getDifficulty()) {
         case 0:
            difficulty = FontColour.GREEN + "peaceful";
            break;
         case 1:
            difficulty = FontColour.YELLOW + "easy";
            break;
         case 2:
            difficulty = FontColour.ORANGE + "normal";
            break;
         case 3:
            difficulty = FontColour.RED + "hard";
            break;
      }
      sender.sendMessageToPlayer("Difficulty was set to " + difficulty);
   }

   /**
    * @see com.sijobe.spc.wrapper.CommandBase#getParameters()
    */
   @Override
   public Parameters getParameters() {
      return PARAMETERS;
   }
}
TOP

Related Classes of com.sijobe.spc.command.Difficulty

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.