diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-26 01:44:42 +0100 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-26 01:44:42 +0100 |
commit | 26bd0dc2c5f68ff9402c428cce8b8936880ae7a4 (patch) | |
tree | 220aaaaf8214bd6203479f8ecb7a712b16d02198 /src | |
parent | b9ad7d46f1f1993add94ad7b561e1fea94a4e0d1 (diff) | |
download | GT5-Unofficial-26bd0dc2c5f68ff9402c428cce8b8936880ae7a4.tar.gz GT5-Unofficial-26bd0dc2c5f68ff9402c428cce8b8936880ae7a4.tar.bz2 GT5-Unofficial-26bd0dc2c5f68ff9402c428cce8b8936880ae7a4.zip |
% More .08 Compatibility.
Diffstat (limited to 'src')
10 files changed, 186 insertions, 61 deletions
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java index 1fb629976a..3da3c18836 100644 --- a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java +++ b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java @@ -136,7 +136,7 @@ public class CoalTar { private static void recipeEthylBenzineFuelsIntoHeavyFuel() { - GT_Values.RA.addChemicalRecipe( + CORE.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict("cellFuel", 9), ItemUtils.getItemStackOfAmountFromOreDict("cellEthylbenzene", 2), null, @@ -144,7 +144,7 @@ public class CoalTar { ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 11), 100, CORE.GTNH ? 1000 : 500); - GT_Values.RA.addChemicalRecipe( + CORE.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict("cellBioDiesel", 9), ItemUtils.getItemStackOfAmountFromOreDict("cellEthylbenzene", 2), null, diff --git a/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java b/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java index 4f2bf877f1..1d45dec183 100644 --- a/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java +++ b/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java @@ -5,6 +5,7 @@ import net.minecraft.init.Items; import gregtech.api.enums.GT_Values; import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -48,7 +49,7 @@ public class NuclearChem { } private static void chemReator_CreateMutagen() { - GT_Values.RA.addChemicalRecipe( + CORE.RA.addChemicalRecipe( CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(Items.nether_star, 2), FluidUtils.getMobEssence(5000), @@ -59,7 +60,7 @@ public class NuclearChem { } private static void chemReactor_MutagenWithEggs() { - GT_Values.RA.addChemicalRecipe( + CORE.RA.addChemicalRecipe( CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(Items.egg, 2), FluidUtils.getFluidStack(GeneticMutagen, 500), diff --git a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java index 6b1a006098..7b5a90a64e 100644 --- a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java +++ b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java @@ -155,17 +155,20 @@ public class RocketFuels { FluidStack fuelA = FluidUtils.getFluidStack("diesel", 400); FluidStack fuelB = FluidUtils.getFluidStack("fuel", 400); if (fuelA != null){ - GT_Values.RA.addDistilleryRecipe(23, fuelA, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false); + //GT_Values.RA.addDistilleryRecipe(23, fuelA, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false); + GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false); } - if (fuelA == null && fuelB != null){ - GT_Values.RA.addDistilleryRecipe(23, fuelB, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false); + if (fuelA == null && fuelB != null){ + //GT_Values.RA.addDistilleryRecipe(23, fuelB, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false); + GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelB, FluidUtils.getFluidStack(Kerosene, 50), 200, 64, false); } } public static void createRP1(){ FluidStack fuelA = FluidUtils.getFluidStack(Kerosene, 100); if (fuelA != null){ - GT_Values.RA.addDistilleryRecipe(23, fuelA, FluidUtils.getFluidStack(RP1, 25), 400, 120, false); + //GT_Values.RA.addDistilleryRecipe(23, fuelA, FluidUtils.getFluidStack(RP1, 25), 400, 120, false); + GT_Values.RA.addDistilleryRecipe(CI.getNumberedCircuit(23), fuelA, FluidUtils.getFluidStack(RP1, 50), 400, 120, false); } } @@ -279,13 +282,13 @@ public class RocketFuels { } private static void createUnsymmetricalDimethylhydrazine() { - GT_Values.RA.addChemicalRecipe( + CORE.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict("cellHydrazine", 2), ItemUtils.getItemStackOfAmountFromOreDict("cellFormaldehyde", 2), FluidUtils.getFluidStack("hydrogen", 4000), FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 1000), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2), + ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), 20*60); } diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java index 888f030f56..fd8df711e9 100644 --- a/src/Java/gtPlusPlus/core/material/ELEMENT.java +++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java @@ -154,7 +154,7 @@ public final class ELEMENT { //GTNH Trinium Handling if (CORE.GTNH){ //yay - Materials a1 = MaterialUtils.getMaterialByName("Trinium"); + Materials a1 = MaterialUtils.getMaterial("Trinium"); Materials a2 = Materials.valueOf("Trinium"); Materials a3 = Materials.get("Trinium"); Materials a4; diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index 68fb856417..50658ee2a2 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -19,6 +19,7 @@ import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.core.util.minecraft.MaterialUtils; import gtPlusPlus.core.util.reflect.AddGregtechRecipe; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import net.minecraftforge.fluids.FluidStack; @@ -42,7 +43,11 @@ public class RECIPES_GREGTECH { chemicalReactorRecipes(); dehydratorRecipes(); blastFurnaceRecipes(); - largeChemReactorRecipes(); + + if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + largeChemReactorRecipes(); + } + fissionFuelRecipes(); autoclaveRecipes(); compressorRecipes(); @@ -501,27 +506,27 @@ public class RECIPES_GREGTECH { private static void largeChemReactorRecipes() { //Styrene - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[]{GT_Utility.getIntegratedCircuit(24)}, + CORE.RA.addMultiblockChemicalRecipe( + new ItemStack[]{CI.getNumberedCircuit(24)}, new FluidStack[]{ FluidUtils.getFluidStack("fluid.ethylbenzene", 1000) }, new FluidStack[]{ - Materials.Styrene.getFluid(1000), + MaterialUtils.getMaterial("Styrene").getFluid(1000), Materials.Hydrogen.getGas(2000) }, null, 30, 30); //Short-cut Styrene - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[]{GT_Utility.getIntegratedCircuit(24)}, + CORE.RA.addMultiblockChemicalRecipe( + new ItemStack[]{CI.getNumberedCircuit(24)}, new FluidStack[]{ - Materials.Ethylene.getGas(500), - Materials.Benzene.getFluid(500) + MaterialUtils.getMaterial("Ethylene").getGas(500), + MaterialUtils.getMaterial("Benzene").getFluid(500) }, new FluidStack[]{ - Materials.Styrene.getFluid(500), + MaterialUtils.getMaterial("Styrene").getFluid(500), Materials.Hydrogen.getGas(1000) }, null, diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java index 98b02078c6..ae43abe3c5 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java @@ -183,7 +183,7 @@ public class MaterialUtils { } } - public static Materials getMaterialByName(String materialName) { + private static Materials getMaterialByName(String materialName) { if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { return (Materials) EnumUtils.getValue(gregtech.api.enums.Materials.class, materialName, false); @@ -218,6 +218,14 @@ public class MaterialUtils { TextureSet o = (r != null && r.isPresent() && r.get() != null) ? r.get() : null; return o; } + + public static Materials getMaterial(String aMaterialName) { + Materials m = gtPlusPlus.xmod.gregtech.common.StaticFields59.getMaterial(aMaterialName); + if (m == null) { + m = getMaterialByName(aMaterialName); + } + return m; + } }
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java b/src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java index c125e26016..92dae4e913 100644 --- a/src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java +++ b/src/Java/gtPlusPlus/plugin/sulfurchem/Core_SulfuricChemistry.java @@ -11,6 +11,7 @@ import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.RecipeUtils; import gtPlusPlus.plugin.manager.Core_Manager; +import gtPlusPlus.xmod.gregtech.common.StaticFields59; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; @@ -97,7 +98,7 @@ public class Core_SulfuricChemistry implements IPlugin { * Sulfur Trioxide Recipes */ //Air - if (GT_Values.RA.addChemicalRecipe( + if (CORE.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict(catalyst, 0), ItemUtils.getItemStackOfAmountFromOreDict("cellAir", 1), FluidUtils.getFluidStack("sulfurdioxide", 3000), @@ -108,7 +109,7 @@ public class Core_SulfuricChemistry implements IPlugin { 16)) { mCountAdded++; } - if (GT_Values.RA.addChemicalRecipe( + if (CORE.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict(catalyst, 0), ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurDioxide", 3), FluidUtils.getFluidStack("air", 1000), @@ -120,7 +121,7 @@ public class Core_SulfuricChemistry implements IPlugin { mCountAdded++; } //Oxygen - if (GT_Values.RA.addChemicalRecipe( + if (CORE.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict(catalyst, 0), ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 1), FluidUtils.getFluidStack("sulfurdioxide", 3000), @@ -131,7 +132,7 @@ public class Core_SulfuricChemistry implements IPlugin { 16)) { mCountAdded++; } - if (GT_Values.RA.addChemicalRecipe( + if (CORE.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict(catalyst, 0), ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurDioxide", 3), FluidUtils.getFluidStack("oxygen", 1000), @@ -147,7 +148,7 @@ public class Core_SulfuricChemistry implements IPlugin { * Sulfuric Acid Recipes */ - if (GT_Values.RA.addChemicalRecipe( + if (CORE.RA.addChemicalRecipe( CI.getNumberedCircuit(22), ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1), FluidUtils.getFluidStack("water", 750), @@ -158,7 +159,7 @@ public class Core_SulfuricChemistry implements IPlugin { 20)) { mCountAdded++; } - if (GT_Values.RA.addChemicalRecipe( + if (CORE.RA.addChemicalRecipe( CI.getNumberedCircuit(22), ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 3), FluidUtils.getFluidStack("sulfurtrioxide", 4000), @@ -204,7 +205,8 @@ public class Core_SulfuricChemistry implements IPlugin { } //Multi Block Recipes - recipe : for (GT_Recipe r : GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes.mRecipeList) { + if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + recipe : for (GT_Recipe r : StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList) { for (ItemStack i : r.mOutputs) { i.stackSize = 1; if (ItemStack.areItemStacksEqual(i, ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1))) { @@ -228,6 +230,7 @@ public class Core_SulfuricChemistry implements IPlugin { continue; } } + } return mDisabled; } @@ -263,7 +266,8 @@ public class Core_SulfuricChemistry implements IPlugin { } //Multi Block Recipes - recipe : for (GT_Recipe r : GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes.mRecipeList) { + if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + recipe : for (GT_Recipe r : StaticFields59.getLargeChemicalReactorRecipeMap().mRecipeList) { for (ItemStack i : r.mOutputs) { i.stackSize = 1; if (ItemStack.areItemStacksEqual(i, ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 1))) { @@ -287,6 +291,7 @@ public class Core_SulfuricChemistry implements IPlugin { continue; } } + } return mDisabled; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java index c03a634ea2..6060554db7 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java @@ -168,4 +168,11 @@ public interface IGregtech_RecipeAdder { public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt); + public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, int time, int eu); + public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, Object object, int time, int eu); + public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, ItemStack object, int time); + + public boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, FluidStack[] fluidStacks2, ItemStack[] outputs, int time, int eu); + + } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java b/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java index 15c6a519b1..2568db32bc 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java @@ -3,10 +3,14 @@ package gtPlusPlus.xmod.gregtech.common; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.LinkedHashMap; +import java.util.Map; import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gtPlusPlus.core.util.reflect.ReflectionUtils; import net.minecraft.block.Block; @@ -15,14 +19,19 @@ public class StaticFields59 { public static final Field mGtBlockCasings5; public static final Field mPreventableComponents; public static final Field mDisabledItems; + public static final Field mMultiblockChemicalRecipes; public static final Method mCalculatePollutionReduction; - + + private static final Map<String, Materials> mMaterialCache = new LinkedHashMap<String, Materials>(); + + //OrePrefixes - + static { mGtBlockCasings5 = getField(GregTech_API.class, "sBlockCasings5"); mPreventableComponents = getField(OrePrefixes.class, "mPreventableComponents"); mDisabledItems = getField(OrePrefixes.class, "mDisabledItems"); + mMultiblockChemicalRecipes = getField(GT_Recipe_Map.class, "sMultiblockChemicalRecipes"); mCalculatePollutionReduction = getMethod(GT_MetaTileEntity_Hatch_Muffler.class, "calculatePollutionReduction", int.class); } @@ -33,7 +42,7 @@ public class StaticFields59 { return null; } } - + public static int calculatePollutionReducation(GT_MetaTileEntity_Hatch_Muffler h, int i) { try { return (int) mCalculatePollutionReduction.invoke(h, i); @@ -41,7 +50,7 @@ public class StaticFields59 { return 0; } } - + public static Field getField(Class a, String b) { try { return ReflectionUtils.getField(a, b); @@ -49,7 +58,7 @@ public class StaticFields59 { return null; } } - + public static Method getMethod(Class a, String b, Class... params) { return ReflectionUtils.getMethod(a, b, params); } @@ -69,6 +78,29 @@ public class StaticFields59 { return false; } } - - + + public static synchronized final GT_Recipe_Map getLargeChemicalReactorRecipeMap() { + try { + return (GT_Recipe_Map) mMultiblockChemicalRecipes.get(null); + } catch (IllegalArgumentException | IllegalAccessException e) { + return null; + } + } + + public static Materials getMaterial(String aMaterialName) { + Materials m = mMaterialCache.get(aMaterialName); + if (m != null) { + return m; + } + else { + m = Materials.get(aMaterialName); + if (m != null) { + mMaterialCache.put(aMaterialName, m); + return m; + } + return null; + } + } + + } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java index b7a69d4f87..b1b450040b 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -652,35 +652,52 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { return GT_Values.RA.addAssemblerRecipe((ItemStack) aInput1, (ItemStack) aInput2, aInputFluid, aOutput, a1, a2); } } - + /* * Reflection Based Recipe Additions with Fallbacks */ private static final Method mSixSlotAssembly; private static final Method mAssemblyLine; + private static final Method[] mChemicalRecipe = new Method[3]; + private static final Method mLargeChemReactor; static { - if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK || CORE.GTNH) { - //Get GT's RA class; - Class<? extends IGT_RecipeAdder> clazz = GT_Values.RA.getClass(); + + //Get GT's RA class; + Class<? extends IGT_RecipeAdder> clazz = GT_Values.RA.getClass(); + + mChemicalRecipe[0] = ReflectionUtils.getMethod(clazz, "addChemicalRecipe", ItemStack.class, ItemStack.class, FluidStack.class, FluidStack.class, ItemStack.class, int.class); + + + if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK || CORE.GTNH) { //6 Slot Assembler mSixSlotAssembly = ReflectionUtils.getMethod(clazz, "addAssemblerRecipe", ItemStack[].class, FluidStack.class, ItemStack.class, int.class, int.class); //Assembly Line mAssemblyLine = ReflectionUtils.getMethod(clazz, "addAssemblylineRecipe", ItemStack.class, int.class, ItemStack[].class, FluidStack[].class, ItemStack.class, int.class, int.class); - + + mChemicalRecipe[1] = ReflectionUtils.getMethod(clazz, "addChemicalRecipe", ItemStack.class, ItemStack.class, FluidStack.class, FluidStack.class, ItemStack.class, int.class, int.class); + mChemicalRecipe[2] = ReflectionUtils.getMethod(clazz, "addChemicalRecipe", ItemStack.class, ItemStack.class, FluidStack.class, FluidStack.class, ItemStack.class, ItemStack.class, int.class); + + mLargeChemReactor = ReflectionUtils.getMethod(clazz, "addMultiblockChemicalRecipe", ItemStack[].class, FluidStack[].class, FluidStack[].class, ItemStack[].class, int.class, int.class); + + + } else { mSixSlotAssembly = null; mAssemblyLine = null; + mLargeChemReactor = null; } + + } - - - - - - + + + + + + public boolean addSixSlotAssemblingRecipe(ItemStack[] aInputs, FluidStack aInputFluid, ItemStack aOutput1, int aDuration, int aEUt) { if (CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK || CORE.GTNH) { if (mSixSlotAssembly != null) { @@ -697,17 +714,17 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { } public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { - if (aInputs.length < 6 && aFluidInputs.length < 2) { - ItemStack[] aInputStack = new ItemStack[] {aResearchItem, aInputs[0], aInputs[1], aInputs[2], aInputs[3], aInputs[4]}; - return CORE.RA.addSixSlotAssemblingRecipe(aInputStack, aFluidInputs[0], aOutput, aDuration, aEUt); - } - return false; - } - else { - if ((aResearchItem==null)||(aResearchTime<=0)||(aInputs == null) || (aOutput == null) || aInputs.length>15 || aInputs.length<4) { - return false; - } + if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + if (aInputs.length < 6 && aFluidInputs.length < 2) { + ItemStack[] aInputStack = new ItemStack[] {aResearchItem, aInputs[0], aInputs[1], aInputs[2], aInputs[3], aInputs[4]}; + return CORE.RA.addSixSlotAssemblingRecipe(aInputStack, aFluidInputs[0], aOutput, aDuration, aEUt); + } + return false; + } + else { + if ((aResearchItem==null)||(aResearchTime<=0)||(aInputs == null) || (aOutput == null) || aInputs.length>15 || aInputs.length<4) { + return false; + } else { if (mAssemblyLine != null) { try { @@ -732,13 +749,57 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { return false; } } - } - - + } + + } + public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, int time, int eu){ + return addChemicalRecipe(input1, input2, inputFluid, outputFluid, output, null, time, eu); + } + + @Override + public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, Object object, int time, int eu) { + try { + if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + return (boolean) mChemicalRecipe[0].invoke(GT_Values.RA, input1, input2, inputFluid, outputFluid, output, time); + } + else { + return (boolean) mChemicalRecipe[1].invoke(GT_Values.RA, input1, input2, inputFluid, outputFluid, output, time, eu); + } + } + catch (Throwable t) { + return false; + } + } + @Override + public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, ItemStack output, ItemStack output2, int time) { + try { + if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + return (boolean) mChemicalRecipe[0].invoke(GT_Values.RA, input1, input2, inputFluid, outputFluid, output, time); + } + else { + return (boolean) mChemicalRecipe[2].invoke(GT_Values.RA, input1, input2, inputFluid, outputFluid, output, output2, time); + } + } + catch (Throwable t) { + return false; + } + } + + @Override + public boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, FluidStack[] fluidStacks2, ItemStack[] outputs, int time, int eu) { + if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) { + return false; + } + try { + return (boolean) mLargeChemReactor.invoke(GT_Values.RA, itemStacks, fluidStacks, fluidStacks2, outputs, time, eu); + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { + return false; + } + } @@ -769,4 +830,7 @@ public class GregtechRecipeAdder implements IGregtech_RecipeAdder { return itemsNull && fluidsNull; } + + + } |