Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.mcreator.berrycows;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.item.ItemStack;
- import net.mcreator.berrycows.item.PurpleRaspberryItem;
- import net.mcreator.berrycows.item.BlueberryMilkItem;
- import net.mcreator.berrycows.item.BlueberryItem;
- import net.mcreator.berrycows.block.BlueberryBlitzSmoothieBlock;
- import net.mcreator.berrycows.block.BerryBlenderBlock;
- import mezz.jei.api.registration.IRecipeRegistration;
- import mezz.jei.api.registration.IRecipeCategoryRegistration;
- import mezz.jei.api.registration.IRecipeCatalystRegistration;
- import mezz.jei.api.recipe.category.IRecipeCategory;
- import mezz.jei.api.ingredients.IIngredients;
- import mezz.jei.api.helpers.IJeiHelpers;
- import mezz.jei.api.helpers.IGuiHelper;
- import mezz.jei.api.gui.ingredient.IGuiItemStackGroup;
- import mezz.jei.api.gui.drawable.IDrawable;
- import mezz.jei.api.gui.IRecipeLayout;
- import mezz.jei.api.constants.VanillaTypes;
- import mezz.jei.api.IModPlugin;
- import java.util.List;
- import java.util.ArrayList;
- @mezz.jei.api.JeiPlugin
- public class JEIIntegration implements IModPlugin {
- public static IJeiHelpers jeiHelper;
- @Override
- public ResourceLocation getPluginUid() {
- return new ResourceLocation("berrycows", "default");
- }
- @Override
- public void registerCategories(IRecipeCategoryRegistration registration) {
- jeiHelper = registration.getJeiHelpers();
- registration.addRecipeCategories(new BerryBlenderJeiCategory(jeiHelper.getGuiHelper()));
- }
- @Override
- public void registerRecipes(IRecipeRegistration registration) {
- registration.addRecipes(generateBerryBlenderRecipes(), BerryBlenderJeiCategory.Uid);
- // ...
- }
- private List<BerryBlenderJeiCategory.BerryBlenderRecipeWrapper> generateBerryBlenderRecipes() {
- List<BerryBlenderJeiCategory.BerryBlenderRecipeWrapper> recipes = new ArrayList<>();
- ArrayList<ItemStack> inputs = new ArrayList<>();
- ArrayList<ItemStack> outputs = new ArrayList<>();
- inputs.add(new ItemStack(BlueberryItem.block)); //slot 0 item
- inputs.add(new ItemStack(PurpleRaspberryItem.block)); //slot 1 item
- inputs.add(new ItemStack(BlueberryMilkItem.block));//slot 2 item
- outputs.add(new ItemStack(BlueberryBlitzSmoothieBlock.block)); //slot 3 item
- // ...
- recipes.add(new BerryBlenderJeiCategory.BerryBlenderRecipeWrapper(inputs, outputs));
- return recipes;
- }
- @Override
- public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) {
- registration.addRecipeCatalyst(new ItemStack(BerryBlenderBlock.block), BerryBlenderJeiCategory.Uid);
- }
- public static class BerryBlenderJeiCategory implements IRecipeCategory<BerryBlenderJeiCategory.BerryBlenderRecipeWrapper> {
- private static ResourceLocation Uid = new ResourceLocation("berrycows", "berryblendercategory");
- private static final int input1 = 0; // THE NUMBER = SLOTID
- private static final int input2 = 1; // THE NUMBER = SLOTID
- private static final int input3 = 2; // THE NUMBER = SLOTID
- private static final int output1 = 3; // THE NUMBER = SLOTID
- // ...
- private final String title;
- private final IDrawable background;
- public BerryBlenderJeiCategory(IGuiHelper guiHelper) {
- this.title = "Berry Blender";
- this.background = guiHelper.createDrawable(new ResourceLocation("berrycows", "textures/BlenderGuiPng.png"), 0, 0, 645, 295);
- }
- @Override
- public ResourceLocation getUid() {
- return Uid;
- }
- @Override
- public Class<? extends BerryBlenderRecipeWrapper> getRecipeClass() {
- return BerryBlenderJeiCategory.BerryBlenderRecipeWrapper.class;
- }
- @Override
- public String getTitle() {
- return title;
- }
- @Override
- public IDrawable getBackground() {
- return background;
- }
- @Override
- public IDrawable getIcon() {
- return null;
- }
- @Override
- public void setIngredients(BerryBlenderRecipeWrapper recipeWrapper, IIngredients iIngredients) {
- iIngredients.setInputs(VanillaTypes.ITEM, recipeWrapper.getInput());
- iIngredients.setOutputs(VanillaTypes.ITEM, recipeWrapper.getOutput());
- }
- @Override
- public void setRecipe(IRecipeLayout iRecipeLayout, BerryBlenderRecipeWrapper recipeWrapper, IIngredients iIngredients) {
- IGuiItemStackGroup stacks = iRecipeLayout.getItemStacks();
- stacks.init(input1, true, 132, 56);
- stacks.init(input2, true, 132, 146);
- stacks.init(input3, true, 132, 236);
- stacks.init(output1, false, 586, 127);
- // ...
- stacks.set(input1, iIngredients.getInputs(VanillaTypes.ITEM).get(0));
- stacks.set(input2, iIngredients.getInputs(VanillaTypes.ITEM).get(1));
- stacks.set(input3, iIngredients.getInputs(VanillaTypes.ITEM).get(2));
- stacks.set(output1, iIngredients.getOutputs(VanillaTypes.ITEM).get(0));
- // ...
- }
- public static class BerryBlenderRecipeWrapper {
- private List<ItemStack> input;
- private List<ItemStack> output;
- public BerryBlenderRecipeWrapper(List<ItemStack> input, List<ItemStack> output) {
- this.input = input;
- this.output = output;
- }
- public List<ItemStack> getInput() {
- return input;
- }
- public List<ItemStack> getOutput() {
- return output;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement