/
IModRegistry.java
70 lines (58 loc) · 2.5 KB
/
IModRegistry.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
63
64
65
66
67
68
69
70
package mezz.jei.api;
import java.util.List;
import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack;
import mezz.jei.api.recipe.IRecipeCategory;
import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeTransferHelper;
import mezz.jei.api.recipe.transfer.IRecipeTransferRegistry;
/**
* Passed to IModPlugins so they can register themselves.
*/
public interface IModRegistry {
/**
* Add the recipe categories provided by this plugin.
*/
void addRecipeCategories(IRecipeCategory... recipeCategories);
/**
* Add the recipe handlers provided by this plugin.
*/
void addRecipeHandlers(IRecipeHandler... recipeHandlers);
/**
* Add the recipe transfer helpers provided by the plugin.
* @deprecated use getRecipeTransferRegistry().addRecipeTransferHandler
*/
@Deprecated
void addRecipeTransferHelpers(IRecipeTransferHelper... recipeTransferHelpers);
/**
* Add a basic recipe transfer helper.
* Gives JEI the information it needs to transfer recipes from the player's inventory into the crafting area.
* @deprecated use getRecipeTransferRegistry().addRecipeTransferHandler
*/
@Deprecated
void addBasicRecipeTransferHelper(Class<? extends Container> containerClass, String recipeCategoryUid, int recipeSlotStart, int recipeSlotCount, int inventorySlotStart, int inventorySlotCount);
/**
* Add the recipes provided by the plugin.
* These can be regular recipes, they will get wrapped by the provided recipe handlers.
* Recipes that are already registered with minecraft's recipe managers don't need to be added here.
*/
void addRecipes(List recipes);
/**
* Add a description page for an itemStack.
* Description pages show in the recipes for an itemStack and tell the player a little bit about it.
*
* @param itemStacks the itemStack(s) to describe
* @param descriptionKeys Localization keys for description text.
* New lines can be added with "\n" or by giving multiple descriptionKeys.
* Long lines are wrapped automatically.
* Very long entries will span multiple pages automatically.
*/
void addDescription(List<ItemStack> itemStacks, String... descriptionKeys);
/**
* Get the registry for setting up recipe transfer.
*/
IRecipeTransferRegistry getRecipeTransferRegistry();
/** Turns out this isn't useful at all */
@Deprecated
void addIgnoredRecipeClasses(Class... ignoredRecipeClasses);
}