/
VanillaPlugin.java
89 lines (76 loc) · 3.45 KB
/
VanillaPlugin.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package mezz.jei.plugins.vanilla;
import net.minecraft.inventory.ContainerBrewingStand;
import net.minecraft.inventory.ContainerFurnace;
import net.minecraft.inventory.ContainerWorkbench;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IItemRegistry;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.IModPlugin;
import mezz.jei.api.IModRegistry;
import mezz.jei.api.IRecipeRegistry;
import mezz.jei.api.JEIPlugin;
import mezz.jei.api.recipe.VanillaRecipeCategoryUid;
import mezz.jei.api.recipe.transfer.IRecipeTransferRegistry;
import mezz.jei.plugins.vanilla.brewing.BrewingRecipeCategory;
import mezz.jei.plugins.vanilla.brewing.BrewingRecipeHandler;
import mezz.jei.plugins.vanilla.brewing.BrewingRecipeMaker;
import mezz.jei.plugins.vanilla.crafting.CraftingRecipeCategory;
import mezz.jei.plugins.vanilla.crafting.CraftingRecipeMaker;
import mezz.jei.plugins.vanilla.crafting.ShapedOreRecipeHandler;
import mezz.jei.plugins.vanilla.crafting.ShapedRecipesHandler;
import mezz.jei.plugins.vanilla.crafting.ShapelessOreRecipeHandler;
import mezz.jei.plugins.vanilla.crafting.ShapelessRecipesHandler;
import mezz.jei.plugins.vanilla.furnace.FuelRecipeHandler;
import mezz.jei.plugins.vanilla.furnace.FuelRecipeMaker;
import mezz.jei.plugins.vanilla.furnace.FurnaceFuelCategory;
import mezz.jei.plugins.vanilla.furnace.FurnaceSmeltingCategory;
import mezz.jei.plugins.vanilla.furnace.SmeltingRecipeHandler;
import mezz.jei.plugins.vanilla.furnace.SmeltingRecipeMaker;
@JEIPlugin
public class VanillaPlugin implements IModPlugin {
private IItemRegistry itemRegistry;
private IJeiHelpers jeiHelpers;
@Override
public boolean isModLoaded() {
return true;
}
@Override
public void onJeiHelpersAvailable(IJeiHelpers jeiHelpers) {
this.jeiHelpers = jeiHelpers;
}
@Override
public void onItemRegistryAvailable(IItemRegistry itemRegistry) {
this.itemRegistry = itemRegistry;
}
@Override
public void register(IModRegistry registry) {
IGuiHelper guiHelper = jeiHelpers.getGuiHelper();
registry.addRecipeCategories(
new CraftingRecipeCategory(guiHelper),
new FurnaceFuelCategory(guiHelper),
new FurnaceSmeltingCategory(guiHelper),
new BrewingRecipeCategory(guiHelper)
);
registry.addRecipeHandlers(
new ShapedOreRecipeHandler(),
new ShapedRecipesHandler(),
new ShapelessOreRecipeHandler(),
new ShapelessRecipesHandler(),
new FuelRecipeHandler(),
new SmeltingRecipeHandler(),
new BrewingRecipeHandler()
);
IRecipeTransferRegistry recipeTransferRegistry = registry.getRecipeTransferRegistry();
recipeTransferRegistry.addRecipeTransferHandler(ContainerWorkbench.class, VanillaRecipeCategoryUid.CRAFTING, 1, 9, 10, 36);
recipeTransferRegistry.addRecipeTransferHandler(ContainerFurnace.class, VanillaRecipeCategoryUid.SMELTING, 0, 1, 1, 36);
recipeTransferRegistry.addRecipeTransferHandler(ContainerFurnace.class, VanillaRecipeCategoryUid.FUEL, 1, 1, 1, 36);
recipeTransferRegistry.addRecipeTransferHandler(ContainerBrewingStand.class, VanillaRecipeCategoryUid.BREWING, 0, 4, 4, 36);
registry.addRecipes(CraftingRecipeMaker.getCraftingRecipes());
registry.addRecipes(SmeltingRecipeMaker.getFurnaceRecipes());
registry.addRecipes(FuelRecipeMaker.getFuelRecipes(itemRegistry, guiHelper));
registry.addRecipes(BrewingRecipeMaker.getBrewingRecipes(itemRegistry));
}
@Override
public void onRecipeRegistryAvailable(IRecipeRegistry recipeRegistry) {
}
}