37 lines
748 B
Java
37 lines
748 B
Java
package ic2.api.recipe;
|
|
|
|
import java.util.Map;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
/**
|
|
* Recipe manager interface for basic machines.
|
|
*
|
|
* @author Richard
|
|
*/
|
|
public interface IMachineRecipeManager<V> {
|
|
/**
|
|
* Adds a recipe to the machine.
|
|
*
|
|
* @param input Recipe input
|
|
* @param output Recipe output
|
|
*/
|
|
public void addRecipe(ItemStack input, V output);
|
|
|
|
/**
|
|
* Gets the recipe output for the given input.
|
|
*
|
|
* @param input Recipe input
|
|
* @return Recipe output, or null if none
|
|
*/
|
|
public V getOutputFor(ItemStack input, boolean adjustInput);
|
|
|
|
/**
|
|
* Gets a list of recipes.
|
|
*
|
|
* You're a mad evil scientist if you ever modify this.
|
|
*
|
|
* @return List of recipes
|
|
*/
|
|
public Map<ItemStack, V> getRecipes();
|
|
}
|