// Path: src/api/java/appeng/api/recipes/ICraftHandler.java
// public interface ICraftHandler
// {
// 
// 	/**
// 	 * Called when your recipe handler receives a newly parsed list of inputs/outputs.
// 	 * 
// 	 * @param input
// 	 * @param output
// 	 * @throws RecipeError
// 	 */
// 	public void setup(List<List<IIngredient>> input, List<List<IIngredient>> output) throws RecipeError;
// 
// 	/**
// 	 * called when all recipes are parsed, and your required to register your recipe.
// 	 * 
// 	 * @throws RegistrationError
// 	 * @throws MissingIngredientError
// 	 */
// 	public void register() throws RegistrationError, MissingIngredientError;
// 
// }
// 
// Path: src/api/java/appeng/api/recipes/IRecipeHandler.java
// public interface IRecipeHandler
// {
// 
// 	/**
// 	 * Call when you want to read recipes in from a file based on a loader
// 	 * 
// 	 * @param loader
// 	 * @param path
// 	 */
// 	void parseRecipes(IRecipeLoader loader, String path);
// 
// 	/**
// 	 * this loads the read recipes into minecraft.
// 	 */
// 	void registerHandlers();
// 
// }


import appeng.api.recipes.ICraftHandler;
import appeng.api.recipes.IRecipeHandler;
import appeng.api.recipes.ISubItemResolver;
package appeng.api.features;


public interface IRecipeHandlerRegistry
{

	/**
	 * Add a new Recipe Handler to the parser.
	 * 
	 * MUST BE CALLED IN PRE-INIT
	 * 
	 * @param name
	 * @param handler
	 */
// Path: src/api/java/appeng/api/recipes/ICraftHandler.java
// public interface ICraftHandler
// {
// 
// 	/**
// 	 * Called when your recipe handler receives a newly parsed list of inputs/outputs.
// 	 * 
// 	 * @param input
// 	 * @param output
// 	 * @throws RecipeError
// 	 */
// 	public void setup(List<List<IIngredient>> input, List<List<IIngredient>> output) throws RecipeError;
// 
// 	/**
// 	 * called when all recipes are parsed, and your required to register your recipe.
// 	 * 
// 	 * @throws RegistrationError
// 	 * @throws MissingIngredientError
// 	 */
// 	public void register() throws RegistrationError, MissingIngredientError;
// 
// }
// 
// Path: src/api/java/appeng/api/recipes/IRecipeHandler.java
// public interface IRecipeHandler
// {
// 
// 	/**
// 	 * Call when you want to read recipes in from a file based on a loader
// 	 * 
// 	 * @param loader
// 	 * @param path
// 	 */
// 	void parseRecipes(IRecipeLoader loader, String path);
// 
// 	/**
// 	 * this loads the read recipes into minecraft.
// 	 */
// 	void registerHandlers();
// 
// }


// Path: src/api/java/appeng/api/features/IRecipeHandlerRegistry.java
import appeng.api.recipes.ICraftHandler;
import appeng.api.recipes.IRecipeHandler;
import appeng.api.recipes.ISubItemResolver;

package appeng.api.features;


public interface IRecipeHandlerRegistry
{

	/**
	 * Add a new Recipe Handler to the parser.
	 * 
	 * MUST BE CALLED IN PRE-INIT
	 * 
	 * @param name
	 * @param handler
	 */
	void addNewCraftHandler(String name, Class<? extends ICraftHandler> handler);