/** Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team http://www.mod-buildcraft.com
*
* The BuildCraft API is distributed under the terms of the MIT License. Please check the contents of the license, which
* should be located as "LICENSE.API" in the BuildCraft source code distribution. */
package buildcraft.api.recipes;
import java.util.Collection;
public interface IRecipeManager<T> {
/** Add a recipe.
*
* @param input Object... containing either an ItemStack, or a paired string and integer(ex: "dyeBlue", 1)
* @param energyCost RF cost to produce
* @param output resulting ItemStack */
void addRecipe(String id, int energyCost, T output, Object... input);
void addRecipe(String id, int energyCost, int craftingDelay, T output, Object... input);
void addRecipe(IFlexibleRecipe<T> recipe);
void removeRecipe(String id);
void removeRecipe(IFlexibleRecipe<T> recipe);
Collection<IFlexibleRecipe<T>> getRecipes();
IFlexibleRecipe<T> getRecipe(String id);
}