diff options
Diffstat (limited to 'src/main/java/gregtech/common/GT_RecipeAdder.java')
-rw-r--r-- | src/main/java/gregtech/common/GT_RecipeAdder.java | 3231 |
1 files changed, 0 insertions, 3231 deletions
diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java index f0225fd241..8f48ec19bf 100644 --- a/src/main/java/gregtech/common/GT_RecipeAdder.java +++ b/src/main/java/gregtech/common/GT_RecipeAdder.java @@ -1,3242 +1,11 @@ package gregtech.common; -import static gregtech.GT_Mod.GT_FML_LOGGER; -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.Railcraft; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.List; -import java.util.Objects; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.GT_Mod; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; import gregtech.api.interfaces.internal.IGT_RecipeAdder; -import gregtech.api.objects.ItemData; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_AssemblyLineUtils; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine; import gregtech.api.util.GT_RecipeBuilder; -import gregtech.api.util.GT_RecipeConstants; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.extensions.ArrayExt; -import ic2.core.init.MainConfig; -import ic2.core.util.ConfigUtil; -import mods.railcraft.common.blocks.aesthetics.cube.EnumCube; -import mods.railcraft.common.items.RailcraftToolItems; public class GT_RecipeAdder implements IGT_RecipeAdder { @Override - @Deprecated - public boolean addFusionReactorRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt, int aStartEU) { - return false; - } - - @Deprecated - @Override // Really? - public boolean addFusionReactorRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, - int aEUt, int aStartEU) { - if (aInput1 == null || aInput2 == null || aOutput1 == null || aDuration < 1 || aEUt < 1 || aStartEU < 1) { - return false; - } - RecipeMaps.fusionRecipes.addRecipe( - null, - new FluidStack[] { aInput1, aInput2 }, - new FluidStack[] { aOutput1 }, - aDuration, - aEUt, - aStartEU); - return true; - } - - @Deprecated - @Override - public boolean addFusionReactorRecipe(FluidStack[] FluidInputArray, FluidStack[] FluidOutputArray, - int aFusionDurationInTicks, int aFusionEnergyPerTick, int aEnergyNeededForStartingFusion) { - if (FluidInputArray.length == 0) return false; - - if (FluidOutputArray.length == 0) return false; - - RecipeMaps.fusionRecipes.addRecipe( - null, - FluidInputArray, - FluidOutputArray, - aFusionDurationInTicks, - aFusionEnergyPerTick, - aEnergyNeededForStartingFusion); - return true; - } - - @Deprecated - @Override - public boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration) { - return addCentrifugeRecipe( - aInput1, - aInput2 < 0 ? null : aInput2 > 0 ? ItemList.Cell_Empty.get(aInput2) : null, - null, - null, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - null, - aDuration, - 5); - } - - @Deprecated - @Override - public boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt) { - return addCentrifugeRecipe( - aInput1, - aInput2 < 0 ? null : aInput2 > 0 ? ItemList.Cell_Empty.get(aInput2) : null, - null, - null, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - null, - aDuration, - aEUt); - } - - @Deprecated - @Override - public boolean addCentrifugeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, - ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) { - return addCentrifugeRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - aChances, - aDuration, - aEUt, - false); - } - - @Deprecated - @Override - public boolean addCentrifugeRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, - ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt, boolean aCleanroom) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) { - return false; - } - if ((aInput1 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidInput != null) && (aDuration <= 0)) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.centrifugeRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6, }, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - aCleanroom ? -100 : 0); - ItemStack[] itemInputs = { aInput1, aInput2 }; - ItemStack[] itemOutputs = { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6 }; - FluidStack[] fluidInputs = { aFluidInput, null, null }; - FluidStack[] fluidOutputs = { aFluidOutput, null, null, null, null, null, null }; - - byte iNumber = 0; - byte oNumber = 0; - - for (ItemStack item : itemInputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { - fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); - itemInputs[iNumber] = null; - } - } - iNumber++; - } - - for (ItemStack item : itemOutputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { - fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); - itemOutputs[oNumber] = null; - } - } - oNumber++; - } - - RecipeMaps.centrifugeNonCellRecipes.addRecipe( - false, - itemInputs, - itemOutputs, - null, - aChances, - fluidInputs, - fluidOutputs, - aDuration, - aEUt, - aCleanroom ? -100 : 0); - return true; - } - - @Deprecated - @Override - public boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.compressorRecipes.addRecipe( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addElectrolyzerRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt) { - return addElectrolyzerRecipe( - aInput1, - aInput2 < 0 ? null : aInput2 > 0 ? ItemList.Cell_Empty.get(aInput2) : null, - null, - null, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - null, - aDuration, - aEUt); - } - - @Deprecated - @Override - public boolean addElectrolyzerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4, - ItemStack aOutput5, ItemStack aOutput6, int[] aChances, int aDuration, int aEUt) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) { - return false; - } - if ((aInput1 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidInput != null) && (aDuration <= 0)) { - return false; - } - RecipeMaps.electrolyzerRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6 }, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - ItemStack[] itemInputs = { aInput1, aInput2 }; - ItemStack[] itemOutputs = { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6 }; - FluidStack[] fluidInputs = { aFluidInput, null, null }; - FluidStack[] fluidOutputs = { aFluidOutput, null, null, null, null, null, null }; - - byte iNumber = 0; - byte oNumber = 0; - - for (ItemStack item : itemInputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item) - || GT_Utility.isAnyIntegratedCircuit(item)) { - fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); - itemInputs[iNumber] = null; - } - } - iNumber++; - } - - for (ItemStack item : itemOutputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { - fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); - itemOutputs[oNumber] = null; - } - } - oNumber++; - } - - RecipeMaps.electrolyzerNonCellRecipes - .addRecipe(false, itemInputs, itemOutputs, null, aChances, fluidInputs, fluidOutputs, aDuration, aEUt, 0); - return true; - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration) { - return addChemicalRecipe(aInput1, aInput2, null, null, aOutput, aDuration); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration, int aEUt) { - return addChemicalRecipe(aInput1, aInput2, null, null, aOutput, aDuration, aEUt); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, int aDuration) { - return addChemicalRecipe(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aDuration, 30); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration) { - return addChemicalRecipe(aInput1, aInput2, aFluidInput, aFluidOutput, aOutput, aOutput2, aDuration, 30); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUTick) { - return addChemicalRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput, - GT_Values.NI, - aDuration, - aEUTick); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick) { - return addChemicalRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput, - aOutput2, - aDuration, - aEUtick, - false); - } - - @Deprecated - @Override - public boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick, - boolean aCleanroom) { - if (((aInput1 == null) && (aFluidInput == null)) - || ((aOutput == null) && (aOutput2 == null) && (aFluidOutput == null))) { - return false; - } - if ((aOutput != null || aOutput2 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidOutput != null) && (aDuration <= 0)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - GT_RecipeBuilder builder = stdBuilder() - .itemInputs(ArrayExt.withoutNulls(new ItemStack[] { aInput1, aInput2 }, ItemStack[]::new)) - .itemOutputs(ArrayExt.withoutNulls(new ItemStack[] { aOutput, aOutput2 }, ItemStack[]::new)); - if (aFluidInput != null) builder.fluidInputs(aFluidInput); - if (aFluidOutput != null) builder.fluidOutputs(aFluidOutput); - builder.duration(aDuration) - .eut(aEUtick) - .metadata(GT_RecipeConstants.CLEANROOM, aCleanroom) - .addTo(GT_RecipeConstants.UniversalChemical); - return true; - } - - @Deprecated - @Override - public boolean addMultiblockChemicalRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUtick) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - RecipeMaps.multiblockChemicalReactorRecipes - .addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0); - return true; - } - - @Deprecated - @Override - public boolean addChemicalRecipeForBasicMachineOnly(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick) { - if (((aInput1 == null) && (aFluidInput == null)) - || ((aOutput == null) && (aOutput2 == null) && (aFluidOutput == null))) { - return false; - } - if ((aOutput != null || aOutput2 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidOutput != null) && (aDuration <= 0)) { - return false; - } - if (aEUtick <= 0) { - return false; - } - RecipeMaps.chemicalReactorRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput, aOutput2 }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUtick, - 0); - return true; - } - - @Deprecated - @Override - public void addDefaultPolymerizationRecipes(Fluid aBasicMaterial, ItemStack aBasicMaterialCell, Fluid aPolymer) { - // Oxygen/Titaniumtetrafluoride -> +50% Output each - addChemicalRecipe( - ItemList.Cell_Air.get(1), - GT_Utility.getIntegratedCircuit(1), - new FluidStack(aBasicMaterial, 144), - new FluidStack(aPolymer, 144), - Materials.Empty.getCells(1), - 160); - addChemicalRecipe( - Materials.Oxygen.getCells(1), - GT_Utility.getIntegratedCircuit(1), - new FluidStack(aBasicMaterial, 144), - new FluidStack(aPolymer, 216), - Materials.Empty.getCells(1), - 160); - addChemicalRecipe( - aBasicMaterialCell, - GT_Utility.getIntegratedCircuit(1), - Materials.Air.getGas(14000), - new FluidStack(aPolymer, 1000), - Materials.Empty.getCells(1), - 1120); - addChemicalRecipe( - aBasicMaterialCell, - GT_Utility.getIntegratedCircuit(1), - Materials.Oxygen.getGas(7000), - new FluidStack(aPolymer, 1500), - Materials.Empty.getCells(1), - 1120); - addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(2) }, - new FluidStack[] { new FluidStack(aBasicMaterial, 2160), Materials.Air.getGas(7500), - Materials.Titaniumtetrachloride.getFluid(100) }, - new FluidStack[] { new FluidStack(aPolymer, 3240) }, - null, - 800, - 30); - addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(2) }, - new FluidStack[] { new FluidStack(aBasicMaterial, 2160), Materials.Oxygen.getGas(7500), - Materials.Titaniumtetrachloride.getFluid(100) }, - new FluidStack[] { new FluidStack(aPolymer, 4320) }, - null, - 800, - 30); - } - - @Deprecated - @Override - public boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt, int aLevel) { - return addBlastRecipe(aInput1, aInput2, null, null, aOutput1, aOutput2, aDuration, aEUt, aLevel); - } - - @Override - @Deprecated - public boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, int aLevel) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.blastFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - aLevel); - return true; - } - - @Deprecated - public boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - ItemStack aOutput4, int aDuration, int aEUt, int aLevel) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.blastFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, aInput3, aInput4 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - aLevel); - return true; - } - - @Deprecated - @Override - public boolean addPlasmaForgeRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt, int coil_heat_level) { - RecipeMaps.plasmaForgeRecipes.addRecipe( - false, - ItemInputArray, - OutputItemArray, - null, - null, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - coil_heat_level); - return true; - } - - @Override - @Deprecated - public boolean addPrimitiveBlastRecipe(ItemStack aInput1, ItemStack aInput2, int aCoalAmount, ItemStack aOutput1, - ItemStack aOutput2, int aDuration) { - if ((aInput1 == null && aInput2 == null) || (aOutput1 == null && aOutput2 == null)) { - return false; - } - if (aCoalAmount <= 0) { - return false; - } - if (aDuration <= 0) { - return false; - } - Materials[] coals = new Materials[] { Materials.Coal, Materials.Charcoal }; - for (Materials coal : coals) { - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, coal.getGems(aCoalAmount) }, - new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount) }, - null, - null, - null, - null, - aDuration, - 0, - 0); - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, coal.getDust(aCoalAmount) }, - new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount) }, - null, - null, - null, - null, - aDuration, - 0, - 0); - } - if (Railcraft.isModLoaded()) { - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, RailcraftToolItems.getCoalCoke(aCoalAmount / 2) }, - new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount / 2) }, - null, - null, - null, - null, - aDuration * 2 / 3, - 0, - 0); - } - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, - GT_ModHandler.getModItem(GTPlusPlus.ID, "itemCactusCoke", (aCoalAmount * 2L)) }, - new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount * 2) }, - null, - null, - null, - null, - aDuration * 2 / 3, - 0, - 0); - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, - GT_ModHandler.getModItem(GTPlusPlus.ID, "itemSugarCoke", (aCoalAmount * 2L)) }, - new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount * 2) }, - null, - null, - null, - null, - aDuration * 2 / 3, - 0, - 0); - if ((aInput1 == null || aInput1.stackSize <= 6) && (aInput2 == null || aInput2.stackSize <= 6) - && (aOutput1 == null || aOutput1.stackSize <= 6) - && (aOutput2 == null || aOutput2.stackSize <= 6)) { - aInput1 = aInput1 == null ? null : GT_Utility.copyAmount(aInput1.stackSize * 10, aInput1); - aInput2 = aInput2 == null ? null : GT_Utility.copyAmount(aInput2.stackSize * 10, aInput2); - aOutput1 = aOutput1 == null ? null : GT_Utility.copyAmount(aOutput1.stackSize * 10, aOutput1); - aOutput2 = aOutput2 == null ? null : GT_Utility.copyAmount(aOutput2.stackSize * 10, aOutput2); - for (Materials coal : coals) { - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, coal.getBlocks(aCoalAmount) }, - new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount) }, - null, - null, - null, - null, - aDuration * 10, - 0, - 0); - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, coal.getBlocks(aCoalAmount) }, - new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount) }, - null, - null, - null, - null, - aDuration * 10, - 0, - 0); - } - if (Railcraft.isModLoaded()) { - RecipeMaps.primitiveBlastRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, EnumCube.COKE_BLOCK.getItem(aCoalAmount / 2) }, - new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDust(aCoalAmount / 2) }, - null, - null, - null, - null, - aDuration * 20 / 3, - 0, - 0); - } - } - return true; - } - - @Override - @Deprecated - public boolean addCannerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.cannerRecipes.addRecipe( - true, - aInput2 == null ? new ItemStack[] { aInput1 } : new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - aDuration, - Math.max(aEUt, 1), - 0); - return true; - } - - @Override - @Deprecated - public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt) { - return addAlloySmelterRecipe(aInput1, aInput2, aOutput1, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt, boolean hidden) { - if ((aInput1 == null) || (aOutput1 == null || Materials.Graphite.contains(aInput1))) { - return false; - } - if ((aInput2 == null) && ((OrePrefixes.ingot.contains(aInput1)) || (OrePrefixes.dust.contains(aInput1)) - || (OrePrefixes.gem.contains(aInput1)))) { - return false; - } - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = new GT_Recipe( - true, - aInput2 == null ? new ItemStack[] { aInput1 } : new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - null, - aDuration, - Math.max(aEUt, 1), - 0); - if (hidden) { - tRecipe.mHidden = true; - } - RecipeMaps.alloySmelterRecipes.addRecipe(tRecipe); - return true; - } - - @Override - @Deprecated - public boolean addLatheRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.latheRecipes.addRecipe( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, FluidStack aLubricant, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt) { - if ((aInput == null) || (aLubricant == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.cutterRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - new FluidStack[] { aLubricant }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, - boolean aCleanroom) { - return addCutterRecipe(aInput, null, aOutput1, aOutput2, aDuration, aEUt, aCleanroom); - } - - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, int aCircuit, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt) { - return addCutterRecipe(aInput, aCircuit, aOutput1, aOutput2, aDuration, aEUt, false); - } - - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, int aCircuit, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt, boolean aCleanroom) { - return addCutterRecipe( - aInput, - GT_Utility.getIntegratedCircuit(aCircuit), - aOutput1, - aOutput2, - aDuration, - aEUt, - aCleanroom); - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt) { - return addCutterRecipe(aInput, aOutput1, aOutput2, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt) { - return addCutterRecipe(aInput, aCircuit, aOutput1, aOutput2, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt, boolean aCleanroom) { - return addCutterRecipe( - new ItemStack[] { aInput, aCircuit }, - new ItemStack[] { aOutput1, aOutput2 }, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - } - - @Deprecated - public boolean addCutterRecipe(ItemStack[] aInputs, ItemStack[] aOutputs, int aDuration, int aEUt, - boolean aCleanroom) { - return addCutterRecipe(aInputs, aOutputs, aDuration, aEUt, aCleanroom ? -200 : 0); - } - - @Override - @Deprecated - public boolean addCutterRecipe(ItemStack[] aInputs, ItemStack[] aOutputs, int aDuration, int aEUt, int aSpecial) { - if ((aInputs == null) || (aOutputs == null) || aInputs.length == 0 || aOutputs.length == 0) { - return false; - } - if (Arrays.stream(aOutputs) - .noneMatch(Objects::nonNull)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom && aSpecial == -200) { - aSpecial = 0; - } - RecipeMaps.cutterRecipes.addRecipe( - true, - aInputs, - aOutputs, - null, - new FluidStack[] { Materials.Water.getFluid(Math.max(4, Math.min(1000, aDuration * aEUt / 320))) }, - null, - aDuration * 2, - aEUt, - aSpecial); - RecipeMaps.cutterRecipes.addRecipe( - true, - aInputs, - aOutputs, - null, - new FluidStack[] { GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, aDuration * aEUt / 426))) }, - null, - aDuration * 2, - aEUt, - aSpecial); - RecipeMaps.cutterRecipes.addRecipe( - true, - aInputs, - aOutputs, - null, - new FluidStack[] { Materials.Lubricant.getFluid(Math.max(1, Math.min(250, aDuration * aEUt / 1280))) }, - null, - aDuration, - aEUt, - aSpecial); - return true; - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack aInput1, Object aOreDict, int aAmount, FluidStack aFluidInput, - ItemStack aOutput1, int aDuration, int aEUt) { - for (ItemStack tStack : GT_OreDictUnificator.getOresImmutable(aOreDict)) { - if (GT_Utility.isStackValid(tStack)) addAssemblerRecipe( - aInput1, - GT_Utility.copyAmount(aAmount, tStack), - aFluidInput, - aOutput1, - aDuration, - aEUt); - } - return true; - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack[] aInputs, Object aOreDict, int aAmount, FluidStack aFluidInput, - ItemStack aOutput1, int aDuration, int aEUt) { - for (ItemStack tStack : GT_OreDictUnificator.getOresImmutable(aOreDict)) { - if (GT_Utility.isStackValid(tStack)) { - ItemStack[] extendedInputs = new ItemStack[aInputs.length + 1]; - System.arraycopy(aInputs, 0, extendedInputs, 0, aInputs.length); - extendedInputs[aInputs.length] = GT_Utility.copyAmount(aAmount, tStack); - addAssemblerRecipe(extendedInputs, aFluidInput, aOutput1, aDuration, aEUt); - } - } - return true; - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt) { - return addAssemblerRecipe( - new ItemStack[] { aInput1, aInput2 == null ? aInput1 : aInput2 }, - null, - aOutput1, - aDuration, - aEUt, - false); - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt) { - return addAssemblerRecipe(new ItemStack[] { aInput1, aInput2 }, aFluidInput, aOutput1, aDuration, aEUt); - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, - int aEUt) { - return addAssemblerRecipe(aInputs, aFluidInput, aOutput1, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt, boolean aCleanroom) { - if (aInput2 == null) - return addAssemblerRecipe(new ItemStack[] { aInput1 }, aFluidInput, aOutput1, aDuration, aEUt, aCleanroom); - return addAssemblerRecipe( - new ItemStack[] { aInput1, aInput2 }, - aFluidInput, - aOutput1, - aDuration, - aEUt, - aCleanroom); - } - - @Override - @Deprecated - public boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, - int aEUt, boolean aCleanroom) { - - if (areItemsAndFluidsBothNull(aInputs, new FluidStack[] { aFluidInput })) { - return false; - } - - if (aDuration <= 0) { - return false; - } - - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - - if (!GT_Utility.isStackValid(aOutput1)) { - return false; - } - - for (int oreID : OreDictionary.getOreIDs(aOutput1)) { - if (OreDictionary.getOreName(oreID) - .startsWith("circuit")) { - return this.addAssemblerRecipeNonOD(aInputs, aFluidInput, aOutput1, aDuration, aEUt, aCleanroom); - } - } - - for (ItemStack aInput : aInputs) { - if (!GT_Utility.isStackValid(aInput)) { - GT_FML_LOGGER.debug("GT_RecipeAdder: Invalid input for (" + aOutput1 + ")"); - } - } - - RecipeMaps.assemblerRecipes.addRecipe( - true, - aInputs, - new ItemStack[] { aOutput1 }, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - - return true; - } - - @Deprecated - public boolean addAssemblerRecipeNonOD(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt, boolean aCleanroom) { - if (areItemsAndFluidsBothNull(aInputs, new FluidStack[] { aFluidInput })) { - return false; - } - - if (aDuration <= 0) { - return false; - } - - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - - if (!GT_Utility.isStackValid(aOutput1)) { - return false; - } - - RecipeMaps.assemblerRecipes.addRecipe( - true, - aInputs, - new ItemStack[] { aOutput1 }, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Override - @Deprecated - public boolean addWiremillRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.wiremillRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addWiremillRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.wiremillRecipes.addRecipe( - true, - new ItemStack[] { aInput, aCircuit }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addPolarizerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.polarizerRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addBenderRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.benderRecipes.addRecipe( - true, - new ItemStack[] { aInput1, ItemList.Circuit_Integrated.getWithDamage(0, aInput1.stackSize) }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - null, - aDuration, - Math.max(aEUt, 1), - 0); - return true; - } - - @Deprecated - @Override - public boolean addBenderRecipe(ItemStack aInput1, ItemStack aCircuit, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = new GT_Recipe( - new ItemStack[] { aInput1, aCircuit }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - null, - aDuration, - Math.max(aEUt, 1), - 0); - RecipeMaps.benderRecipes.addRecipe(tRecipe); - return true; - } - - @Override - @Deprecated - public boolean addExtruderRecipe(ItemStack aInput, ItemStack aShape, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aShape == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.extruderRecipes.addRecipe( - true, - new ItemStack[] { aInput, aShape }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addSlicerRecipe(ItemStack aInput, ItemStack aShape, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aShape == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.slicerRecipes.addRecipe( - true, - new ItemStack[] { aInput, aShape }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addOreWasherRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - FluidStack aFluidInput, int aDuration, int aEUt) { - if ((aInput == null) || (aFluidInput == null) - || ((aOutput1 == null) || (aOutput2 == null) || (aOutput3 == null))) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.oreWasherRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addOreWasherRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - FluidStack aFluidInput, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aFluidInput == null) - || ((aOutput1 == null) || (aOutput2 == null) || (aOutput3 == null))) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.oreWasherRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addImplosionRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aInput2 <= 0) { - return false; - } - int tExplosives = Math.min(aInput2, 64); - int tGunpowder = tExplosives << 1; // Worst - int tDynamite = Math.max(1, tExplosives >> 1); // good - @SuppressWarnings("UnnecessaryLocalVariable") - int tTNT = tExplosives; // Slightly better - int tITNT = Math.max(1, tExplosives >> 2); // the best - // new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2); - if (tGunpowder < 65) { - RecipeMaps.implosionRecipes.addRecipe( - true, - new ItemStack[] { aInput1, ItemList.Block_Powderbarrel.get(tGunpowder) }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - 20, - 30, - 0); - } - if (tDynamite < 17) { - RecipeMaps.implosionRecipes.addRecipe( - true, - new ItemStack[] { aInput1, GT_ModHandler.getIC2Item("dynamite", tDynamite, null) }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - 20, - 30, - 0); - } - RecipeMaps.implosionRecipes.addRecipe( - true, - new ItemStack[] { aInput1, new ItemStack(Blocks.tnt, tTNT) }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - 20, - 30, - 0); - RecipeMaps.implosionRecipes.addRecipe( - true, - new ItemStack[] { aInput1, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null) }, - new ItemStack[] { aOutput1, aOutput2 }, - null, - null, - null, - null, - 20, - 30, - 0); - - return true; - } - - @Override - @Deprecated - public boolean addDistillationRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt) { - return false; - } - - @Override - @Deprecated - public boolean addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, - int aDuration, int aEUt) { - for (int i = 0; i < Math.min(aOutputs.length, 11); i++) { - addDistilleryRecipe(i + 1, aInput, aOutputs[i], aOutput2, aDuration * 2, aEUt / 4, false); - } - - return addDistillationTowerRecipe(aInput, aOutputs, aOutput2, aDuration, aEUt); - } - - @Override - @Deprecated - public boolean addDistillationTowerRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, - int aDuration, int aEUt) { - if (aInput == null || aOutputs == null || aOutputs.length < 1 || aOutputs.length > 11) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.distillationTowerRecipes.addRecipe( - false, - null, - new ItemStack[] { aOutput2 }, - null, - new FluidStack[] { aInput }, - aOutputs, - aDuration, - Math.max(1, aEUt), - 0); - return false; - } - - @Override - @Deprecated - public boolean addDistillationTowerRecipe(FluidStack aInput, ItemStack[] aCircuit, FluidStack[] aOutputs, - ItemStack aOutput2, int aDuration, int aEUt) { - if (aInput == null || aOutputs == null || aOutputs.length < 1 || aOutputs.length > 11) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.distillationTowerRecipes.addRecipe( - false, - aCircuit, - new ItemStack[] { aOutput2 }, - null, - new FluidStack[] { aInput }, - aOutputs, - aDuration, - Math.max(1, aEUt), - 0); - return false; - } - - @Override - @Deprecated - public boolean addUniversalDistillationRecipewithCircuit(FluidStack aInput, ItemStack[] aCircuit, - FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt) { - for (int i = 0; i < Math.min(aOutputs.length, 11); i++) { - addDistilleryRecipe(i + 1, aInput, aOutputs[i], aOutput2, aDuration * 2, aEUt / 4, false); - } - return addDistillationTowerRecipe(aInput, aCircuit, aOutputs, aOutput2, aDuration, aEUt); - } - - @Override - @Deprecated - public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.vacuumFreezerRecipes.addRecipe( - false, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - aDuration, - aEUt, - 0); - FluidStack tInputFluid = GT_Utility.getFluidForFilledItem(aInput1, true); - FluidStack tOutputFluid = GT_Utility.getFluidForFilledItem(aOutput1, true); - if (tInputFluid != null && tOutputFluid != null) { - addVacuumFreezerRecipe(tInputFluid, tOutputFluid, aDuration, aEUt); - } - return true; - } - - @Override - @Deprecated - public boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - addVacuumFreezerRecipe(aInput1, aOutput1, aDuration, 120); - FluidStack tInputFluid = GT_Utility.getFluidForFilledItem(aInput1, true); - FluidStack tOutputFluid = GT_Utility.getFluidForFilledItem(aOutput1, true); - if (tInputFluid != null && tOutputFluid != null) { - addVacuumFreezerRecipe(tInputFluid, tOutputFluid, aDuration, 120); - } - return true; - } - - @Override - @Deprecated - public boolean addVacuumFreezerRecipe(FluidStack aInput1, FluidStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.vacuumFreezerRecipes.addRecipe( - false, - null, - null, - null, - new FluidStack[] { aInput1 }, - new FluidStack[] { aOutput1 }, - Math.max(1, aDuration), - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addVacuumFreezerRecipe(ItemStack[] aItemInput, FluidStack[] aFluidInput, ItemStack[] aItemOutput, - FluidStack[] aFluidOutput, int aDuration, int aEUt) { - RecipeMaps.vacuumFreezerRecipes.addRecipe( - false, - aItemInput, - aItemOutput, - null, - aFluidInput, - aFluidOutput, - Math.max(1, aDuration), - Math.max(1, aEUt), - 0); - return true; - } - - @Override - @Deprecated - public boolean addGrinderRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4) { - return false; - } - - @Override - @Deprecated - public boolean addFuel(ItemStack aInput1, ItemStack aOutput1, int aEU, int aType) { - if (aInput1 == null) { - return false; - } - new GT_Recipe(aInput1, aOutput1, null, null, null, aEU, aType); - return true; - } - - @Override - @Deprecated - public boolean addSonictronSound(ItemStack aItemStack, String aSoundName) { - if ((aItemStack == null) || (aSoundName == null) || (aSoundName.equals(""))) { - return false; - } - GT_Mod.gregtechproxy.mSoundItems.add(aItemStack); - GT_Mod.gregtechproxy.mSoundNames.add(aSoundName); - if (aSoundName.startsWith("note.")) { - GT_Mod.gregtechproxy.mSoundCounts.add(25); - } else { - GT_Mod.gregtechproxy.mSoundCounts.add(1); - } - return true; - } - - @Deprecated - @Override - public boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, ItemStack aOutput1, - ItemStack aOutput2, ItemStack aOutput3, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt) { - return false; - } - - @Deprecated - @Override - public boolean addForgeHammerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) { - if ((aInput1 == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.hammerRecipes.addRecipe( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1 }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addForgeHammerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] ItemOutputArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt) { - - RecipeMaps.hammerRecipes.addRecipe( - true, - ItemInputArray, - ItemOutputArray, - null, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addBoxingRecipe(ItemStack aContainedItem, ItemStack aEmptyBox, ItemStack aFullBox, int aDuration, - int aEUt) { - if ((aContainedItem == null) || (aFullBox == null)) { - return false; - } - RecipeMaps.packagerRecipes.addRecipe( - true, - new ItemStack[] { aContainedItem, aEmptyBox }, - new ItemStack[] { aFullBox }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addUnboxingRecipe(ItemStack aFullBox, ItemStack aContainedItem, ItemStack aEmptyBox, int aDuration, - int aEUt) { - if ((aFullBox == null) || (aContainedItem == null)) { - return false; - } - RecipeMaps.unpackagerRecipes.addRecipe( - true, - new ItemStack[] { aFullBox }, - new ItemStack[] { aContainedItem, aEmptyBox }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addThermalCentrifugeRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.thermalCentrifugeRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addThermalCentrifugeRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput1 == null)) { - return false; - } - RecipeMaps.thermalCentrifugeRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addAmplifier(ItemStack aAmplifierItem, int aDuration, int aAmplifierAmountOutputted) { - if ((aAmplifierItem == null) || (aAmplifierAmountOutputted <= 0)) { - return false; - } - RecipeMaps.amplifierRecipes.addRecipe( - true, - new ItemStack[] { aAmplifierItem }, - null, - null, - null, - new FluidStack[] { Materials.UUAmplifier.getFluid(aAmplifierAmountOutputted) }, - aDuration, - 30, - 0); - return true; - } - - @Override - @Deprecated - public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, int aDuration, int aEUt, - boolean aHidden) { - if ((aIngredient == null) || (aInput == null) || (aOutput == null)) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.brewingRecipes.addRecipe( - false, - new ItemStack[] { aIngredient }, - null, - null, - new FluidStack[] { new FluidStack(aInput, 750) }, - new FluidStack[] { new FluidStack(aOutput, 750) }, - aDuration, - aEUt, - 0); - if ((aHidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Override - @Deprecated - public boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, boolean aHidden) { - return addBrewingRecipe(aIngredient, aInput, aOutput, 128, 4, aHidden); - } - - @Override - @Deprecated - public boolean addBrewingRecipeCustom(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt, boolean aHidden) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.brewingRecipes.addRecipe( - false, - new ItemStack[] { aIngredient }, - null, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if ((aHidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Override - @Deprecated - public boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt, - boolean aHidden) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.fermentingRecipes.addRecipe( - false, - null, - null, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if ((aHidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Override - @Deprecated - public boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, boolean aHidden) { - return addFermentingRecipe(aInput, aOutput, aDuration, 2, aHidden); - } - - @Override - @Deprecated - public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, - ItemStack aSolidOutput, int aDuration, int aEUt, boolean aHidden) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - // reduce the batch size if fluid amount is exceeding - int tScale = (Math.max(aInput.amount, aOutput.amount) + 999) / 1000; - if (tScale <= 0) tScale = 1; - if (tScale > 1) { - // trying to find whether there is a better factor - for (int i = tScale; i <= 5; i++) { - if (aInput.amount % i == 0 && aDuration % i == 0) { - tScale = i; - break; - } - } - for (int i = tScale; i <= 5; i++) { - if (aInput.amount % i == 0 && aDuration % i == 0 && aOutput.amount % i == 0) { - tScale = i; - break; - } - } - aInput = new FluidStack(aInput.getFluid(), (aInput.amount + tScale - 1) / tScale); - aOutput = new FluidStack(aOutput.getFluid(), aOutput.amount / tScale); - if (aSolidOutput != null) { - ItemData tData = GT_OreDictUnificator.getItemData(aSolidOutput); - if (tData != null && (tData.mPrefix == OrePrefixes.dust - || OrePrefixes.dust.mFamiliarPrefixes.contains(tData.mPrefix))) { - aSolidOutput = GT_OreDictUnificator - .getDust(tData.mMaterial.mMaterial, tData.mMaterial.mAmount * aSolidOutput.stackSize / tScale); - } else { - if (aSolidOutput.stackSize / tScale == 0) aSolidOutput = GT_Values.NI; - else aSolidOutput = new ItemStack(aSolidOutput.getItem(), aSolidOutput.stackSize / tScale); - } - } - aDuration = (aDuration + tScale - 1) / tScale; - } - - GT_Recipe tRecipe = RecipeMaps.distilleryRecipes.addRecipe( - true, - new ItemStack[] { aCircuit }, - new ItemStack[] { aSolidOutput }, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if ((aHidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Override - @Deprecated - public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt, boolean aHidden) { - return addDistilleryRecipe(aCircuit, aInput, aOutput, null, aDuration, aEUt, aHidden); - } - - @Override - @Deprecated - public boolean addDistilleryRecipe(int circuitConfig, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, - int aDuration, int aEUt, boolean aHidden) { - return addDistilleryRecipe( - GT_Utility.getIntegratedCircuit(circuitConfig), - aInput, - aOutput, - aSolidOutput, - aDuration, - aEUt, - aHidden); - } - - @Override - @Deprecated - public boolean addDistilleryRecipe(int circuitConfig, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt, boolean aHidden) { - return addDistilleryRecipe( - GT_Utility.getIntegratedCircuit(circuitConfig), - aInput, - aOutput, - aDuration, - aEUt, - aHidden); - } - - @Override - @Deprecated - public boolean addFluidSolidifierRecipe(final ItemStack[] itemInputs, final FluidStack[] fluidInputs, - final ItemStack[] itemOutputs, final FluidStack[] fluidOutputs, final int EUPerTick, - final int aDurationInTicks) { - RecipeMaps.fluidSolidifierRecipes - .addRecipe(true, itemInputs, itemOutputs, null, fluidInputs, fluidOutputs, aDurationInTicks, EUPerTick, 0); - return true; - } - - @Override - @Deprecated - public boolean addFluidSolidifierRecipe(ItemStack aMold, FluidStack aInput, ItemStack aOutput, int aDuration, - int aEUt) { - if ((aMold == null) || (aInput == null) || (aOutput == null)) { - return false; - } - if (aInput.isFluidEqual(Materials.PhasedGold.getMolten(144))) { - aInput = Materials.VibrantAlloy.getMolten(aInput.amount); - } - if (aInput.isFluidEqual(Materials.PhasedIron.getMolten(144))) { - aInput = Materials.PulsatingIron.getMolten(aInput.amount); - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidSolidifierRecipes.addRecipe( - true, - new ItemStack[] { aMold }, - new ItemStack[] { aOutput }, - null, - new FluidStack[] { aInput }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, - int aDuration, int aEUt) { - return addFluidSmelterRecipe(aInput, aRemains, aOutput, aChance, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, - int aDuration, int aEUt, boolean hidden) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aOutput.isFluidEqual(Materials.PhasedGold.getMolten(1))) { - aOutput = Materials.VibrantAlloy.getMolten(aOutput.amount); - } - if (aOutput.isFluidEqual(Materials.PhasedIron.getMolten(1))) { - aOutput = Materials.PulsatingIron.getMolten(aOutput.amount); - } - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.fluidExtractionRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aRemains }, - null, - new int[] { aChance }, - null, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - if ((hidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - - @Deprecated - @Override - public boolean addFluidExtractionRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, - int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aOutput.isFluidEqual(Materials.PhasedGold.getMolten(1))) { - aOutput = Materials.VibrantAlloy.getMolten(aOutput.amount); - } - if (aOutput.isFluidEqual(Materials.PhasedIron.getMolten(1))) { - aOutput = Materials.PulsatingIron.getMolten(aOutput.amount); - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidExtractionRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aRemains }, - null, - new int[] { aChance }, - null, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, - FluidStack aFluidOutput) { - int aDuration = aFluidOutput == null ? aFluidInput.amount / 62 : aFluidOutput.amount / 62; - - if (aInput == null || aOutput == null) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidCannerRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - 1, - 0); - return true; - } - - @Deprecated - @Override - public boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, - FluidStack aFluidOutput, int aDuration, int aEUt) { - if (aInput == null || aOutput == null) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidCannerRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, ItemStack aOutput1, - ItemStack aOutput2, ItemStack aOutput3, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aBathingFluid == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.chemicalBathRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - new FluidStack[] { aBathingFluid }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aBathingFluid == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.chemicalBathRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - new FluidStack[] { aBathingFluid }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addElectromagneticSeparatorRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput1 == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.electroMagneticSeparatorRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - null, - aChances, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.extractorRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addPrinterRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aSpecialSlot, ItemStack aOutput, - int aDuration, int aEUt) { - if ((aInput == null) || (aFluid == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.printerRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - aSpecialSlot, - null, - new FluidStack[] { aFluid }, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, - int aDuration, int aEUt, boolean aCleanroom) { - return addAutoclaveRecipe(aInput, aFluid, aOutput, aChance, aDuration, aEUt); - } - - @Override - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, - int aDuration, int aEUt) { - return addAutoclaveRecipe(aInput, null, aFluid, aOutput, aChance, aDuration, aEUt, false); - } - - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluid, ItemStack aOutput, - int aChance, int aDuration, int aEUt) { - return addAutoclaveRecipe(aInput, aCircuit, aFluid, aOutput, aChance, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, ItemStack aOutput, - int aChance, int aDuration, int aEUt, boolean aCleanroom) { - return addAutoclaveRecipe(aInput, aCircuit, aFluidIn, null, aOutput, aChance, aDuration, aEUt, aCleanroom); - } - - @Override - @Deprecated - public boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, FluidStack aFluidOut, - ItemStack aOutput, int aChance, int aDuration, int aEUt, boolean aCleanroom) { - if ((aInput == null) || (aFluidIn == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.autoclaveRecipes.addRecipe( - true, - new ItemStack[] { aInput, aCircuit }, - new ItemStack[] { aOutput }, - null, - new int[] { aChance }, - new FluidStack[] { aFluidIn }, - new FluidStack[] { aFluidOut }, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Override - @Deprecated - public boolean addAutoclaveSpaceRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, - int aDuration, int aEUt, boolean aCleanroom) { - return addAutoclaveRecipe(aInput, aFluid, aOutput, aChance, aDuration, aEUt, aCleanroom); - } - - @Override - @Deprecated - public boolean addAutoclaveSpaceRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluid, ItemStack aOutput, - int aChance, int aDuration, int aEUt, boolean aCleanroom) { - if ((aInput == null) || (aFluid == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.autoclaveRecipes.addRecipe( - true, - new ItemStack[] { aInput, aCircuit }, - new ItemStack[] { aOutput }, - null, - new int[] { aChance }, - new FluidStack[] { aFluid }, - null, - aDuration, - aEUt, - aCleanroom ? -100 : 0); - return true; - } - - @Override - @Deprecated - public boolean addAutoclave4Recipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, FluidStack aFluidOut, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean aCleanroom) { - if ((aInput == null) || (aFluidIn == null) || (aOutputs == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.autoclaveRecipes.addRecipe( - true, - new ItemStack[] { aInput, aCircuit }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidIn }, - new FluidStack[] { aFluidOut }, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) { - return addMixerRecipe( - aInput1, - aInput2, - aInput3, - aInput4, - null, - null, - null, - null, - null, - aFluidInput, - aFluidOutput, - aOutput, - aDuration, - aEUt); - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, - int aDuration, int aEUt) { - return addMixerRecipe( - aInput1, - aInput2, - aInput3, - aInput4, - aInput5, - aInput6, - null, - null, - null, - aFluidInput, - aFluidOutput, - aOutput, - aDuration, - aEUt); - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput == null) && (aFluidOutput == null))) { - return false; - } - if ((aOutput != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidOutput != null) && (aDuration <= 0)) { - return false; - } - RecipeMaps.mixerRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }, - new ItemStack[] { aOutput }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - ItemStack[] itemInputs = { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }; - ItemStack[] itemOutputs = { aOutput }; - FluidStack[] fluidInputs = { aFluidInput, null, null, null, null, null, null, null, null, null }; - FluidStack[] fluidOutputs = { aFluidOutput, null }; - - byte iNumber = 0; - byte oNumber = 0; - - for (ItemStack item : itemInputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { - fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); - itemInputs[iNumber] = null; - } - } - iNumber++; - } - - for (ItemStack item : itemOutputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { - fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); - itemOutputs[oNumber] = null; - } - } - oNumber++; - } - - RecipeMaps.mixerNonCellRecipes - .addRecipe(false, itemInputs, itemOutputs, null, null, fluidInputs, fluidOutputs, aDuration, aEUt, 0); - return true; - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray, - FluidStack[] FluidOutputArray, int aDuration, int aEUt) { - RecipeMaps.mixerRecipes.addRecipe( - false, - ItemInputArray, - ItemOutputArray, - null, - null, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - 0); - List<ItemStack> tItemInputList; - if (ItemInputArray == null) { - tItemInputList = new ArrayList<>(1); - } else { - tItemInputList = new ArrayList<>(Arrays.asList(ItemInputArray)); - } - List<FluidStack> tFluidInputList; - if (FluidInputArray != null) { - tFluidInputList = new ArrayList<>(Arrays.asList(FluidInputArray)); - } else { - tFluidInputList = new ArrayList<>(1); - } - for (int i = 0; i < tItemInputList.size(); i++) { - if (tItemInputList.get(i) != null) { - if (GT_Utility.getFluidForFilledItem(tItemInputList.get(i), true) != null - || GT_Utility.isCellEmpty(tItemInputList.get(i))) { - tFluidInputList.add(GT_Utility.convertCellToFluid(tItemInputList.get(i))); - tItemInputList.set(i, null); - } - } - } - List<ItemStack> tItemOutputList; - if (ItemOutputArray == null) { - tItemOutputList = new ArrayList<>(1); - } else { - tItemOutputList = new ArrayList<>(Arrays.asList(ItemOutputArray)); - } - List<FluidStack> tFluidOutputList; - if (FluidOutputArray != null) { - tFluidOutputList = new ArrayList<>(Arrays.asList(FluidOutputArray)); - } else { - tFluidOutputList = new ArrayList<>(1); - } - for (int i = 0; i < tItemOutputList.size(); i++) { - if (tItemOutputList.get(i) != null) { - if (GT_Utility.getFluidForFilledItem(tItemOutputList.get(i), true) != null - || GT_Utility.isCellEmpty(tItemOutputList.get(i))) { - tFluidInputList.add(GT_Utility.convertCellToFluid(tItemOutputList.get(i))); - tItemOutputList.set(i, null); - } - } - } - - ItemStack[] tItemInputArray = new ItemStack[tItemInputList.size()]; - for (int i = 0; i < tItemInputArray.length; i++) tItemInputArray[i] = tItemInputList.get(i); - - FluidStack[] tFluidInputArray = new FluidStack[tFluidInputList.size()]; - for (int i = 0; i < tFluidInputArray.length; i++) tFluidInputArray[i] = tFluidInputList.get(i); - - ItemStack[] tItemOutputArray = new ItemStack[tItemOutputList.size()]; - for (int i = 0; i < tItemOutputArray.length; i++) tItemOutputArray[i] = tItemOutputList.get(i); - - FluidStack[] tFluidOutputArray = new FluidStack[tFluidOutputList.size()]; - for (int i = 0; i < tFluidOutputArray.length; i++) tFluidOutputArray[i] = tFluidOutputList.get(i); - - RecipeMaps.mixerNonCellRecipes.addRecipe( - false, - tItemInputArray, - tItemOutputArray, - null, - null, - tFluidInputArray, - tFluidOutputArray, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, ItemStack aInput7, ItemStack aInput8, ItemStack aInput9, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - ItemStack aOutput4, int aDuration, int aEUt) { - if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput1 == null) && (aFluidOutput == null))) { - return false; - } - if ((aOutput1 != null) && (aDuration <= 0)) { - return false; - } - if ((aFluidOutput != null) && (aDuration <= 0)) { - return false; - } - RecipeMaps.mixerRecipes.addRecipe( - true, - new ItemStack[] { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - ItemStack[] itemInputs = { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }; - ItemStack[] itemOutputs = { aOutput1, aOutput2, aOutput3, aOutput4 }; - FluidStack[] fluidInputs = { aFluidInput, null, null, null, null, null, null, null, null, null }; - FluidStack[] fluidOutputs = { aFluidOutput, null, null, null, null }; - - byte iNumber = 0; - byte oNumber = 0; - - for (ItemStack item : itemInputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { - fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); - itemInputs[iNumber] = null; - } - } - iNumber++; - } - - for (ItemStack item : itemOutputs) { - if (item != null) { - if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { - fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); - itemOutputs[oNumber] = null; - } - } - oNumber++; - } - - RecipeMaps.mixerNonCellRecipes - .addRecipe(false, itemInputs, itemOutputs, null, null, fluidInputs, fluidOutputs, aDuration, aEUt, 0); - return true; - } - - @Deprecated - @Override - public boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, - int aDuration, int aEUt) { - return addLaserEngraverRecipe(aItemToEngrave, aLens, aEngravedItem, aDuration, aEUt, false); - } - - @Deprecated - @Override - public boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, - int aDuration, int aEUt, boolean aCleanroom) { - if ((aItemToEngrave == null) || (aLens == null) || (aEngravedItem == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.laserEngraverRecipes.addRecipe( - true, - new ItemStack[] { aItemToEngrave, aLens }, - new ItemStack[] { aEngravedItem }, - null, - null, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - @Override - public boolean addLaserEngraverRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt, boolean aCleanroom) { - RecipeMaps.laserEngraverRecipes.addRecipe( - false, - ItemInputArray, - OutputItemArray, - null, - null, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - @Override - public boolean addFormingPressRecipe(ItemStack aItemToImprint, ItemStack aForm, ItemStack aImprintedItem, - int aDuration, int aEUt) { - if ((aItemToImprint == null) || (aForm == null) || (aImprintedItem == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.formingPressRecipes.addRecipe( - true, - new ItemStack[] { aItemToImprint, aForm }, - new ItemStack[] { aImprintedItem }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addFormingPressRecipe(ItemStack[] ItemInputArray, ItemStack[] OutputItemArray, int aDuration, - int aEUt) { - if ((ItemInputArray == null) || (OutputItemArray == null)) { - return false; - } - RecipeMaps.formingPressRecipes - .addRecipe(true, ItemInputArray, OutputItemArray, null, null, null, aDuration, aEUt, 0); - return true; - } - - @Deprecated - @Override - public boolean addFluidHeaterRecipe(ItemStack aItem, FluidStack aOutput, int aDuration, int aEUt) { - if ((aItem == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidHeaterRecipes.addRecipe( - true, - new ItemStack[] { aItem }, - null, - null, - null, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt) { - if ((aInput == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.fluidHeaterRecipes.addRecipe( - true, - new ItemStack[] { aCircuit }, - null, - null, - new FluidStack[] { aInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Deprecated - @Override - public boolean addSifterRecipe(ItemStack aItemToSift, ItemStack[] aSiftedItems, int[] aChances, int aDuration, - int aEUt) { - if ((aItemToSift == null) || (aSiftedItems == null)) { - return false; - } - for (ItemStack tStack : aSiftedItems) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - RecipeMaps.sifterRecipes.addRecipe( - true, - new ItemStack[] { aItemToSift }, - aSiftedItems, - null, - aChances, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - } - return false; - } - - @Deprecated - @Override - public boolean addSifterRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int[] aChances, int aDuration, int aEUt, - boolean aCleanroom) { - RecipeMaps.sifterRecipes.addRecipe( - false, - ItemInputArray, - OutputItemArray, - null, - aChances, - FluidInputArray, - FluidOutputArray, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - @Override - public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, - int aEUt) { - return addArcFurnaceRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false); - } - - @Deprecated - @Override - public boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, - boolean hidden) { - if ((aInput == null) || (aOutputs == null)) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - GT_Recipe sRecipe = RecipeMaps.arcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { Materials.Oxygen.getGas(aDuration) }, - null, - aDuration, - Math.max(1, aEUt), - 0); - if ((hidden) && (sRecipe != null)) { - sRecipe.mHidden = true; - } - for (Materials tMaterial : new Materials[] { Materials.Argon, Materials.Nitrogen }) { - if (tMaterial.mPlasma != null) { - int tPlasmaAmount = (int) Math.max(1L, aDuration / (tMaterial.getMass() * 16L)); - GT_Recipe tRecipe = RecipeMaps.plasmaArcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { tMaterial.getPlasma(tPlasmaAmount) }, - new FluidStack[] { tMaterial.getGas(tPlasmaAmount) }, - Math.max(1, aDuration / 16), - Math.max(1, aEUt / 3), - 0); - if ((hidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - } - } - return true; - } - } - return false; - } - - @Override - @Deprecated - public boolean addSimpleArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutputs == null) || aFluidInput == null) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - RecipeMaps.arcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - null, - aDuration, - Math.max(1, aEUt), - 0); - return true; - } - } - return false; - } - - @Override - @Deprecated - public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutputs == null) || aFluidInput == null) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - RecipeMaps.plasmaArcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - null, - aDuration, - Math.max(1, aEUt), - 0); - return true; - } - } - return false; - } - - @Override - @Deprecated - public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt) { - if ((aInput == null) || (aOutputs == null) || aFluidInput == null) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - RecipeMaps.plasmaArcFurnaceRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - Math.max(1, aEUt), - 0); - return true; - } - } - return false; - } - - @Deprecated - @Override - public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, - int aEUt) { - return addPulveriserRecipe(aInput, aOutputs, aChances, aDuration, aEUt, false); - } - - @Deprecated - @Override - public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, - boolean hidden) { - if ((aInput == null) || (aOutputs == null)) { - return false; - } - for (ItemStack tStack : aOutputs) { - if (tStack != null) { - if (aDuration <= 0) { - return false; - } - GT_Recipe tRecipe = RecipeMaps.maceratorRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - aOutputs, - null, - aChances, - null, - null, - aDuration, - aEUt, - 0); - if ((hidden) && (tRecipe != null)) { - tRecipe.mHidden = true; - } - return true; - } - } - return false; - } - - @Override - @Deprecated - public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, - FluidStack aFluidOutput, int aDuration, int aEUt) { - if (aInput == null) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.pyrolyseRecipes.addRecipe( - false, - new ItemStack[] { aInput, ItemList.Circuit_Integrated.getWithDamage(0L, intCircuit) }, - new ItemStack[] { aOutput }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addCrackingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt) { - return false; - } - - @Override - @Deprecated - public boolean addCrackingRecipe(int circuitConfig, FluidStack aInput, FluidStack aInput2, FluidStack aOutput, - int aDuration, int aEUt) { - if ((aInput == null && aInput2 == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; - } - RecipeMaps.crackingRecipes.addRecipe( - false, - new ItemStack[] { GT_Utility.getIntegratedCircuit(circuitConfig) }, - null, - null, - null, - new FluidStack[] { aInput, aInput2 }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Override - @Deprecated - public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - if ((aResearchItem == null) || (aResearchTime <= 0) - || (aInputs == null) - || (aOutput == null) - || aInputs.length > 15 - || aInputs.length < 4) { - return false; - } - if (aDuration <= 0) { - return false; - } - for (ItemStack tItem : aInputs) { - if (tItem == null) { - GT_FML_LOGGER.info( - "addAssemblingLineRecipe " + aResearchItem.getDisplayName() - + " --> " - + aOutput.getUnlocalizedName() - + " there is some null item in that recipe"); - } - } - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { aResearchItem }, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, - null, - null, - aResearchTime, - 30, - -201); - RecipeMaps.assemblylineVisualRecipes.addFakeRecipe( - false, - aInputs, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result") }, - aFluidInputs, - null, - aDuration, - aEUt, - 0, - false); - GT_Recipe_AssemblyLine tRecipe = new GT_Recipe_AssemblyLine( - aResearchItem, - aResearchTime, - aInputs, - aFluidInputs, - aOutput, - aDuration, - aEUt); - GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(tRecipe); - GT_AssemblyLineUtils.addRecipeToCache(tRecipe); - return true; - } - - @Override - @Deprecated - public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - if ((aResearchItem == null) || (aResearchTime <= 0) - || (aInputs == null) - || (aOutput == null) - || aInputs.length > 15 - || aInputs.length < 4) { - return false; - } - if (aDuration <= 0) { - return false; - } - ItemStack[] tInputs = new ItemStack[aInputs.length]; - ItemStack[][] tAlts = new ItemStack[aInputs.length][]; - int tPersistentHash = 1; - for (int i = 0; i < aInputs.length; i++) { - Object obj = aInputs[i]; - if (obj instanceof ItemStack) { - tInputs[i] = (ItemStack) obj; - tAlts[i] = null; - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tInputs[i], true, false); - continue; - } else if (obj instanceof ItemStack[]aStacks) { - if (aStacks.length > 0) { - tInputs[i] = aStacks[0]; - tAlts[i] = Arrays.copyOf(aStacks, aStacks.length); - for (ItemStack tAlt : tAlts[i]) { - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tAlt, true, false); - } - tPersistentHash *= 31; - continue; - } - } else if (obj instanceof Object[]objs) { - List<ItemStack> tList; - if (objs.length >= 2 && !(tList = GT_OreDictUnificator.getOres(objs[0])).isEmpty()) { - try { - // sort the output, so the hash code is stable across launches - tList.sort( - Comparator - .<ItemStack, String>comparing( - s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).modId) - .thenComparing(s -> GameRegistry.findUniqueIdentifierFor(s.getItem()).name) - .thenComparingInt(Items.feather::getDamage) - .thenComparingInt(s -> s.stackSize)); - int tAmount = ((Number) objs[1]).intValue(); - List<ItemStack> uList = new ArrayList<>(); - for (ItemStack tStack : tList) { - ItemStack uStack = GT_Utility.copyAmount(tAmount, tStack); - if (GT_Utility.isStackValid(uStack)) { - uList.add(uStack); - if (tInputs[i] == null) tInputs[i] = uStack; - } - } - tAlts[i] = uList.toArray(new ItemStack[0]); - tPersistentHash = tPersistentHash * 31 + (objs[0] == null ? "" : objs[0].toString()).hashCode(); - tPersistentHash = tPersistentHash * 31 + tAmount; - continue; - } catch (Exception ignored) {} - } - } - GT_FML_LOGGER.info( - "addAssemblingLineRecipe " + aResearchItem.getDisplayName() - + " --> " - + aOutput.getUnlocalizedName() - + " there is some null item in that recipe"); - } - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aResearchItem, true, false); - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(aOutput, true, false); - for (FluidStack tFluidInput : aFluidInputs) { - if (tFluidInput == null) continue; - tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(tFluidInput, true, false); - } - tPersistentHash = tPersistentHash * 31 + aResearchTime; - tPersistentHash = tPersistentHash * 31 + aDuration; - tPersistentHash = tPersistentHash * 31 + aEUt; - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { aResearchItem }, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, - null, - null, - aResearchTime, - 30, - -201); - RecipeMaps.assemblylineVisualRecipes.addFakeRecipe( - false, - tInputs, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result") }, - aFluidInputs, - null, - aDuration, - aEUt, - 0, - tAlts, - false); - GT_Recipe_AssemblyLine tRecipe = new GT_Recipe_AssemblyLine( - aResearchItem, - aResearchTime, - tInputs, - aFluidInputs, - aOutput, - aDuration, - aEUt, - tAlts); - tRecipe.setPersistentHash(tPersistentHash); - GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add(tRecipe); - GT_AssemblyLineUtils.addRecipeToCache(tRecipe); - return true; - } - - @Override - @Deprecated - public boolean addCircuitAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, - int aDuration, int aEUt) { - return addCircuitAssemblerRecipe(aInputs, aFluidInput, aOutput, aDuration, aEUt, false); - } - - @Override - @Deprecated - public boolean addCircuitAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, - int aDuration, int aEUt, boolean aCleanroom) { - - if (this.areItemsAndFluidsBothNull(aInputs, new FluidStack[] { aFluidInput })) { - return false; - } - - if (aDuration <= 0) { - return false; - } - - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - - if (!GT_Utility.isStackValid(aOutput)) { - return false; - } - - for (int oreID : OreDictionary.getOreIDs(aOutput)) { - if (OreDictionary.getOreName(oreID) - .startsWith("circuit")) { - return this - .addCircuitAssemblerRecipeNonOredicted(aInputs, aFluidInput, aOutput, aDuration, aEUt, aCleanroom); - } - } - - RecipeMaps.circuitAssemblerRecipes.addRecipe( - true, - aInputs, - new ItemStack[] { aOutput }, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Deprecated - public boolean addCircuitAssemblerRecipeNonOredicted(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, - int aDuration, int aEUt, boolean aCleanroom) { - if ((aInputs == null) || (aOutput == null) || aInputs.length > 6 || aInputs.length < 1) { - return false; - } - if (aDuration <= 0) { - return false; - } - if (!GT_Mod.gregtechproxy.mEnableCleanroom) { - aCleanroom = false; - } - RecipeMaps.circuitAssemblerRecipes.addRecipe( - true, - aInputs, - new ItemStack[] { aOutput }, - null, - null, - new FluidStack[] { aFluidInput }, - null, - aDuration, - aEUt, - aCleanroom ? -200 : 0); - return true; - } - - @Override - @Deprecated - public boolean addNanoForgeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int[] aChances, int aDuration, int aEUt, int aSpecialValue) { - if (aInputs == null || aOutputs == null || aSpecialValue == 0) return false; - - RecipeMaps.nanoForgeRecipes.addRecipe( - new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - return true; - } - - @Override - public GT_Recipe addIC2ReactorBreederCell(ItemStack input, ItemStack output, boolean reflector, int heatStep, - int heatMultiplier, int requiredPulses) { - return GT_Values.RA.stdBuilder() - .itemInputs(input) - .itemOutputs(output) - .setNEIDesc( - reflector ? "Neutron reflecting Breeder" : "Heat neutral Breeder", - String.format("Every %d reactor hull heat", heatStep), - String.format("increase speed by %d00%%", heatMultiplier), - String.format("Required pulses: %d", requiredPulses)) - .duration(0) - .eut(0) - .addTo(RecipeMaps.ic2NuclearFakeRecipes) - .stream() - .findFirst() - .orElse(null); - } - - @Override - public GT_Recipe addIC2ReactorFuelCell(ItemStack input, ItemStack output, boolean aMox, float aHeat, float aEnergy, - int aCells) { - // for the mysterious constant 5.0f, - // see ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric.getOfferedEnergy - // don't ask, just accept - int pulses = aCells / 2 + 1; - float nukePowerMult = 5.0f * ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/nuclear"); - return GT_Values.RA.stdBuilder() - .itemInputs(input) - .itemOutputs(output) - .setNEIDesc( - aMox ? "MOX Model" : "Uranium Model", - "Neutron Pulse: " + aCells, - aCells == 1 ? String.format("Heat: %.1f * n1 * (n1 + 1)", aHeat / 2f) - : String.format("Heat: %.1f * (%d + n1) * (%d + n1)", aHeat * aCells / 2f, aCells, aCells + 1), - String.format( - "Energy: %.1f + n2 * %.1f EU/t", - aEnergy * aCells * pulses * nukePowerMult, - aEnergy * nukePowerMult)) - .duration(0) - .eut(0) - .addTo(RecipeMaps.ic2NuclearFakeRecipes) - .stream() - .findFirst() - .orElse(null); - } - - private boolean areItemsAndFluidsBothNull(ItemStack[] items, FluidStack[] fluids) { - boolean itemsNull = true; - if (items != null) { - for (ItemStack itemStack : items) { - if (itemStack != null) { - itemsNull = false; - break; - } - } - } - boolean fluidsNull = true; - if (fluids != null) { - for (FluidStack fluidStack : fluids) { - if (fluidStack != null) { - fluidsNull = false; - break; - } - } - } - return itemsNull && fluidsNull; - } - - @Override public GT_RecipeBuilder stdBuilder() { return GT_RecipeBuilder.builder(); } |