/
IRecipeRegistryPlugin.java
29 lines (25 loc) · 1.12 KB
/
IRecipeRegistryPlugin.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
package mezz.jei.api.recipe;
import java.util.List;
import mezz.jei.api.IModRegistry;
import mezz.jei.api.IRecipeRegistry;
/**
* Recipe Registry Plugins are used by the {@link IRecipeRegistry} to look up recipes.
* JEI has its own internal plugin, which uses information from {@link IRecipeWrapper} to look up recipes.
* Implementing your own Recipe Registry Plugin offers total control of lookups, but it must be fast.
*
* Add your plugin with {@link IModRegistry#addRecipeRegistryPlugin(IRecipeRegistryPlugin)}
*
* @since JEI 3.12.0
*/
public interface IRecipeRegistryPlugin {
/**
* Returns a list of Recipe Categories offered for the focus.
* This is used internally by JEI to implement {@link IRecipeRegistry#getRecipeCategories(IFocus)}.
*/
<V> List<String> getRecipeCategoryUids(IFocus<V> focus);
/**
* Returns a list of Recipe Wrappers in the recipeCategory that have the focus.
* This is used internally by JEI to implement {@link IRecipeRegistry#getRecipeWrappers(IRecipeCategory, IFocus)}.
*/
<T extends IRecipeWrapper, V> List<T> getRecipeWrappers(IRecipeCategory<T> recipeCategory, IFocus<V> focus);
}