/
VanillaPlugin.java
93 lines (82 loc) · 3.3 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
90
91
92
93
package mezz.jei.plugins.vanilla;
import javax.annotation.Nonnull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import net.minecraft.inventory.ContainerBrewingStand;
import net.minecraft.inventory.ContainerFurnace;
import net.minecraft.inventory.ContainerWorkbench;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IModPlugin;
import mezz.jei.api.JEIManager;
import mezz.jei.api.JEIPlugin;
import mezz.jei.api.recipe.IRecipeCategory;
import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeTransferHelper;
import mezz.jei.api.recipe.VanillaRecipeCategoryUid;
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 {
@Override
public boolean isModLoaded() {
return true;
}
@Override
@Nonnull
public Iterable<? extends IRecipeCategory> getRecipeCategories() {
return Arrays.asList(
new CraftingRecipeCategory(),
new FurnaceFuelCategory(),
new FurnaceSmeltingCategory(),
new BrewingRecipeCategory()
);
}
@Override
@Nonnull
public Iterable<? extends IRecipeHandler> getRecipeHandlers() {
return Arrays.asList(
new ShapedOreRecipeHandler(),
new ShapedRecipesHandler(),
new ShapelessOreRecipeHandler(),
new ShapelessRecipesHandler(),
new FuelRecipeHandler(),
new SmeltingRecipeHandler(),
new BrewingRecipeHandler()
);
}
@Override
@Nonnull
public Iterable<? extends IRecipeTransferHelper> getRecipeTransferHelpers() {
IGuiHelper guiHelper = JEIManager.guiHelper;
return Arrays.asList(
guiHelper.createRecipeTransferHelper(ContainerWorkbench.class, VanillaRecipeCategoryUid.CRAFTING, 1, 9, 10, 36),
guiHelper.createRecipeTransferHelper(ContainerFurnace.class, VanillaRecipeCategoryUid.SMELTING, 0, 1, 1, 36),
guiHelper.createRecipeTransferHelper(ContainerFurnace.class, VanillaRecipeCategoryUid.FUEL, 1, 1, 1, 36),
guiHelper.createRecipeTransferHelper(ContainerBrewingStand.class, VanillaRecipeCategoryUid.BREWING, 0, 4, 4, 36)
);
}
@Override
@Nonnull
public Iterable<Object> getRecipes() {
List<Object> recipes = new ArrayList<>();
recipes.addAll(CraftingRecipeMaker.getCraftingRecipes());
recipes.addAll(SmeltingRecipeMaker.getFurnaceRecipes());
recipes.addAll(FuelRecipeMaker.getFuelRecipes());
recipes.addAll(BrewingRecipeMaker.getBrewingRecipes());
return recipes;
}
}