From 87320d78f7976d9e065be056a8289f6b3ab41b98 Mon Sep 17 00:00:00 2001 From: way2muchnoise Date: Sun, 25 Sep 2016 18:07:17 +0200 Subject: [PATCH] update JEI to 3.11.+ the ingredients overhaul --- build.gradle | 5 ++-- .../jei/RecipeCategorySolderer.java | 25 +++++++++++++++++++ .../jei/RecipeWrapperSolderer.java | 11 ++++++-- .../jei/RefinedStorageJEIPlugin.java | 7 ++---- 4 files changed, 39 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index aecf07be7..9f802b2a0 100755 --- a/build.gradle +++ b/build.gradle @@ -28,7 +28,7 @@ sourceCompatibility = 1.8 targetCompatibility = 1.8 minecraft { - version = "1.10.2-12.18.1.2088" + version = "1.10.2-12.18.1.2094" runDir = "run" useDepAts = true mappings = "snapshot_20160910" @@ -51,7 +51,8 @@ repositories { } dependencies { - deobfCompile "mezz.jei:jei_1.10.2:3.9.+" + deobfCompile "mezz.jei:jei_1.10.2:3.11.+:api" + runtime "mezz.jei:jei_1.10.2:3.11.+" compile "net.darkhax.tesla:Tesla:1.10-1.2.+" compile "net.industrial-craft:industrialcraft-2:2.6.67-ex110:api" deobfCompile "MCMultiPart:MCMultiPart:1.2.1+:universal" diff --git a/src/main/java/refinedstorage/integration/jei/RecipeCategorySolderer.java b/src/main/java/refinedstorage/integration/jei/RecipeCategorySolderer.java index 6682cf506..ddc302964 100755 --- a/src/main/java/refinedstorage/integration/jei/RecipeCategorySolderer.java +++ b/src/main/java/refinedstorage/integration/jei/RecipeCategorySolderer.java @@ -4,6 +4,7 @@ import mezz.jei.api.IGuiHelper; import mezz.jei.api.gui.IDrawable; import mezz.jei.api.gui.IGuiItemStackGroup; import mezz.jei.api.gui.IRecipeLayout; +import mezz.jei.api.ingredients.IIngredients; import mezz.jei.api.recipe.IRecipeCategory; import mezz.jei.api.recipe.IRecipeWrapper; import net.minecraft.client.Minecraft; @@ -66,4 +67,28 @@ public class RecipeCategorySolderer implements IRecipeCategory { group.set(3, (ItemStack) recipeWrapper.getOutputs().get(0)); } } + + @Override + public void setRecipe(IRecipeLayout recipeLayout, IRecipeWrapper recipeWrapper, IIngredients ingredients) { + IGuiItemStackGroup group = recipeLayout.getItemStacks(); + + int x = 44 - 9; + int y = 20 - 6; + + for (int i = 0; i < 3; ++i) { + group.init(i, true, x, y); + + y += 18; + } + + group.init(3, false, 127 - 9, 38 - 6); + + if (recipeWrapper instanceof RecipeWrapperSolderer) { + for (int i = 0; i < 3; ++i) { + group.set(i, ingredients.getInputs(ItemStack.class).get(i)); + } + + group.set(3, ingredients.getOutputs(ItemStack.class).get(0)); + } + } } diff --git a/src/main/java/refinedstorage/integration/jei/RecipeWrapperSolderer.java b/src/main/java/refinedstorage/integration/jei/RecipeWrapperSolderer.java index ff649757f..bf10c8c00 100755 --- a/src/main/java/refinedstorage/integration/jei/RecipeWrapperSolderer.java +++ b/src/main/java/refinedstorage/integration/jei/RecipeWrapperSolderer.java @@ -1,12 +1,13 @@ package refinedstorage.integration.jei; -import mezz.jei.plugins.vanilla.VanillaRecipeWrapper; +import mezz.jei.api.ingredients.IIngredients; +import mezz.jei.api.recipe.BlankRecipeWrapper; import net.minecraft.item.ItemStack; import java.util.Collections; import java.util.List; -public class RecipeWrapperSolderer extends VanillaRecipeWrapper { +public class RecipeWrapperSolderer extends BlankRecipeWrapper { private List inputs; private ItemStack output; @@ -15,6 +16,12 @@ public class RecipeWrapperSolderer extends VanillaRecipeWrapper { this.output = output; } + @Override + public void getIngredients(IIngredients ingredients) { + ingredients.setInputs(ItemStack.class, inputs); + ingredients.setOutput(ItemStack.class, output); + } + @Override public List getInputs() { return inputs; diff --git a/src/main/java/refinedstorage/integration/jei/RefinedStorageJEIPlugin.java b/src/main/java/refinedstorage/integration/jei/RefinedStorageJEIPlugin.java index 0fa58a759..a75eca324 100755 --- a/src/main/java/refinedstorage/integration/jei/RefinedStorageJEIPlugin.java +++ b/src/main/java/refinedstorage/integration/jei/RefinedStorageJEIPlugin.java @@ -1,14 +1,11 @@ package refinedstorage.integration.jei; -import mezz.jei.api.IJeiRuntime; -import mezz.jei.api.IModPlugin; -import mezz.jei.api.IModRegistry; -import mezz.jei.api.JEIPlugin; +import mezz.jei.api.*; import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorageBlocks; @JEIPlugin -public class RefinedStorageJEIPlugin implements IModPlugin { +public class RefinedStorageJEIPlugin extends BlankModPlugin { public static RefinedStorageJEIPlugin INSTANCE; private IJeiRuntime runtime;