diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-05-17 11:46:50 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2019-05-17 11:46:50 +1000 |
commit | 8b26a2af88e0a187faad9add2838b4916dfd2c1e (patch) | |
tree | afdceec71a055dac849cdaf968b1eceb53ee6b8f /src/Java/gtPlusPlus/core/util | |
parent | 687a469aab6a14eb76cd91f3ba3976fb5d8cce0c (diff) | |
download | GT5-Unofficial-8b26a2af88e0a187faad9add2838b4916dfd2c1e.tar.gz GT5-Unofficial-8b26a2af88e0a187faad9add2838b4916dfd2c1e.tar.bz2 GT5-Unofficial-8b26a2af88e0a187faad9add2838b4916dfd2c1e.zip |
$ Recipes Fixes.
$ Fixed ICO not using Pyro Recipes. Closes #471.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r-- | src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java b/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java index fcb8c42197..c56b9a09ef 100644 --- a/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java +++ b/src/Java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java @@ -7,13 +7,65 @@ import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; import gregtech.api.interfaces.internal.IGT_RecipeAdder; - +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import net.minecraftforge.fluids.FluidStack; public final class AddGregtechRecipe { + + + public static boolean importPyroRecipe(GT_Recipe aRecipe) { + + int aModifiedTime = (int) (aRecipe.mDuration * 0.8); + + if (aRecipe.mInputs.length > 2 || aRecipe.mFluidInputs.length > 1 || aRecipe.mFluidOutputs.length > 1 || aRecipe.mOutputs.length > 1) { + return false; + } + + int aCircuitNumber = -1; + int aItemSlot = -1; + + int aSlot = 0; + for (ItemStack a : aRecipe.mInputs) { + if (a != null && a.getItem() != CI.getNumberedCircuit(1).getItem()) { + aItemSlot = aSlot; + } + else { + aSlot++; + } + } + + for (int i=0;i<25;i++) { + ItemStack aTest = CI.getNumberedCircuit(i); + for (ItemStack a : aRecipe.mInputs) { + if (a != null && GT_Utility.areStacksEqual(a, aTest)) { + aCircuitNumber = i; + break; + } + } + } + + if (aCircuitNumber < 0) { + return false; + } + + + return CORE.RA.addCokeOvenRecipe( + aRecipe.mInputs[aItemSlot], + ItemUtils.getGregtechCircuit(aCircuitNumber), + aRecipe.mFluidInputs[0], + aRecipe.mFluidOutputs[0], + aRecipe.mOutputs[0], + aModifiedTime, + aRecipe.mEUt); + + + } + public static boolean addCokeAndPyrolyseRecipes( ItemStack input1, int circuitNumber, |