Package com.sijobe.spc.command

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

package com.sijobe.spc.command;

import com.sijobe.spc.validation.Parameter;
import com.sijobe.spc.validation.ParameterString;
import com.sijobe.spc.validation.Parameters;
import com.sijobe.spc.wrapper.CommandException;
import com.sijobe.spc.wrapper.CommandSender;
import com.sijobe.spc.wrapper.Player;

import java.util.List;
import java.util.Map;

import net.minecraft.src.FurnaceRecipes;
import net.minecraft.src.ItemStack;

/**
* Cooks player's current item or all items
*
* @author q3hardcore
* @version 1.0
*/
@Command (
         name = "superheat",
         description = "Cooks items where possible",
         example = "all",
         videoURL = ""
)
public class SuperHeat extends StandardCommand {

   /**
    * The parameters of the command
    */
   private static final Parameters PARAMETERS = new Parameters (
            new Parameter[] {
                     new ParameterString("[all]", true, new String[] {"all"})
            }
   );

   @Override
   public void execute(CommandSender sender, List<?> params) throws CommandException {
      @SuppressWarnings("unchecked")
      Map<Integer, ItemStack> smelt = FurnaceRecipes.smelting().getSmeltingList();

      Player player = getSenderAsPlayer(sender);
      boolean all = false;

      if (params.size() != 0) {
         all = true;
      }

      ItemStack[] mainInventory = player.getMinecraftPlayer().inventory.mainInventory;

      int length = all ? mainInventory.length : 1;
      int start = all ? 0 : player.getCurrentSlot(); // currentItem

      for (int i = start; i < start + length; i++) {
         ItemStack oldStack = mainInventory[i];
         if (oldStack == null) {
            continue;
         }
         int key = oldStack.itemID;
         if (smelt.containsKey(key) && smelt.get(key) != null) {
            int amt = oldStack.stackSize;
            ItemStack temp = smelt.get(key);
            int id = temp.itemID;
            int damage = temp.getItemDamage();
            ItemStack item = new ItemStack(id, amt, damage);
            mainInventory[i] = item;
         }
      }
   }

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

}
TOP

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

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.