/** 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); }