package buildcraft.api.recipes;
import java.util.List;
import net.minecraft.item.ItemStack;
public interface IProgrammingRecipe {
String getId();
/**
* Get a list (size at least width*height) of ItemStacks representing options.
* @param width The width of the Programming Table panel.
* @param height The height of the Programming Table panel.
* @return
*/
List<ItemStack> getOptions(int width, int height);
/**
* Get the energy cost of a given option ItemStack.
* @param option
* @return
*/
int getEnergyCost(ItemStack option);
/**
* @param input The input stack.
* @return Whether this recipe applies to the given input stack.
*/
boolean canCraft(ItemStack input);
/**
* Craft the input ItemStack with the given option into an output ItemStack.
* @param input
* @param option
* @return The output ItemStack.
*/
ItemStack craft(ItemStack input, ItemStack option);
}