/
IRecipeRegistry.java
62 lines (46 loc) · 2.34 KB
/
IRecipeRegistry.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
54
55
56
57
58
59
60
61
62
package mezz.jei.api;
import com.google.common.collect.ImmutableList;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import mezz.jei.api.recipe.IRecipeCategory;
import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeTransferHelper;
/**
* The IRecipeManager offers several functions for retrieving and handling recipes.
* The IRecipeManager instance is provided in JEIManager.
* Available after JEI's FMLLoadCompleteEvent event
*/
public interface IRecipeRegistry {
/** Returns the IRecipeHandler associated with the recipeClass or null if there is none */
@Nullable
IRecipeHandler getRecipeHandler(Class recipeClass);
/** Returns a list of Recipe Categories that have the ItemStack as an input */
@Nonnull
ImmutableList<IRecipeCategory> getRecipeCategoriesWithInput(ItemStack input);
/** Returns a list of Recipe Categories that have the Fluid as an input */
@Nonnull
ImmutableList<IRecipeCategory> getRecipeCategoriesWithInput(Fluid input);
/** Returns a list of Recipe Categories that have the ItemStack as an output */
@Nonnull
ImmutableList<IRecipeCategory> getRecipeCategoriesWithOutput(ItemStack output);
/** Returns a list of Recipe Categories that have the Fluid as an output */
@Nonnull
ImmutableList<IRecipeCategory> getRecipeCategoriesWithOutput(Fluid output);
/** Returns a list of Recipes of recipeCategory that have the ItemStack as an input */
@Nonnull
ImmutableList<Object> getRecipesWithInput(IRecipeCategory recipeCategory, ItemStack input);
/** Returns a list of Recipes of recipeCategory that have the Fluid as an input */
@Nonnull
ImmutableList<Object> getRecipesWithInput(IRecipeCategory recipeCategory, Fluid input);
/** Returns a list of Recipes of recipeCategory that have the ItemStack as an output */
@Nonnull
ImmutableList<Object> getRecipesWithOutput(IRecipeCategory recipeCategory, ItemStack output);
/** Returns a list of Recipes of recipeCategory that have the Fluid as an output */
@Nonnull
ImmutableList<Object> getRecipesWithOutput(IRecipeCategory recipeCategory, Fluid output);
@Nullable
IRecipeTransferHelper getRecipeTransferHelper(Container container, IRecipeCategory recipeCategory);
}