Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.mcreator.improveforbattle;
- import net.mcreator.improveforbattle.network.ImproveForBattleModVariables;
- import net.mcreator.improveforbattle.init.ImproveForBattleModItems;
- import net.mcreator.improveforbattle.init.ImproveForBattleModBlocks;
- import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
- import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.eventbus.api.SubscribeEvent;
- import net.minecraftforge.event.world.BiomeLoadingEvent;
- import net.minecraftforge.event.server.ServerStartingEvent;
- import net.minecraftforge.api.distmarker.OnlyIn;
- import net.minecraftforge.api.distmarker.Dist;
- import mezz.jei.api.IModPlugin;
- import mezz.jei.api.constants.VanillaTypes;
- import mezz.jei.api.gui.IRecipeLayout;
- import mezz.jei.api.gui.drawable.IDrawable;
- import mezz.jei.api.gui.ingredient.IGuiItemStackGroup;
- import mezz.jei.api.helpers.IGuiHelper;
- import mezz.jei.api.helpers.IJeiHelpers;
- import mezz.jei.api.ingredients.IIngredients;
- import mezz.jei.api.recipe.category.IRecipeCategory;
- import mezz.jei.api.registration.IRecipeCatalystRegistration;
- import mezz.jei.api.registration.IRecipeCategoryRegistration;
- import mezz.jei.api.registration.IRecipeRegistration;
- import net.minecraft.world.item.ItemStack;
- import net.minecraft.world.item.Items;
- import net.minecraft.util.ResourceLocation;
- import java.util.ArrayList;
- import java.util.List;
- @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
- public class JEI {
- public static IJeiHelpers jeiHelper;
- @Override
- public ResourceLocation getPluginUid() {
- return new ResourceLocation("improve_for_battle", "default");
- }
- @Override
- public void registerCategories(IRecipeCategoryRegistration registration) {
- jeiHelper = registration.getJeiHelpers();
- registration.addRecipeCategories(new ForgeAnvilJeiCategory(jeiHelper.getGuiHelper()));
- }
- @Override
- public void registerRecipes(IRecipeRegistration registration) {
- registration.addRecipes(generateForgeAnvilRecipes(), ForgeAnvilJeiCategory.Uid);
- // ...
- }
- private List<ForgeAnvilJeiCategory.ForgeAnvilRecipeWrapper> generateForgeAnvilRecipes() {
- List<ForgeAnvilJeiCategory.ForgeAnvilRecipeWrapper> recipes = new ArrayList<>();
- ArrayList<ItemStack> inputs = new ArrayList<>();
- ArrayList<ItemStack> outputs = new ArrayList<>();
- inputs.add(new ItemStack(Items.DIAMOND)); //slot 0 item
- inputs.add(new ItemStack(Items.DIAMOND)); //slot 1 item
- inputs.add(new ItemStack(Items.DIAMOND));//slot 2 item
- outputs.add(new ItemStack(Items.DIAMOND)); //slot 3 item
- // ...
- recipes.add(new ForgeAnvilJeiCategory.ForgeAnvilRecipeWrapper(inputs, outputs));
- return recipes;
- }
- @Override
- public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) {
- registration.addRecipeCatalyst(new ItemStack(ForgeAnvilBlock.block), ForgeAnvilJeiCategory.Uid);
- }
- public static class ForgeAnvilJeiCategory implements IRecipeCategory<ForgeAnvilJeiCategory.ForgeAnvilRecipeWrapper> {
- private static ResourceLocation Uid = new ResourceLocation("improve_for_battle", "forgeanvilcategory");
- private static final int input1 = 0; // THE NUMBER = SLOTID
- private static final int input2 = 1; // THE NUMBER = SLOTID
- private static final int output1 = 3; // THE NUMBER = SLOTID
- // ...
- private final String title;
- private final IDrawable background;
- public ForgeAnvilJeiCategory(IGuiHelper guiHelper) {
- this.title = "Forge Anvil";
- this.background = guiHelper.createDrawable(new ResourceLocation("improve_for_battle", "textures/anvil_forge_gui.png"), 0, 0, 178, 166);
- }
- @Override
- public ResourceLocation getUid() {
- return Uid;
- }
- @Override
- public Class<? extends ForgeAnvilRecipeWrapper> getRecipeClass() {
- return ForgeAnvilJeiCategory.ForgeAnvilRecipeWrapper.class;
- }
- @Override
- public String getTitle() {
- return title;
- }
- @Override
- public IDrawable getBackground() {
- return background;
- }
- @Override
- public IDrawable getIcon() {
- return null;
- }
- @Override
- public void setIngredients(ForgeAnvilRecipeWrapper recipeWrapper, IIngredients iIngredients) {
- iIngredients.setInputs(VanillaTypes.ITEM, recipeWrapper.getInput());
- iIngredients.setOutputs(VanillaTypes.ITEM, recipeWrapper.getOutput());
- }
- @Override
- public void setRecipe(IRecipeLayout iRecipeLayout, ForgeAnvilRecipeWrapper recipeWrapper, IIngredients iIngredients) {
- IGuiItemStackGroup stacks = iRecipeLayout.getItemStacks();
- stacks.init(input1, true, 17, 46);
- stacks.init(input2, true, 75, 46);
- stacks.init(output1, false, 143, 46);
- // ...
- stacks.set(input1, iIngredients.getInputs(VanillaTypes.ITEM).get(0));
- stacks.set(input2, iIngredients.getInputs(VanillaTypes.ITEM).get(1));
- stacks.set(output1, iIngredients.getOutputs(VanillaTypes.ITEM).get(0));
- // ...
- }
- public static class ForgeAnvilRecipeWrapper {
- private List<ItemStack> input;
- private List<ItemStack> output;
- public ForgeAnvilRecipeWrapper(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