/
IVanillaRecipeFactory.java
53 lines (48 loc) · 2 KB
/
IVanillaRecipeFactory.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package mezz.jei.api.recipe;
import java.util.Collection;
import java.util.List;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.IModRegistry;
import mezz.jei.api.IRecipeRegistry;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
/**
* Allows creation of vanilla recipes.
* Get the instance from {@link IJeiHelpers#getStackHelper()}.
* <p>
* Use {@link IModRegistry#addRecipes(Collection, String)} to add the recipe, or
* use {@link IRecipeRegistry#addRecipe(IRecipeWrapper, String)} to add the recipe while the game is running.
*
* @since JEI 4.5.0
*/
public interface IVanillaRecipeFactory {
/**
* Adds an anvil recipe for the given inputs and output.
*
* @param leftInput The itemStack placed on the left slot.
* @param rightInputs The itemStack(s) placed on the right slot.
* @param outputs The resulting itemStack(s).
* @return the {@link IRecipeWrapper} for this recipe.
*/
IRecipeWrapper createAnvilRecipe(ItemStack leftInput, List<ItemStack> rightInputs, List<ItemStack> outputs);
/**
* Create a new smelting recipe.
* By default, all smelting recipes from {@link FurnaceRecipes#smeltingList} are already added by JEI.
*
* @param inputs the list of possible inputs to rotate through
* @param output the output
* @return the {@link IRecipeWrapper} for this recipe.
*/
IRecipeWrapper createSmeltingRecipe(List<ItemStack> inputs, ItemStack output);
/**
* Create a new brewing recipe.
* By default, all brewing recipes are already detected and added by JEI.
*
* @param ingredients the ingredients added to a potion to create a new one.
* Normally one ingredient, but a list will display several in rotation.
* @param potionInput the input potion for the brewing recipe.
* @param potionOutput the output potion for the brewing recipe.
* @return the {@link IRecipeWrapper} for this recipe.
*/
IRecipeWrapper createBrewingRecipe(List<ItemStack> ingredients, ItemStack potionInput, ItemStack potionOutput);
}