diff options
Diffstat (limited to 'src/main')
177 files changed, 14544 insertions, 18727 deletions
diff --git a/src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java b/src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java index 0851914f1e..f61b1889ba 100644 --- a/src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java +++ b/src/main/java/com/elisis/gtnhlanth/loader/BotRecipes.java @@ -1,20 +1,18 @@ package com.elisis.gtnhlanth.loader; -import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.AmmoniumNitrate; -import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.Nitromethane; -import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.OXylene; -import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.Phosgene; -import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.SodiumTungstate; -import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.TungstenTrioxide; -import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.TungsticAcid; -import static gregtech.api.enums.OrePrefixes.cell; -import static gregtech.api.enums.OrePrefixes.dust; -import static gregtech.api.enums.OrePrefixes.ingotHot; -import static gregtech.api.enums.OrePrefixes.item; +import static com.elisis.gtnhlanth.common.register.BotWerkstoffMaterialPool.*; +import static gregtech.api.enums.OrePrefixes.*; +import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes; +import static gregtech.api.recipe.RecipeMaps.crackingRecipes; +import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import java.util.HashSet; @@ -46,101 +44,100 @@ public class BotRecipes { ItemStack C24 = GT_Utility.getIntegratedCircuit(24); // CaCO3 + 2HCl = H2O + CO2 + CaCl2 - GT_Values.RA.addChemicalRecipe( - Materials.Calcite.getDust(5), - Materials.Empty.getCells(1), - Materials.HydrochloricAcid.getFluid(2000), - Materials.Water.getFluid(1000), - Materials.CarbonDioxide.getCells(1), - WerkstoffLoader.CalciumChloride.get(dust, 3), - 80, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(1)) + .itemOutputs(Materials.CarbonDioxide.getCells(1), WerkstoffLoader.CalciumChloride.get(dust, 3)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(2000)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); // tungsten chain FluidStack sodiumTungsten = SodiumTungstate.getFluidOrGas(1000); ItemStack scheelite = Materials.Scheelite.getDust(6); // Li2WO4 + 2Na = Na2WO4 + 2Li - GT_Values.RA.addAutoclaveRecipe( - Materials.Tungstate.getDust(7), - Materials.Sodium.getDust(2), - Materials.Water.getFluid(4000), - sodiumTungsten, - Materials.Lithium.getDust(2), - 10000, - 100, - 1920, - false); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Tungstate.getDust(7), Materials.Sodium.getDust(2)) + .itemOutputs(Materials.Lithium.getDust(2)) + .fluidInputs(Materials.Water.getFluid(4000)) + .fluidOutputs(sodiumTungsten) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(autoclaveRecipes); // MnWO4 + 2Na = Na2WO4 + Mn - GT_Values.RA.addAutoclaveRecipe( - WerkstoffLoader.Huebnerit.get(dust, 6), - Materials.Sodium.getDust(2), - Materials.Water.getFluid(4000), - sodiumTungsten, - Materials.Manganese.getDust(1), - 10000, - 100, - 1920, - false); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Huebnerit.get(dust, 6), Materials.Sodium.getDust(2)) + .itemOutputs(Materials.Manganese.getDust(1)) + .fluidInputs(Materials.Water.getFluid(4000)) + .fluidOutputs(sodiumTungsten) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(autoclaveRecipes); // FeWO4 + 2Na = Na2WO4 + Fe - GT_Values.RA.addAutoclaveRecipe( - WerkstoffLoader.Ferberite.get(dust, 6), - Materials.Sodium.getDust(2), - Materials.Water.getFluid(4000), - sodiumTungsten, - Materials.Iron.getDust(1), - 10000, - 100, - 1920, - false); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Ferberite.get(dust, 6), Materials.Sodium.getDust(2)) + .itemOutputs(Materials.Iron.getDust(1)) + .fluidInputs(Materials.Water.getFluid(4000)) + .fluidOutputs(sodiumTungsten) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(autoclaveRecipes); // CaCl2 + Na2WO4 = 2NaCl + CaWO4 ItemStack Ca2Cl = WerkstoffLoader.CalciumChloride.get(dust, 3); - GT_Values.RA - .addChemicalRecipe(Ca2Cl, null, sodiumTungsten, null, scheelite, Materials.Salt.getDust(4), 100, 480); + GT_Values.RA.stdBuilder() + .itemInputs(Ca2Cl) + .itemOutputs(scheelite, Materials.Salt.getDust(4)) + .fluidInputs(sodiumTungsten) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); ItemStack H2WO4 = TungsticAcid.get(dust, 7); // CaWO4 + 2HCl = H2WO4 + CaCl2 - GT_Values.RA.addChemicalRecipe( - scheelite, - null, - Materials.HydrochloricAcid.getFluid(2000), - null, - H2WO4, - Ca2Cl, - 50, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(scheelite) + .itemOutputs(H2WO4, Ca2Cl) + .fluidInputs(Materials.HydrochloricAcid.getFluid(2000)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); ItemStack WO3 = TungstenTrioxide.get(dust, 4); // H2WO4 = WO3 + H2O - GT_Values.RA.addBlastRecipe(H2WO4, null, null, null, WO3, null, 200, 480, 1200); + GT_Values.RA.stdBuilder() + .itemInputs(H2WO4) + .itemOutputs(WO3) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); // WO3 + 6H = W + 3H2O - GT_Values.RA.addBlastRecipe( - WO3, - C2, - Materials.Hydrogen.getGas(6000), - GT_ModHandler.getSteam(3000), - Materials.Tungsten.getDust(1), - null, - 100, - 1920, - 1000); + GT_Values.RA.stdBuilder() + .itemInputs(WO3, C2) + .itemOutputs(Materials.Tungsten.getDust(1)) + .fluidInputs(Materials.Hydrogen.getGas(6000)) + .fluidOutputs(GT_ModHandler.getSteam(3000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 1000) + .addTo(blastFurnaceRecipes); WO3.stackSize = 8; // 2WO3 + 3C = 2W + 3CO2 - GT_Values.RA.addBlastRecipe( - WO3, - Materials.Carbon.getDust(3), - null, - Materials.CarbonDioxide.getGas(3000), - GT_OreDictUnificator.get(ingotHot, Materials.Tungsten, 2L), - null, - 8000, - 1920, - 3000); + GT_Values.RA.stdBuilder() + .itemInputs(WO3, Materials.Carbon.getDust(3)) + .itemOutputs(GT_OreDictUnificator.get(ingotHot, Materials.Tungsten, 2L)) + .fluidOutputs(Materials.CarbonDioxide.getGas(3000)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .metadata(COIL_HEAT, 3000) + .addTo(blastFurnaceRecipes); // rocket fuels // LMP103S @@ -176,75 +173,76 @@ public class BotRecipes { .addTo(UniversalChemical); // H3PO4 = P + H2O - GT_Values.RA.addDistilleryRecipe( - C2, - Materials.PhosphoricAcid.getFluid(1000), - Materials.Water.getFluid(500), - Materials.Phosphorus.getDust(1), - 20, - 480, - false); + GT_Values.RA.stdBuilder() + .itemInputs(C2) + .itemOutputs(Materials.Phosphorus.getDust(1)) + .fluidInputs(Materials.PhosphoricAcid.getFluid(1000)) + .fluidOutputs(Materials.Water.getFluid(500)) + .eut(TierEU.RECIPE_HV) + .duration(1 * SECONDS) + .addTo(distilleryRecipes); ItemStack cells = Ic2Items.cell.copy(); cells.stackSize = 1; // NH4Cl = HCl + NH3 - GT_Values.RA.addDistilleryRecipe( - cells, - WerkstoffLoader.AmmoniumChloride.getFluidOrGas(1000), - Materials.HydrochloricAcid.getFluid(1000), - Materials.Ammonia.getCells(1), - 50, - 120, - false); + GT_Values.RA.stdBuilder() + .itemInputs(cells) + .itemOutputs(Materials.Ammonia.getCells(1)) + .fluidInputs(WerkstoffLoader.AmmoniumChloride.getFluidOrGas(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(1000)) + .eut(TierEU.RECIPE_MV) + .duration(2 * SECONDS + 10 * TICKS) + .addTo(distilleryRecipes); // N2H4O3 + NaOH = NaNO3 + NH3 + H2O - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - AmmoniumNitrate.get(dust, 9), - Materials.SodiumHydroxide.getDust(3), - null, - Materials.Ammonia.getGas(1000), - WerkstoffLoader.SodiumNitrate.get(dust, 5), - null, - 100, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3)) + .itemOutputs(WerkstoffLoader.SodiumNitrate.get(dust, 5)) + .fluidOutputs(Materials.Ammonia.getGas(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalReactorRecipes); - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3), C2 }, - null, - new FluidStack[] { Materials.Ammonia.getGas(1000), Materials.Water.getFluid(1000) }, - new ItemStack[] { WerkstoffLoader.SodiumNitrate.get(dust, 5) }, - 100, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3), C2) + .itemOutputs(WerkstoffLoader.SodiumNitrate.get(dust, 5)) + .fluidOutputs(Materials.Ammonia.getGas(1000), Materials.Water.getFluid(1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); // N2H4O3 + NaOH + H =H2SO4= NH3 + HNO3 + Na + H2O - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { C24, AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3) }, - new FluidStack[] { Materials.SulfuricAcid.getFluid(1000), Materials.Hydrogen.getGas(1000) }, - new FluidStack[] { Materials.Ammonia.getGas(1000), Materials.NitricAcid.getFluid(1000), - Materials.DilutedSulfuricAcid.getFluid(1000) }, - new ItemStack[] { Materials.Sodium.getDust(1) }, - 300, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(C24, AmmoniumNitrate.get(dust, 9), Materials.SodiumHydroxide.getDust(3)) + .itemOutputs(Materials.Sodium.getDust(1)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1000), Materials.Hydrogen.getGas(1000)) + .fluidOutputs( + Materials.Ammonia.getGas(1000), + Materials.NitricAcid.getFluid(1000), + Materials.DilutedSulfuricAcid.getFluid(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); // Monomethylhydrazine cells.stackSize = 1; // C7H8 + CH4O = C8H10 + H2O - GT_Values.RA.addCrackingRecipe( - 1, - Materials.Toluene.getFluid(1000), - Materials.Methanol.getFluid(1000), - OXylene.getFluidOrGas(1000), - 600, - 4096); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.Toluene.getFluid(1000), Materials.Methanol.getFluid(1000)) + .fluidOutputs(OXylene.getFluidOrGas(1000)) + .duration(30 * SECONDS) + .eut(4096) + .addTo(crackingRecipes); // 2HNO3 + C3H8 = 2CH3NO2 + 2H2O + C - GT_Values.RA.addCrackingRecipe( - 2, - Materials.Propane.getGas(1000), - Materials.NitricAcid.getFluid(2000), - Nitromethane.getFluidOrGas(2000), - 300, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.Propane.getGas(1000), Materials.NitricAcid.getFluid(2000)) + .fluidOutputs(Nitromethane.getFluidOrGas(2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(crackingRecipes); } public static void removeRecipes() { diff --git a/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java index 1aaa945f93..14194af8f7 100644 --- a/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java +++ b/src/main/java/com/elisis/gtnhlanth/loader/RecipeLoader.java @@ -69,6 +69,7 @@ import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.Samariu import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.SamariumExtractingNanoResin; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.SamariumOreConcentrate; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.SamariumOxalate; +import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.SamariumOxide; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.SamariumRareEarthMud; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.TerbiumChlorideConcentrate; import static com.elisis.gtnhlanth.common.register.WerkstoffMaterialPool.TerbiumExtractingNanoResin; @@ -87,7 +88,10 @@ import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.recipe.RecipeMaps.centrifugeNonCellRecipes; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; +import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes; +import static gregtech.api.recipe.RecipeMaps.crackingRecipes; import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; +import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes; import static gregtech.api.recipe.RecipeMaps.electrolyzerNonCellRecipes; import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; @@ -102,8 +106,12 @@ import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes; import static gregtech.api.recipe.RecipeMaps.sifterRecipes; import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; +import static gregtech.api.util.GT_RecipeConstants.DISSOLUTION_TANK_RATIO; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import static gregtech.common.items.GT_MetaGenerated_Item_01.registerCauldronCleaningFor; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; @@ -793,147 +801,158 @@ public class RecipeLoader { /* ZIRCONIUM */ // ZrCl4 // ZrO2 + 4HCl = ZrCl4 + 2H2O - GT_Values.RA.addChemicalRecipe( - GT_Utility.getIntegratedCircuit(1), - WerkstoffMaterialPool.Zirconia.get(OrePrefixes.dust, 3), - Materials.HydrochloricAcid.getFluid(4000), - Materials.Water.getFluid(2000), - WerkstoffMaterialPool.ZirconiumTetrachloride.get(OrePrefixes.dust, 5), - 300); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1), WerkstoffMaterialPool.Zirconia.get(OrePrefixes.dust, 3)) + .itemOutputs(WerkstoffMaterialPool.ZirconiumTetrachloride.get(OrePrefixes.dust, 5)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(4000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); // ZrCl4-H2O - GT_Values.RA.addChemicalRecipe( - GT_Utility.getIntegratedCircuit(1), - WerkstoffMaterialPool.ZirconiumTetrachloride.get(OrePrefixes.dust, 5), - Materials.Water.getFluid(1000), - WerkstoffMaterialPool.ZirconiumTetrachlorideSolution.getFluidOrGas(1000), - null, - 200); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + WerkstoffMaterialPool.ZirconiumTetrachloride.get(OrePrefixes.dust, 5)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(WerkstoffMaterialPool.ZirconiumTetrachlorideSolution.getFluidOrGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); // Zr - // ZrCl4�H2O + 2Mg = Zr + 2MgCl2 - GT_Values.RA.addBlastRecipe( - GT_Utility.getIntegratedCircuit(2), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2), - WerkstoffMaterialPool.ZirconiumTetrachlorideSolution.getFluidOrGas(1000), - null, // No fluid output - WerkstoffMaterialPool.Zirconium.get(OrePrefixes.ingotHot, 1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 6), - 600, - 1920, - 4500); + // ZrCl4·H2O + 2Mg = Zr + 2MgCl2 + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2)) + .itemOutputs( + WerkstoffMaterialPool.Zirconium.get(OrePrefixes.ingotHot, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 6)) + .fluidInputs(WerkstoffMaterialPool.ZirconiumTetrachlorideSolution.getFluidOrGas(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .metadata(COIL_HEAT, 4500) + .addTo(blastFurnaceRecipes); /* HAFNIUM */ // HfCl4 // HfO2 + 4HCl = HfCl4 + 2H2O - GT_Values.RA.addChemicalRecipe( - GT_Utility.getIntegratedCircuit(1), - WerkstoffMaterialPool.Hafnia.get(OrePrefixes.dust, 3), - Materials.HydrochloricAcid.getFluid(4000), - Materials.Water.getFluid(2000), - WerkstoffMaterialPool.HafniumTetrachloride.get(OrePrefixes.dust, 5), - 300); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1), WerkstoffMaterialPool.Hafnia.get(OrePrefixes.dust, 3)) + .itemOutputs(WerkstoffMaterialPool.HafniumTetrachloride.get(OrePrefixes.dust, 5)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(4000)) + .fluidOutputs(Materials.Water.getFluid(2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); // HfCl4-H2O - GT_Values.RA.addChemicalRecipe( - GT_Utility.getIntegratedCircuit(1), - WerkstoffMaterialPool.HafniumTetrachloride.get(OrePrefixes.dust, 5), - Materials.Water.getFluid(1000), - WerkstoffMaterialPool.HafniumTetrachlorideSolution.getFluidOrGas(1000), - null, - 200); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + WerkstoffMaterialPool.HafniumTetrachloride.get(OrePrefixes.dust, 5)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(WerkstoffMaterialPool.HafniumTetrachlorideSolution.getFluidOrGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); // LP-Hf // HfCl4 + 2Mg = ??Hf?? + 2MgCl2 - GT_Values.RA.addBlastRecipe( - GT_Utility.getIntegratedCircuit(2), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2), - WerkstoffMaterialPool.HafniumTetrachlorideSolution.getFluidOrGas(1000), - null, // No fluid output - WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 6), - 600, - 1920, - 2700); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(2), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2)) + .itemOutputs( + WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesiumchloride, 6)) + .fluidInputs(WerkstoffMaterialPool.HafniumTetrachlorideSolution.getFluidOrGas(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .metadata(COIL_HEAT, 2700) + .addTo(blastFurnaceRecipes); // HfI4 // ??Hf?? + 4I = HfI4 - GT_Values.RA.addChemicalRecipe( - GT_Utility.getIntegratedCircuit(1), - WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.Iodine.getFluidOrGas(4000), - null, - WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5), - 300); - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.Iodine.get(OrePrefixes.dust, 4), - null, - null, - WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5), - 300); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5)) + .fluidInputs(WerkstoffMaterialPool.Iodine.getFluidOrGas(4000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.LowPurityHafnium.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.Iodine.get(OrePrefixes.dust, 4)) + .itemOutputs(WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); // Hf // HfI4 = Hf + 4I - GT_Values.RA.addBlastRecipe( - GT_Utility.getIntegratedCircuit(12), - WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5), - null, - WerkstoffMaterialPool.Iodine.getFluidOrGas(4000), - WerkstoffMaterialPool.Hafnium.get(OrePrefixes.ingotHot, 1), - WerkstoffMaterialPool.HafniumRunoff.get(OrePrefixes.dustTiny, 1), - 600, - 1920, - 3400); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(12), + WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 5)) + .itemOutputs( + WerkstoffMaterialPool.Hafnium.get(OrePrefixes.ingotHot, 1), + WerkstoffMaterialPool.HafniumRunoff.get(OrePrefixes.dustTiny, 1)) + .fluidOutputs(WerkstoffMaterialPool.Iodine.getFluidOrGas(4000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 3400) + .addTo(blastFurnaceRecipes); // Hf * 9 - GT_Values.RA.addBlastRecipe( - GT_Utility.getIntegratedCircuit(13), - WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 45), - null, - WerkstoffMaterialPool.Iodine.getFluidOrGas(36000), - WerkstoffMaterialPool.Hafnium.get(OrePrefixes.ingotHot, 9), - WerkstoffMaterialPool.HafniumRunoff.get(OrePrefixes.dust, 1), - 5400, - 1920, - 3400); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(13), + WerkstoffMaterialPool.HafniumIodide.get(OrePrefixes.dust, 45)) + .itemOutputs( + WerkstoffMaterialPool.Hafnium.get(OrePrefixes.ingotHot, 9), + WerkstoffMaterialPool.HafniumRunoff.get(OrePrefixes.dust, 1)) + .fluidOutputs(WerkstoffMaterialPool.Iodine.getFluidOrGas(36000)) + .duration(4 * MINUTES + 30 * TICKS) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 3400) + .addTo(blastFurnaceRecipes); // Zirconia-Hafnia // ??HfZr?? = HfO2 + ZrO2 - GT_Values.RA.addCentrifugeRecipe( - WerkstoffMaterialPool.HafniaZirconiaBlend.get(OrePrefixes.dust, 1), - null, - null, - null, - WerkstoffMaterialPool.Hafnia.get(OrePrefixes.dust, 3), - WerkstoffMaterialPool.Zirconia.get(OrePrefixes.dust, 3), - null, - null, - null, - null, - new int[] { 10000, 10000 }, - 600, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.HafniaZirconiaBlend.get(OrePrefixes.dust, 1)) + .itemOutputs( + WerkstoffMaterialPool.Hafnia.get(OrePrefixes.dust, 3), + WerkstoffMaterialPool.Zirconia.get(OrePrefixes.dust, 3)) + .eut(TierEU.RECIPE_EV) + .duration(30 * SECONDS) + .addTo(centrifugeRecipes); // Ammonium Nitrate // HNO3 + NH3 = NH4NO3 - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - GT_Utility.getIntegratedCircuit(12), - Materials.NitricAcid.getCells(1), - Materials.Ammonia.getGas(1000), - WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1000), - Materials.Empty.getCells(1), - null, - 30, - 400); - - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(12) }, - new FluidStack[] { Materials.NitricAcid.getFluid(1000), Materials.Ammonia.getGas(1000) }, - new FluidStack[] { WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1000) }, - new ItemStack[] {}, - 30, - 400); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(12), Materials.NitricAcid.getCells(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ammonia.getGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1000)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(400) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(12)) + .fluidInputs(Materials.NitricAcid.getFluid(1000), Materials.Ammonia.getGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1000)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(400) + .addTo(multiblockChemicalReactorRecipes); // IODINE-START // SeaweedAsh @@ -942,99 +961,83 @@ public class RecipeLoader { WerkstoffMaterialPool.SeaweedAsh.get(OrePrefixes.dustSmall, 1)); // SeaweedConcentrate - GT_Values.RA.addMixerRecipe( - WerkstoffMaterialPool.SeaweedAsh.get(OrePrefixes.dust, 2), - null, - null, - null, - Materials.DilutedSulfuricAcid.getFluid(1200), - WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(1200), - Materials.Calcite.getDust(1), - 600, - 240); - + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.SeaweedAsh.get(OrePrefixes.dust, 2)) + .itemOutputs(Materials.Calcite.getDust(1)) + .fluidInputs(Materials.DilutedSulfuricAcid.getFluid(1200)) + .fluidOutputs(WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(1200)) + .duration(30 * SECONDS) + .eut(240) + .addTo(mixerRecipes); // SeaweedConcentrate * 4 - GT_Values.RA.addMixerRecipe( - WerkstoffMaterialPool.SeaweedAsh.get(OrePrefixes.dust, 4), - null, - null, - null, - Materials.DilutedSulfuricAcid.getFluid(2400), - WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(2400), - Materials.Calcite.getDust(2), - 1200, - 240); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.SeaweedAsh.get(OrePrefixes.dust, 4)) + .itemOutputs(Materials.Calcite.getDust(2)) + .fluidInputs(Materials.DilutedSulfuricAcid.getFluid(2400)) + .fluidOutputs(WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(2400)) + .duration(60 * SECONDS) + .eut(240) + .addTo(mixerRecipes); // Iodine - GT_Values.RA.addCentrifugeRecipe( - Materials.Benzene.getCells(1), - null, - WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(2000), - WerkstoffMaterialPool.SeaweedByproducts.getFluidOrGas(200), - Materials.Empty.getCells(1), - WerkstoffMaterialPool.Iodine.get(OrePrefixes.dust, 1), - null, - null, - null, - null, - new int[] { 10000, 10000 }, - 760, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Benzene.getCells(1)) + .fluidInputs(WerkstoffMaterialPool.SeaweedConcentrate.getFluidOrGas(2000)) + .fluidOutputs(WerkstoffMaterialPool.SeaweedByproducts.getFluidOrGas(200)) + .eut(TierEU.RECIPE_HV) + .duration(38 * SECONDS) + .addTo(centrifugeRecipes); // IODINE-END // 2MnO2 + 2KOH + KClO3 = 2KMnO4 + H2O + KCl - GT_Values.RA.addBlastRecipe( - Materials.Pyrolusite.getDust(6), - GT_ModHandler.getModItem("dreamcraft", "item.PotassiumHydroxideDust", 6), - WerkstoffMaterialPool.PotassiumChlorate.get(OrePrefixes.dust, 5), - null, - null, - Materials.Water.getFluid(1000), - WerkstoffMaterialPool.PotassiumPermanganate.get(OrePrefixes.dust, 12), - Materials.RockSalt.getDust(2), - null, - null, - 150, - 480, - 1200); + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Pyrolusite.getDust(6), + GT_ModHandler.getModItem("dreamcraft", "item.PotassiumHydroxideDust", 6), + WerkstoffMaterialPool.PotassiumChlorate.get(OrePrefixes.dust, 5)) + .itemOutputs( + WerkstoffMaterialPool.PotassiumPermanganate.get(OrePrefixes.dust, 12), + Materials.RockSalt.getDust(2)) + .fluidOutputs(Materials.Water.getFluid(1000)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); // Mn + 2O = MnO2 - GT_Values.RA.addChemicalRecipe( - Materials.Manganese.getDust(1), - GT_Utility.getIntegratedCircuit(1), - Materials.Oxygen.getGas(2000), - null, - Materials.Pyrolusite.getDust(3), - 40, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Manganese.getDust(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Pyrolusite.getDust(3)) + .fluidInputs(Materials.Oxygen.getGas(2000)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); // 6KOH + 6Cl = KClO3 + 5KCl + 3H2O - GT_Values.RA.addChemicalRecipe( - GT_ModHandler.getModItem("dreamcraft", "item.PotassiumHydroxideDust", 18), - GT_Utility.getIntegratedCircuit(3), - Materials.Chlorine.getGas(6000), - Materials.Water.getFluid(3000), - Materials.RockSalt.getDust(10), - WerkstoffMaterialPool.PotassiumChlorate.get(OrePrefixes.dust, 5), - 40, - 30); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getModItem("dreamcraft", "item.PotassiumHydroxideDust", 18), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs( + Materials.RockSalt.getDust(10), + WerkstoffMaterialPool.PotassiumChlorate.get(OrePrefixes.dust, 5)) + .fluidInputs(Materials.Chlorine.getGas(6000)) + .fluidOutputs(Materials.Water.getFluid(3000)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); - /* - * //Fluorosilicic Acid GT_Values.RA.addChemicalRecipe( GT_Utility.getIntegratedCircuit(1), - * Materials.SiliconDioxide.getDust(1), Materials.HydrofluoricAcid.getFluid(6000), - * WerkstoffMaterialPool.FluorosilicicAcid.getFluidOrGas(1000), null, 300, 600 ); - */ // Sodium Fluorosilicate // 2NaCl + H2SiF6 = 2HCl + Na2SiF6 - GT_Values.RA.addChemicalRecipe( - Materials.Empty.getCells(2), - Materials.Salt.getDust(4), - WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(1000), - WerkstoffMaterialPool.SodiumFluorosilicate.getFluidOrGas(1000), - Materials.HydrochloricAcid.getCells(2), - 600, - 450); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Empty.getCells(2), Materials.Salt.getDust(4)) + .itemOutputs(Materials.HydrochloricAcid.getCells(2)) + .fluidInputs(WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.SodiumFluorosilicate.getFluidOrGas(1000)) + .duration(30 * SECONDS) + .eut(450) + .addTo(UniversalChemical); // Lanthanum Oxide GT_Values.RA.stdBuilder() @@ -1079,78 +1082,69 @@ public class RecipeLoader { public static void loadLanthanideRecipes() { // Methanol // CH4O + CO + 3O =V2O5= H2C2O4 + H2O - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { MyMaterial.vanadiumPentoxide.get(OrePrefixes.dustTiny, 1) }, - new FluidStack[] { Materials.Methanol.getFluid(1000), Materials.CarbonMonoxide.getGas(1000), - Materials.Oxygen.getGas(3000) }, - new FluidStack[] { MyMaterial.oxalate.getFluidOrGas(1000), Materials.Water.getFluid(1000) }, - null, - 450, - 240); - - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(9), - MyMaterial.vanadiumPentoxide.get(OrePrefixes.dust, 1) }, - new FluidStack[] { Materials.Methanol.getFluid(9000), Materials.CarbonMonoxide.getGas(9000), - Materials.Oxygen.getGas(27000) }, - new FluidStack[] { MyMaterial.oxalate.getFluidOrGas(9000), Materials.Water.getFluid(9000) }, - null, - 4050, - 240); + GT_Values.RA.stdBuilder() + .itemInputs(MyMaterial.vanadiumPentoxide.get(OrePrefixes.dustTiny, 1)) + .fluidInputs( + Materials.Methanol.getFluid(1000), + Materials.CarbonMonoxide.getGas(1000), + Materials.Oxygen.getGas(3000)) + .fluidOutputs(MyMaterial.oxalate.getFluidOrGas(1000), Materials.Water.getFluid(1000)) + .duration(22 * SECONDS + 10 * TICKS) + .eut(240) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9), MyMaterial.vanadiumPentoxide.get(OrePrefixes.dust, 1)) + .fluidInputs( + Materials.Methanol.getFluid(9000), + Materials.CarbonMonoxide.getGas(9000), + Materials.Oxygen.getGas(27000)) + .fluidOutputs(MyMaterial.oxalate.getFluidOrGas(9000), Materials.Water.getFluid(9000)) + .duration(3 * MINUTES + 22 * SECONDS + 10 * TICKS) + .eut(240) + .addTo(multiblockChemicalReactorRecipes); // Ethanol // C2H6O + 5O =V2O5= H2C2O4 + 2H2O - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { MyMaterial.vanadiumPentoxide.get(OrePrefixes.dustTiny, 1) }, - new FluidStack[] { Materials.Ethanol.getFluid(1000), Materials.Oxygen.getGas(5000) }, - new FluidStack[] { MyMaterial.oxalate.getFluidOrGas(1000), Materials.Water.getFluid(2000) }, - null, - 450, - 240); - - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(9), - MyMaterial.vanadiumPentoxide.get(OrePrefixes.dust, 1) }, - new FluidStack[] { Materials.Ethanol.getFluid(9000), Materials.Oxygen.getGas(45000) }, - new FluidStack[] { MyMaterial.oxalate.getFluidOrGas(9000), Materials.Water.getFluid(18000) }, - null, - 4050, - 240); - - // GT_Values.RA.addChemicalRecipe( - // GT_Utility.getIntegratedCircuit(2), - // WerkstoffMaterialPool.CeriumDioxide - // - // ) + GT_Values.RA.stdBuilder() + .itemInputs(MyMaterial.vanadiumPentoxide.get(OrePrefixes.dustTiny, 1)) + .itemOutputs() + .fluidInputs(Materials.Ethanol.getFluid(1000), Materials.Oxygen.getGas(5000)) + .fluidOutputs(MyMaterial.oxalate.getFluidOrGas(1000), Materials.Water.getFluid(2000)) + .duration(22 * SECONDS + 10 * TICKS) + .eut(240) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9), MyMaterial.vanadiumPentoxide.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Ethanol.getFluid(9000), Materials.Oxygen.getGas(45000)) + .fluidOutputs(MyMaterial.oxalate.getFluidOrGas(9000), Materials.Water.getFluid(18000)) + .duration(3 * MINUTES + 22 * SECONDS + 10 * TICKS) + .eut(240) + .addTo(multiblockChemicalReactorRecipes); // Cerium Oxalate // 2CeCl3 + 3H2C2O4 = 6HCl + Ce2(C2O4)3 - GT_Values.RA.addChemicalRecipe( - GT_Utility.getIntegratedCircuit(1), - WerkstoffMaterialPool.CeriumChloride.get(OrePrefixes.dust, 8), - MyMaterial.oxalate.getFluidOrGas(3000), - Materials.HydrochloricAcid.getFluid(6000), - WerkstoffMaterialPool.CeriumOxalate.get(OrePrefixes.dust, 5), - null, - 300, - 450); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + WerkstoffMaterialPool.CeriumChloride.get(OrePrefixes.dust, 8)) + .itemOutputs(WerkstoffMaterialPool.CeriumOxalate.get(OrePrefixes.dust, 5)) + .fluidInputs(MyMaterial.oxalate.getFluidOrGas(3000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(6000)) + .duration(15 * SECONDS) + .eut(450) + .addTo(UniversalChemical); // Cerium // Ce2O3 = 2Ce + 3O - GT_Values.RA.addElectrolyzerRecipe( - WerkstoffMaterialPool.CeriumIIIOxide.get(OrePrefixes.dust, 5), - null, - null, - Materials.Oxygen.getFluid(3000), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cerium, 2), - null, - null, - null, - null, - null, - new int[] { 10000 }, - 150, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.CeriumIIIOxide.get(OrePrefixes.dust, 5)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cerium, 2)) + .fluidOutputs(Materials.Oxygen.getGas(3000)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); // CHAIN BEGIN // MONAZITE @@ -1161,7 +1155,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .eut(1920) .duration(400) - .specialValue(800) + .metadata(COIL_HEAT, 800) .addTo(digesterRecipes); GT_Values.RA.stdBuilder() @@ -1176,7 +1170,7 @@ public class RecipeLoader { Materials.Monazite.getDustTiny(2)) .eut(480) .duration(900) - .specialValue(10) + .metadata(DISSOLUTION_TANK_RATIO, 10) .noOptimize() .addTo(dissolutionTankRecipes); @@ -1192,339 +1186,283 @@ public class RecipeLoader { Materials.Monazite.getDust(2)) .eut(480) .duration(8100) - .specialValue(10) + .metadata(DISSOLUTION_TANK_RATIO, 10) .noOptimize() .addTo(dissolutionTankRecipes); - sifterRecipes.addRecipe( - false, - null, - new ItemStack[] { WerkstoffMaterialPool.MonaziteSulfate.get(OrePrefixes.dust, 1), - Materials.SiliconDioxide.getDust(1), Materials.Rutile.getDust(1), - WerkstoffLoader.RedZircon.get(OrePrefixes.dust, 1), Materials.Ilmenite.getDust(1) }, - null, - new int[] { 9000, 7500, 2000, 500, 2000 }, - new FluidStack[] { WerkstoffMaterialPool.DilutedRareEarthMonaziteMud.getFluidOrGas(1000) }, - null, - 400, - 240, - 0); - - GT_Values.RA.addMixerRecipe( - WerkstoffMaterialPool.MonaziteSulfate.get(OrePrefixes.dust, 1), - null, - null, - null, - null, - null, - Materials.Water.getFluid(6000), - WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(7000), - null, - 480, - 400); - - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(13) }, - new FluidStack[] { WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(1000), - WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(200) }, - null, - new ItemStack[] { WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dustTiny, 3), }, - 480, - 480); - - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(14) }, - new FluidStack[] { WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(9000), - WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1800) }, - null, - new ItemStack[] { WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dust, 3), }, - 4320, - 480); - - GT_Values.RA.addSifterRecipe( - WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dust, 1), - new ItemStack[] { WerkstoffMaterialPool.MonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.ThoriumPhosphateCake.get(OrePrefixes.dust, 1) }, - new int[] { 9000, 7000 }, - 600, - 256); - - GT_Values.RA.addBlastRecipe( - WerkstoffMaterialPool.ThoriumPhosphateCake.get(OrePrefixes.dust, 1), - null, - null, - null, - WerkstoffMaterialPool.ThoriumPhosphateConcentrate.get(OrePrefixes.dust, 1), - null, - 300, - 128, - 1500); - - GT_Values.RA.addThermalCentrifugeRecipe( - WerkstoffMaterialPool.ThoriumPhosphateConcentrate.get(OrePrefixes.dust), - Materials.Thorium.getDust(1), - Materials.Phosphate.getDust(1), - null, - new int[] { 10000, 10000 }, - 200, - 480); - - GT_Values.RA.addChemicalBathRecipe( - WerkstoffMaterialPool.MonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(320), - WerkstoffMaterialPool.NeutralizedMonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1), - null, - null, - new int[] { 10000 }, - 120, - 240); - - GT_Values.RA.addSifterRecipe( - WerkstoffMaterialPool.NeutralizedMonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1), - new ItemStack[] { WerkstoffMaterialPool.MonaziteRareEarthHydroxideConcentrate.get(OrePrefixes.dust, 1), + + GT_Values.RA.stdBuilder() + .fluidInputs(WerkstoffMaterialPool.DilutedRareEarthMonaziteMud.getFluidOrGas(1000)) + .itemOutputs( + WerkstoffMaterialPool.MonaziteSulfate.get(OrePrefixes.dust, 1), + Materials.SiliconDioxide.getDust(1), + Materials.Rutile.getDust(1), + WerkstoffLoader.RedZircon.get(OrePrefixes.dust, 1), + Materials.Ilmenite.getDust(1)) + .outputChances(90_00, 75_00, 20_00, 5_00, 20_00) + .duration(20 * SECONDS) + .eut(240) + .noOptimize() + .addTo(sifterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.MonaziteSulfate.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Water.getFluid(6000)) + .fluidOutputs(WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(7000)) + .duration(24 * SECONDS) + .eut(400) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(13)) + .itemOutputs(WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dustTiny, 3)) + .fluidInputs( + WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(1000), + WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(200)) + .duration(24 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(14)) + .itemOutputs(WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dust, 3)) + .fluidInputs( + WerkstoffMaterialPool.DilutedMonaziteSulfate.getFluidOrGas(9000), + WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(1800)) + .duration(3 * MINUTES + 36 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.AcidicMonazitePowder.get(OrePrefixes.dust, 1)) + .itemOutputs( + WerkstoffMaterialPool.MonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.ThoriumPhosphateCake.get(OrePrefixes.dust, 1)) + .outputChances(9000, 7000) + .duration(30 * SECONDS) + .eut(256) + .addTo(sifterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.ThoriumPhosphateCake.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.ThoriumPhosphateConcentrate.get(OrePrefixes.dust, 1)) + .duration(15 * SECONDS) + .eut(128) + .metadata(COIL_HEAT, 1500) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.ThoriumPhosphateConcentrate.get(OrePrefixes.dust)) + .itemOutputs(Materials.Thorium.getDust(1), Materials.Phosphate.getDust(1)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(thermalCentrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.MonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.NeutralizedMonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1)) + .fluidInputs(WerkstoffMaterialPool.AmmoniumNitrate.getFluidOrGas(320)) + .duration(6 * SECONDS) + .eut(240) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.NeutralizedMonaziteRareEarthFiltrate.get(OrePrefixes.dust, 1)) + .itemOutputs( + WerkstoffMaterialPool.MonaziteRareEarthHydroxideConcentrate.get(OrePrefixes.dust, 1), WerkstoffMaterialPool.UraniumFiltrate.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.UraniumFiltrate.get(OrePrefixes.dust, 1) }, - new int[] { 9000, 5000, 4000 }, - 800, - 480); - - GT_Values.RA.addChemicalBathRecipe( - WerkstoffMaterialPool.UraniumFiltrate.get(OrePrefixes.dust, 1), - Materials.HydrofluoricAcid.getFluid(100), - WerkstoffMaterialPool.NeutralizedUraniumFiltrate.get(OrePrefixes.dust, 1), - null, - null, - new int[] { 10000 }, - 360, - 120); - - GT_Values.RA.addSifterRecipe( - WerkstoffMaterialPool.NeutralizedUraniumFiltrate.get(OrePrefixes.dust, 1), - new ItemStack[] { Materials.Uranium.getDust(1), Materials.Uranium.getDust(1), Materials.Uranium.getDust(1), - Materials.Uranium235.getDust(1), Materials.Uranium235.getDust(1), }, - new int[] { 4500, 4000, 3000, 3000, 2000 }, - 1000, - 30); - - GT_Values.RA.addBlastRecipe( - WerkstoffMaterialPool.MonaziteRareEarthHydroxideConcentrate.get(OrePrefixes.dust, 1), - null, - null, - null, - WerkstoffMaterialPool.DriedMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1), - null, - 300, - 120, - 1200); - - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.DriedMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1), - null, - Materials.NitricAcid.getFluid(500), - WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000), - null, - 500, - 480); - - GT_Values.RA.addMixerRecipe( - Materials.Water.getCells(1), - null, - null, - null, - WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000), - WerkstoffMaterialPool.NitricLeachedMonaziteMixture.getFluidOrGas(1000), - Materials.Empty.getCells(1), - 200, - 120); - - GT_Values.RA.addMixerRecipe( - WerkstoffMaterialPool.CeriumRichMixture.get(OrePrefixes.dust, 3), - null, - null, - null, - WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000), - WerkstoffMaterialPool.NitricLeachedMonaziteMixture.getFluidOrGas(2000), - null, - 220, - 120); - - sifterRecipes.addRecipe( - false, - null, - new ItemStack[] { WerkstoffMaterialPool.CeriumDioxide.get(OrePrefixes.dust, 1) }, - null, - new int[] { 1111 }, - new FluidStack[] { WerkstoffMaterialPool.NitricLeachedMonaziteMixture.getFluidOrGas(1000) }, - new FluidStack[] { WerkstoffMaterialPool.NitricMonaziteLeachedConcentrate.getFluidOrGas(1000) }, - 400, - 240, - 0); + WerkstoffMaterialPool.UraniumFiltrate.get(OrePrefixes.dust, 1)) + .outputChances(9000, 5000, 4000) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(sifterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.UraniumFiltrate.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.NeutralizedUraniumFiltrate.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(100)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.NeutralizedUraniumFiltrate.get(OrePrefixes.dust, 1)) + .itemOutputs( + Materials.Uranium.getDust(1), + Materials.Uranium.getDust(1), + Materials.Uranium.getDust(1), + Materials.Uranium235.getDust(1), + Materials.Uranium235.getDust(1)) + .outputChances(4500, 4000, 3000, 3000, 2000) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(sifterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.MonaziteRareEarthHydroxideConcentrate.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.DriedMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.DriedMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.NitricAcid.getFluid(500)) + .fluidOutputs(WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Water.getCells(1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.NitricLeachedMonaziteMixture.getFluidOrGas(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.CeriumRichMixture.get(OrePrefixes.dust, 3)) + .fluidInputs(WerkstoffMaterialPool.NitratedRareEarthMonaziteConcentrate.getFluidOrGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.NitricLeachedMonaziteMixture.getFluidOrGas(2000)) + .duration(11 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(WerkstoffMaterialPool.NitricLeachedMonaziteMixture.getFluidOrGas(1000)) + .itemOutputs(WerkstoffMaterialPool.CeriumDioxide.get(OrePrefixes.dust, 1)) + .outputChances(11_11) + .fluidOutputs(WerkstoffMaterialPool.NitricMonaziteLeachedConcentrate.getFluidOrGas(1000)) + .duration(20 * SECONDS) + .eut(240) + .noOptimize() + .addTo(sifterRecipes); // BEGIN Cerium // Cerium-rich mixture + 3HCl = CeCl3 + Monazite (to allow cerium processing without bastnazite/monazite) - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.CeriumRichMixture.get(OrePrefixes.dust, 15), - null, - Materials.HydrochloricAcid.getFluid(750), - Materials.Water.getFluid(750), - WerkstoffMaterialPool.CeriumChloride.get(OrePrefixes.dust, 1), - Materials.Monazite.getDust(1), - 300, - 450); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.CeriumRichMixture.get(OrePrefixes.dust, 15)) + .itemOutputs(WerkstoffMaterialPool.CeriumChloride.get(OrePrefixes.dust, 1), Materials.Monazite.getDust(1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(750)) + .fluidOutputs(Materials.Water.getFluid(750)) + .duration(25 * SECONDS) + .eut(450) + .addTo(UniversalChemical); + // CeO2 + 3NH4Cl + H = 3NH3 + CeCl3 + 2H2O - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.CeriumDioxide.get(OrePrefixes.dust, 3), - WerkstoffLoader.AmmoniumChloride.get(OrePrefixes.cell, 3), - Materials.Hydrogen.getGas(1000), - Materials.Water.getGas(2000), - WerkstoffMaterialPool.CeriumChloride.get(OrePrefixes.dust, 4), - Materials.Ammonia.getCells(3), - 300, - 450); + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.CeriumDioxide.get(OrePrefixes.dust, 3), + WerkstoffLoader.AmmoniumChloride.get(OrePrefixes.cell, 3)) + .itemOutputs(WerkstoffMaterialPool.CeriumChloride.get(OrePrefixes.dust, 4), Materials.Ammonia.getCells(3)) + .fluidInputs(Materials.Hydrogen.getGas(1000)) + .fluidOutputs(Materials.Water.getGas(2000)) + .duration(15 * SECONDS) + .eut(450) + .addTo(UniversalChemical); // Ce2(C2O4)3 + 3C = Ce2O3 + 9CO - GT_Values.RA.addBlastRecipe( - WerkstoffMaterialPool.CeriumOxalate.get(OrePrefixes.dust, 5), - Materials.Carbon.getDust(3), - null, - Materials.CarbonMonoxide.getGas(9000), - WerkstoffMaterialPool.CeriumIIIOxide.get(OrePrefixes.dust, 5), - null, - 200, - 480, - 800); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.CeriumOxalate.get(OrePrefixes.dust, 5), Materials.Carbon.getDust(3)) + .itemOutputs(WerkstoffMaterialPool.CeriumIIIOxide.get(OrePrefixes.dust, 5)) + .fluidOutputs(Materials.CarbonMonoxide.getGas(9000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 800) + .addTo(blastFurnaceRecipes); // END Cerium (NMLC) - vacuumFreezerRecipes.addRecipe( // Uses fluid, outputs item. Yet another hacky recipe - false, - null, - new ItemStack[] { WerkstoffMaterialPool.CooledMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1), // TODO: - // Perhaps - // add - // more - // shit - // on - // output - }, - null, - new FluidStack[] { WerkstoffMaterialPool.NitricMonaziteLeachedConcentrate.getFluidOrGas(1000) }, - null, - 100, - 240, - 0); - - GT_Values.RA.addElectromagneticSeparatorRecipe( - WerkstoffMaterialPool.CooledMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.MonaziteRarerEarthSediment.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.EuropiumIIIOxide.get(OrePrefixes.dust, 5), // Maybe also holmium - null, - new int[] { 9000, 500 }, - 600, - 1920); + GT_Values.RA.stdBuilder() + .itemOutputs(WerkstoffMaterialPool.CooledMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1)) + .fluidInputs(WerkstoffMaterialPool.NitricMonaziteLeachedConcentrate.getFluidOrGas(1000)) + .duration(5 * SECONDS) + .eut(240) + .noOptimize() + .addTo(vacuumFreezerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.CooledMonaziteRareEarthConcentrate.get(OrePrefixes.dust, 1)) + .itemOutputs( + WerkstoffMaterialPool.MonaziteRarerEarthSediment.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.EuropiumIIIOxide.get(OrePrefixes.dust, 5)) + .outputChances(9000, 500) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(electroMagneticSeparatorRecipes); // 5Eu2O3 + Eu = 4EuO - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.EuropiumIIIOxide.get(OrePrefixes.dust, 5), - Materials.Europium.getDust(1), - null, - null, - WerkstoffMaterialPool.EuropiumOxide.get(OrePrefixes.dust, 6), - 300, - 8400); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.EuropiumIIIOxide.get(OrePrefixes.dust, 5), Materials.Europium.getDust(1)) + .itemOutputs(WerkstoffMaterialPool.EuropiumOxide.get(OrePrefixes.dust, 6)) + .duration(15 * SECONDS) + .eut(8400) + .addTo(UniversalChemical); // 4 EuO = 2 Eu + 2O2 - GT_Values.RA.addElectrolyzerRecipe( - WerkstoffMaterialPool.EuropiumOxide.get(OrePrefixes.dust, 2), - null, - null, - Materials.Oxygen.getGas(1000L), - Materials.Europium.getDust(1), - null, - null, - null, - null, - null, - new int[] { 10000, 10000 }, - 300, - 33000); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.EuropiumOxide.get(OrePrefixes.dust, 2)) + .itemOutputs(Materials.Europium.getDust(1)) + .fluidOutputs(Materials.Oxygen.getGas(1000L)) + .duration(15 * SECONDS) + .eut(33_000) + .addTo(electrolyzerRecipes); // EuS = Eu + S // TODO old recipe. for compat only. remove material and recipe half a year later, i.e. after September 2023. - GT_Values.RA.addElectrolyzerRecipe( - WerkstoffMaterialPool.EuropiumSulfide.get(OrePrefixes.dust, 2), - null, - null, - null, - Materials.Europium.getDust(1), - Materials.Sulfur.getDust(1), - null, - null, - null, - null, - new int[] { 10000, 10000 }, - 600, - 33000); - - GT_Values.RA.addBlastRecipe( - WerkstoffMaterialPool.MonaziteRarerEarthSediment.get(OrePrefixes.dust, 1), - null, - Materials.Chlorine.getGas(1000), - null, - WerkstoffMaterialPool.MonaziteHeterogenousHalogenicRareEarthMixture.get(OrePrefixes.dust, 1), - null, - 500, - 480, - 1200); - - GT_Values.RA.addMixerRecipe( - Materials.Salt.getDust(1), - WerkstoffMaterialPool.MonaziteHeterogenousHalogenicRareEarthMixture.get(OrePrefixes.dust, 1), - null, - null, - Materials.Acetone.getFluid(1000), - null, - WerkstoffMaterialPool.SaturatedMonaziteRareEarthMixture.get(OrePrefixes.dust, 1), - 200, - 240); - - GT_Values.RA.addMixerRecipe( - WerkstoffMaterialPool.MonaziteHeterogenousHalogenicRareEarthMixture.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.SamariumOreConcentrate.get(OrePrefixes.dust, 2), - null, - null, - Materials.Acetone.getFluid(1000), - null, - WerkstoffMaterialPool.SaturatedMonaziteRareEarthMixture.get(OrePrefixes.dust, 3), - 400, - 240); - /* - * GT_Values.RA.addCentrifugeRecipe( - * WerkstoffMaterialPool.SaturatedMonaziteRareEarthMixture.get(OrePrefixes.dust, 2), null, null, - * Materials.Chloromethane.getGas(200), WerkstoffMaterialPool.SamaricResidue.get(OrePrefixes.dustSmall, 6), - * null, //TODO null, null, null, null, new int[] { 10000, //10000 }, 700, 1920 ); - */ - GT_Values.RA.addCentrifugeRecipe( - GT_Utility.getIntegratedCircuit(4), - WerkstoffMaterialPool.SaturatedMonaziteRareEarthMixture.get(OrePrefixes.dust, 8), - null, - Materials.Chloromethane.getGas(800), - WerkstoffMaterialPool.SamaricResidue.get(OrePrefixes.dust, 6), - null, // WerkstoffMaterialPool.UnknownBlend.get(OrePrefixes.dust, 2) TODO - null, - null, - null, - null, - new int[] { 10000, // 10000 - }, - 6300, - 1920); - - GT_Values.RA.addSifterRecipe( - WerkstoffMaterialPool.SamaricResidue.get(OrePrefixes.dust, 9), - new ItemStack[] { Materials.Samarium.getDust(6), Materials.Gadolinium.getDust(3) }, - new int[] { 10000, 10000 }, - 400, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.EuropiumSulfide.get(OrePrefixes.dust, 2)) + .itemOutputs(Materials.Europium.getDust(1), Materials.Sulfur.getDust(1)) + .duration(30 * SECONDS) + .eut(33_000) + .addTo(electrolyzerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.MonaziteRarerEarthSediment.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.MonaziteHeterogenousHalogenicRareEarthMixture.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Chlorine.getGas(1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Salt.getDust(1), + WerkstoffMaterialPool.MonaziteHeterogenousHalogenicRareEarthMixture.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.SaturatedMonaziteRareEarthMixture.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Acetone.getFluid(1000)) + .duration(10 * SECONDS) + .eut(240) + .addTo(mixerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.MonaziteHeterogenousHalogenicRareEarthMixture.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.SamariumOreConcentrate.get(OrePrefixes.dust, 2)) + .itemOutputs(WerkstoffMaterialPool.SaturatedMonaziteRareEarthMixture.get(OrePrefixes.dust, 3)) + .fluidInputs(Materials.Acetone.getFluid(1000)) + .duration(20 * SECONDS) + .eut(240) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(4), + WerkstoffMaterialPool.SaturatedMonaziteRareEarthMixture.get(OrePrefixes.dust, 8)) + .itemOutputs(WerkstoffMaterialPool.SamaricResidue.get(OrePrefixes.dust, 6)) + .fluidOutputs(Materials.Chloromethane.getGas(800)) + .eut(TierEU.RECIPE_EV) + .duration(5 * MINUTES + 15 * SECONDS) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.SamaricResidue.get(OrePrefixes.dust, 9)) + .itemOutputs(Materials.Samarium.getDust(6), Materials.Gadolinium.getDust(3)) + .outputChances(10000, 10000) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(sifterRecipes); // BASTNASITE (god help me) GT_Values.RA.stdBuilder() @@ -1534,27 +1472,29 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .eut(1920) .duration(400) - .specialValue(800) + .metadata(COIL_HEAT, 800) .addTo(digesterRecipes); - GT_Values.RA.addCrackingRecipe( - 1, - WerkstoffMaterialPool.MuddyRareEarthBastnasiteSolution.getFluidOrGas(1000), - GT_ModHandler.getSteam(1000), - WerkstoffMaterialPool.SteamCrackedBasnasiteSolution.getFluidOrGas(2000), - 600, - 480); - - GT_Values.RA.addMixerRecipe( - GT_Utility.getIntegratedCircuit(6), - WerkstoffMaterialPool.SteamCrackedBasnasiteSolution.get(OrePrefixes.cell, 1), - null, - null, - WerkstoffMaterialPool.SodiumFluorosilicate.getFluidOrGas(320), - WerkstoffMaterialPool.ConditionedBastnasiteMud.getFluidOrGas(1320), - Materials.Empty.getCells(1), - 800, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs( + WerkstoffMaterialPool.MuddyRareEarthBastnasiteSolution.getFluidOrGas(1000), + GT_ModHandler.getSteam(1000)) + .fluidOutputs(WerkstoffMaterialPool.SteamCrackedBasnasiteSolution.getFluidOrGas(2000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(crackingRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + WerkstoffMaterialPool.SteamCrackedBasnasiteSolution.get(OrePrefixes.cell, 1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(WerkstoffMaterialPool.SodiumFluorosilicate.getFluidOrGas(320)) + .fluidOutputs(WerkstoffMaterialPool.ConditionedBastnasiteMud.getFluidOrGas(1320)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); GT_Values.RA.stdBuilder() .fluidInputs( @@ -1564,214 +1504,192 @@ public class RecipeLoader { .fluidOutputs(WerkstoffMaterialPool.DiltedRareEarthBastnasiteMud.getFluidOrGas(11000)) .eut(1920) .duration(1000) - .specialValue(10) + .metadata(DISSOLUTION_TANK_RATIO, 10) .noOptimize() .addTo(dissolutionTankRecipes); - sifterRecipes.addRecipe( - false, - null, - new ItemStack[] { Materials.SiliconDioxide.getDust(1), Materials.Rutile.getDust(1), - WerkstoffLoader.RedZircon.get(OrePrefixes.dust, 1), // TODO:Change outputs to complement - // Monazite - Materials.Ilmenite.getDust(1) }, - null, - new int[] { 9000, 7500, 1000, 500, 2000 }, - new FluidStack[] { WerkstoffMaterialPool.DiltedRareEarthBastnasiteMud.getFluidOrGas(1000) }, - new FluidStack[] { WerkstoffMaterialPool.FilteredBastnasiteMud.getFluidOrGas(400) }, - 400, - 240, - 0); - - GT_Values.RA.addBlastRecipe( - GT_Utility.getIntegratedCircuit(1), - null, - WerkstoffMaterialPool.FilteredBastnasiteMud.getFluidOrGas(1000), - null, // TODO: Maybe add some useful shit? - WerkstoffMaterialPool.BastnasiteRareEarthOxidePowder.get(OrePrefixes.dust, 1), - null, // See above - 500, - 600, - 1400); - - GT_Values.RA.addChemicalBathRecipe( - WerkstoffMaterialPool.BastnasiteRareEarthOxidePowder.get(OrePrefixes.dust, 1), - Materials.HydrochloricAcid.getFluid(500), - WerkstoffMaterialPool.LeachedBastnasiteRareEarthOxides.get(OrePrefixes.dust, 1), - null, - null, - new int[] { 10000 }, - 200, - 30); - - GT_Values.RA.addBlastRecipe( - GT_Utility.getIntegratedCircuit(1), - WerkstoffMaterialPool.LeachedBastnasiteRareEarthOxides.get(OrePrefixes.dust, 1), - Materials.Oxygen.getGas(1000), - Materials.Fluorine.getGas(13), - WerkstoffMaterialPool.RoastedRareEarthOxides.get(OrePrefixes.dust, 1), - null, - 600, - 120, - 1200); - - GT_Values.RA.addMixerRecipe( - GT_Utility.getIntegratedCircuit(7), - WerkstoffMaterialPool.RoastedRareEarthOxides.get(OrePrefixes.dust, 1), - null, - null, - Materials.Water.getFluid(200), - null, - WerkstoffMaterialPool.WetRareEarthOxides.get(OrePrefixes.dust, 1), - 100, - 30); - - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.WetRareEarthOxides.get(OrePrefixes.dust, 1), - null, - Materials.Fluorine.getGas(4000), - Materials.HydrofluoricAcid.getFluid(4000), - WerkstoffMaterialPool.CeriumOxidisedRareEarthOxides.get(OrePrefixes.dust, 1), - 300, - 480); - - GT_Values.RA.addCentrifugeRecipe( - WerkstoffMaterialPool.CeriumOxidisedRareEarthOxides.get(OrePrefixes.dust, 1), - null, - null, - null, - WerkstoffMaterialPool.BastnasiteRarerEarthOxides.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.CeriumDioxide.get(OrePrefixes.dust, 1), - null, - null, - null, - null, - new int[] { 10000, 9000 }, - 600, - 480); - - GT_Values.RA.addMixerRecipe( - WerkstoffMaterialPool.BastnasiteRarerEarthOxides.get(OrePrefixes.dust, 1), - null, - null, - null, - Materials.NitricAcid.getFluid(400), - WerkstoffMaterialPool.NitratedBastnasiteRarerEarthOxides.getFluidOrGas(1000), - null, - 300, - 480); - - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.NitratedBastnasiteRarerEarthOxides.get(OrePrefixes.cell, 1), - null, - Materials.Acetone.getFluid(1000), - WerkstoffMaterialPool.SaturatedBastnasiteRarerEarthOxides.getFluidOrGas(1000), - Materials.Empty.getCells(1), - 700, - 480); - - GT_Values.RA.addCentrifugeRecipe( - null, - null, - WerkstoffMaterialPool.SaturatedBastnasiteRarerEarthOxides.getFluidOrGas(1000), - WerkstoffMaterialPool.DilutedAcetone.getFluidOrGas(750), - WerkstoffMaterialPool.NeodymicRareEarthConcentrate.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.SamaricRareEarthConcentrate.get(OrePrefixes.dust, 1), - null, - null, - null, - null, - new int[] { 8000, 5000 }, - 900, - 480); + GT_Values.RA.stdBuilder() + .itemOutputs( + Materials.SiliconDioxide.getDust(1), + Materials.Rutile.getDust(1), + WerkstoffLoader.RedZircon.get(OrePrefixes.dust, 1), + Materials.Ilmenite.getDust(1)) + .outputChances(90_00, 75_00, 10_00, 5_00) + .fluidInputs(WerkstoffMaterialPool.DiltedRareEarthBastnasiteMud.getFluidOrGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.FilteredBastnasiteMud.getFluidOrGas(400)) + .eut(240) + .duration(20 * SECONDS) + .noOptimize() + .addTo(sifterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(WerkstoffMaterialPool.BastnasiteRareEarthOxidePowder.get(OrePrefixes.dust, 1)) + .fluidInputs(WerkstoffMaterialPool.FilteredBastnasiteMud.getFluidOrGas(1000)) + .duration(25 * SECONDS) + .eut(600) + .metadata(COIL_HEAT, 1400) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.BastnasiteRareEarthOxidePowder.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.LeachedBastnasiteRareEarthOxides.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(500)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(1), + WerkstoffMaterialPool.LeachedBastnasiteRareEarthOxides.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.RoastedRareEarthOxides.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .fluidOutputs(Materials.Fluorine.getGas(13)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(7), + WerkstoffMaterialPool.RoastedRareEarthOxides.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.WetRareEarthOxides.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Water.getFluid(200)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.WetRareEarthOxides.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.CeriumOxidisedRareEarthOxides.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Fluorine.getGas(4000)) + .fluidOutputs(Materials.HydrofluoricAcid.getFluid(4000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.CeriumOxidisedRareEarthOxides.get(OrePrefixes.dust, 1)) + .itemOutputs( + WerkstoffMaterialPool.BastnasiteRarerEarthOxides.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.CeriumDioxide.get(OrePrefixes.dust, 1)) + .outputChances(100_00, 90_00) + .eut(TierEU.RECIPE_HV) + .duration(30 * SECONDS) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.BastnasiteRarerEarthOxides.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.NitricAcid.getFluid(400)) + .fluidOutputs(WerkstoffMaterialPool.NitratedBastnasiteRarerEarthOxides.getFluidOrGas(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.NitratedBastnasiteRarerEarthOxides.get(OrePrefixes.cell, 1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Acetone.getFluid(1000)) + .fluidOutputs(WerkstoffMaterialPool.SaturatedBastnasiteRarerEarthOxides.getFluidOrGas(1000)) + .duration(35 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemOutputs( + WerkstoffMaterialPool.NeodymicRareEarthConcentrate.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.SamaricRareEarthConcentrate.get(OrePrefixes.dust, 1)) + .outputChances(80_00, 50_00) + .fluidInputs(WerkstoffMaterialPool.SaturatedBastnasiteRarerEarthOxides.getFluidOrGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.DilutedAcetone.getFluidOrGas(750)) + .eut(TierEU.RECIPE_HV) + .duration(45 * SECONDS) + .addTo(centrifugeRecipes); // Nd RE - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.NeodymicRareEarthConcentrate.get(OrePrefixes.dust, 2), - null, - Materials.HydrochloricAcid.getFluid(2000), - null, - WerkstoffMaterialPool.LanthaniumChloride.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.NeodymiumOxide.get(OrePrefixes.dust, 1), - 900, - 800); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.NeodymicRareEarthConcentrate.get(OrePrefixes.dust, 2)) + .itemOutputs( + WerkstoffMaterialPool.LanthaniumChloride.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.NeodymiumOxide.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.HydrochloricAcid.getFluid(2000)) + .duration(45 * SECONDS) + .eut(800) + .addTo(UniversalChemical); // Sm RE - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.SamaricRareEarthConcentrate.get(OrePrefixes.dust, 1), - null, - Materials.HydrofluoricAcid.getFluid(2000), - null, - WerkstoffMaterialPool.FluorinatedSamaricConcentrate.get(OrePrefixes.dust, 1), - null, - 300, - 480); - - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.SamaricRareEarthConcentrate.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.SamariumOreConcentrate.get(OrePrefixes.dust, 1), - Materials.HydrofluoricAcid.getFluid(2000), - null, - WerkstoffMaterialPool.FluorinatedSamaricConcentrate.get(OrePrefixes.dust, 2), - null, - 350, - 480); - - GT_Values.RA.addBlastRecipe( - WerkstoffMaterialPool.FluorinatedSamaricConcentrate.get(OrePrefixes.dust, 8), - Materials.Calcium.getDust(4), - null, - WerkstoffMaterialPool.CalciumFluoride.getFluidOrGas(12000), - Materials.Holmium.getDust(1), - WerkstoffMaterialPool.SamariumTerbiumMixture.get(OrePrefixes.dust, 4), - 1600, - 1920, - 1200); - - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.SamariumTerbiumMixture.get(OrePrefixes.dust, 1), - BotWerkstoffMaterialPool.AmmoniumNitrate.get(OrePrefixes.dust, 9), - null, - null, - WerkstoffMaterialPool.NitratedSamariumTerbiumMixture.get(OrePrefixes.dust, 1), - null, - 600, - 480); - - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.NitratedSamariumTerbiumMixture.get(OrePrefixes.dust, 4), - Materials.Copper.getDust(1), - null, - null, - WerkstoffMaterialPool.TerbiumNitrate.get(OrePrefixes.dust, 2), - WerkstoffMaterialPool.SamaricResidue.get(OrePrefixes.dust, 2), // Potentially make only Samarium - 3200, - 1920); - - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.SamariumOreConcentrate.get(OrePrefixes.dust, 2), - Materials.Calcium.getDust(3), - null, - null, - WerkstoffMaterialPool.DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 1), - Materials.TricalciumPhosphate.getDust(5), - 300, - 1920); - - GT_Values.RA.addCentrifugeRecipe( - WerkstoffMaterialPool.DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 6), - null, - null, - null, - Materials.Samarium.getDust(1), - WerkstoffLoader.Thorianit.get(OrePrefixes.dust, 2), - null, - null, - null, - null, - new int[] { 9000, 8000, 10000 }, - 200, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.SamaricRareEarthConcentrate.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.FluorinatedSamaricConcentrate.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.SamaricRareEarthConcentrate.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.SamariumOreConcentrate.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.FluorinatedSamaricConcentrate.get(OrePrefixes.dust, 2)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(2000)) + .duration(17 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.FluorinatedSamaricConcentrate.get(OrePrefixes.dust, 8), + Materials.Calcium.getDust(4)) + .itemOutputs( + Materials.Holmium.getDust(1), + WerkstoffMaterialPool.SamariumTerbiumMixture.get(OrePrefixes.dust, 4)) + .fluidOutputs(WerkstoffMaterialPool.CalciumFluoride.getFluidOrGas(12000)) + .duration(1 * MINUTES + 20 * TICKS) + .eut(TierEU.RECIPE_EV) + .metadata(COIL_HEAT, 1200) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.SamariumTerbiumMixture.get(OrePrefixes.dust, 1), + BotWerkstoffMaterialPool.AmmoniumNitrate.get(OrePrefixes.dust, 9)) + .itemOutputs(WerkstoffMaterialPool.NitratedSamariumTerbiumMixture.get(OrePrefixes.dust, 1)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.NitratedSamariumTerbiumMixture.get(OrePrefixes.dust, 4), + Materials.Copper.getDust(1)) + .itemOutputs( + WerkstoffMaterialPool.TerbiumNitrate.get(OrePrefixes.dust, 2), + WerkstoffMaterialPool.SamaricResidue.get(OrePrefixes.dust, 2) // Potentially make only Samarium + ) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.SamariumOreConcentrate.get(OrePrefixes.dust, 2), + Materials.Calcium.getDust(3)) + .itemOutputs( + WerkstoffMaterialPool.DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 1), + Materials.TricalciumPhosphate.getDust(5)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 6)) + .itemOutputs(Materials.Samarium.getDust(1), WerkstoffLoader.Thorianit.get(OrePrefixes.dust, 2)) + .outputChances(90_00, 80_00) + .eut(TierEU.RECIPE_EV) + .duration(10 * SECONDS) + .addTo(centrifugeRecipes); // TODO UV Tier Ion Extracting Method @@ -1782,7 +1700,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(LanthanumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1791,7 +1709,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(LanthanumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1814,7 +1732,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(PraseodymiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1823,7 +1741,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(PraseodymiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1846,7 +1764,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(CeriumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1855,7 +1773,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(CeriumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1876,7 +1794,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(NeodymiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1885,7 +1803,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(NeodymiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1908,7 +1826,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(NeodymiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1917,7 +1835,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(NeodymiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1940,7 +1858,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(PromethiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1949,7 +1867,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(PromethiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1972,7 +1890,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(PromethiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -1981,7 +1899,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(PromethiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2004,7 +1922,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(SamariumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2013,7 +1931,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(SamariumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2036,7 +1954,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(EuropiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2045,7 +1963,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(EuropiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2068,7 +1986,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(GadoliniumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2077,7 +1995,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(GadoliniumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2100,7 +2018,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(TerbiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2109,7 +2027,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(TerbiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2130,7 +2048,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(DysprosiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2139,7 +2057,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(DysprosiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2162,7 +2080,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(HolmiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2171,7 +2089,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(HolmiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2192,7 +2110,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(ErbiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2201,7 +2119,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(ErbiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2222,7 +2140,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(ThuliumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2231,7 +2149,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(ThuliumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2252,7 +2170,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(YtterbiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2261,7 +2179,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(YtterbiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2284,7 +2202,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(3)) .fluidInputs(Materials.Chlorine.getGas(36000)) .fluidOutputs(LutetiumChlorideConcentrate.getFluidOrGas(3000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -2293,7 +2211,7 @@ public class RecipeLoader { .itemOutputs(Materials.SiliconDioxide.getDust(1)) .fluidInputs(Materials.Chlorine.getGas(12000)) .fluidOutputs(LutetiumChlorideConcentrate.getFluidOrGas(1000)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_ZPM) .duration(2 * SECONDS) .addTo(digesterRecipes); @@ -3179,7 +3097,7 @@ public class RecipeLoader { .fluidInputs(Materials.NitricAcid.getFluid(200)) .itemOutputs(ThoriumPhosphateConcentrate.get(OrePrefixes.dust, 1)) .fluidOutputs(MuddySamariumRareEarthSolution.getFluidOrGas(800)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_EV) .duration(10 * SECONDS) .addTo(digesterRecipes); @@ -3190,7 +3108,7 @@ public class RecipeLoader { .fluidInputs(Materials.NitricAcid.getFluid(300)) .itemOutputs(ThoriumPhosphateConcentrate.get(OrePrefixes.dust, 3)) .fluidOutputs(MuddySamariumRareEarthSolution.getFluidOrGas(1200)) - .specialValue(800) + .metadata(COIL_HEAT, 800) .eut(TierEU.RECIPE_EV) .duration(10 * SECONDS) .addTo(digesterRecipes); @@ -3202,7 +3120,7 @@ public class RecipeLoader { .fluidInputs(Materials.NitricAcid.getFluid(1000), MuddySamariumRareEarthSolution.getFluidOrGas(1000)) .itemOutputs(CeriumDioxide.get(OrePrefixes.dust, 1), CeriumOreConcentrate.get(OrePrefixes.dust, 1)) .fluidOutputs(SamariumRareEarthMud.getFluidOrGas(2000)) - .specialValue(1) + .metadata(DISSOLUTION_TANK_RATIO, 1) .outputChances(8000, 6000) .noOptimize() .eut(TierEU.RECIPE_EV) @@ -3213,7 +3131,7 @@ public class RecipeLoader { .fluidInputs(Materials.NitricAcid.getFluid(9000), MuddySamariumRareEarthSolution.getFluidOrGas(9000)) .itemOutputs(CeriumDioxide.get(OrePrefixes.dust, 9), CeriumOreConcentrate.get(OrePrefixes.dust, 9)) .fluidOutputs(SamariumRareEarthMud.getFluidOrGas(18000)) - .specialValue(1) + .metadata(DISSOLUTION_TANK_RATIO, 1) .outputChances(8000, 6000) .noOptimize() .eut(TierEU.RECIPE_IV) @@ -3239,7 +3157,7 @@ public class RecipeLoader { NeodymicRareEarthConcentrate.get(OrePrefixes.dust, 1), NeodymicRareEarthConcentrate.get(OrePrefixes.dust, 1)) .fluidOutputs(DilutedSamariumRareEarthSolution.getFluidOrGas(10000)) - .specialValue(9) + .metadata(DISSOLUTION_TANK_RATIO, 9) .outputChances(9000, 6000) .noOptimize() .eut(TierEU.RECIPE_EV) @@ -3252,7 +3170,7 @@ public class RecipeLoader { NeodymicRareEarthConcentrate.get(OrePrefixes.dust, 9), NeodymicRareEarthConcentrate.get(OrePrefixes.dust, 9)) .fluidOutputs(DilutedSamariumRareEarthSolution.getFluidOrGas(90000)) - .specialValue(9) + .metadata(DISSOLUTION_TANK_RATIO, 9) .outputChances(9000, 6000) .noOptimize() .eut(TierEU.RECIPE_IV) @@ -3369,189 +3287,203 @@ public class RecipeLoader { .duration(5 * SECONDS) .addTo(centrifugeRecipes); - // GT_Values.RA.addBlastRecipe( - // DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 1), - // null, - // null, - // null, - // SamariumOxide.get(OrePrefixes.dust, 1), - // null, - // 40, - // 514, - // 1200); + /** + * DephosphatedSamariumConcentrate has a simple and not shit process. Just burn in furnace, then use + * electolyzer. + */ + GameRegistry.addSmelting( + DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 1), + SamariumOxide.get(OrePrefixes.dustTiny, 2), + 114); + GT_Values.RA.stdBuilder() + .itemInputs(DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 1)) + .itemOutputs(SamariumOxide.get(OrePrefixes.dust, 1)) + .metadata(COIL_HEAT, 1200) + .eut(514) + .duration(2 * SECONDS) + .addTo(blastFurnaceRecipes); } public static void addRandomChemCrafting() { // PTMEG Elastomer - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.Butanediol.get(OrePrefixes.cell, 1), - null, - WerkstoffMaterialPool.TolueneTetramethylDiisocyanate.getFluidOrGas(4000), - WerkstoffMaterialPool.PTMEGElastomer.getMolten(4000), - Materials.Empty.getCells(1), - 1500, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.Butanediol.get(OrePrefixes.cell, 1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(WerkstoffMaterialPool.TolueneTetramethylDiisocyanate.getFluidOrGas(4000)) + .fluidOutputs(WerkstoffMaterialPool.PTMEGElastomer.getMolten(4000)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); // Toluene Tetramethyl Diisocyanate - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.TolueneDiisocyanate.get(OrePrefixes.cell, 3), - Materials.Hydrogen.getCells(2), - WerkstoffMaterialPool.Polytetrahydrofuran.getFluidOrGas(1000), - WerkstoffMaterialPool.TolueneTetramethylDiisocyanate.getFluidOrGas(2000), - Materials.Empty.getCells(5), - 1200, - 480); + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.TolueneDiisocyanate.get(OrePrefixes.cell, 3), + Materials.Hydrogen.getCells(2)) + .itemOutputs(Materials.Empty.getCells(5)) + .fluidInputs(WerkstoffMaterialPool.Polytetrahydrofuran.getFluidOrGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.TolueneTetramethylDiisocyanate.getFluidOrGas(2000)) + .duration(1 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); // PTHF - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.TungstophosphoricAcid.get(OrePrefixes.cell, 1), - Materials.Oxygen.getCells(1), - WerkstoffMaterialPool.Tetrahydrofuran.getFluidOrGas(144), - WerkstoffMaterialPool.Polytetrahydrofuran.getFluidOrGas(432), - Materials.Empty.getCells(2), - 1000, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.TungstophosphoricAcid.get(OrePrefixes.cell, 1), + Materials.Oxygen.getCells(1)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(WerkstoffMaterialPool.Tetrahydrofuran.getFluidOrGas(144)) + .fluidOutputs(WerkstoffMaterialPool.Polytetrahydrofuran.getFluidOrGas(432)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); // THF - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.AcidicButanediol.get(OrePrefixes.cell, 1), - null, - Materials.Ethanol.getFluid(1000), - WerkstoffMaterialPool.Tetrahydrofuran.getFluidOrGas(1000), - Materials.Empty.getCells(1), - 800, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.AcidicButanediol.get(OrePrefixes.cell, 1)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(Materials.Ethanol.getFluid(1000)) + .fluidOutputs(WerkstoffMaterialPool.Tetrahydrofuran.getFluidOrGas(1000)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); // Acidicised Butanediol - GT_Values.RA.addMixerRecipe( - Materials.SulfuricAcid.getCells(1), - null, - null, - null, - WerkstoffMaterialPool.Butanediol.getFluidOrGas(1000), - WerkstoffMaterialPool.AcidicButanediol.getFluidOrGas(1000), - Materials.Water.getCells(1), - 600, - 2000); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.SulfuricAcid.getCells(1)) + .itemOutputs(Materials.Water.getCells(1)) + .fluidInputs(WerkstoffMaterialPool.Butanediol.getFluidOrGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.AcidicButanediol.getFluidOrGas(1000)) + .duration(30 * SECONDS) + .eut(2000) + .addTo(mixerRecipes); // Butanediol - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.MoTeOCatalyst.get(OrePrefixes.dustTiny, 1), - null, - Materials.Butane.getGas(1000), - WerkstoffMaterialPool.Butanediol.getFluidOrGas(1000), - null, - 900, - 1920); - - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(9), - WerkstoffMaterialPool.MoTeOCatalyst.get(OrePrefixes.dust, 1) }, - new FluidStack[] { Materials.Butane.getGas(9000) }, - new FluidStack[] { WerkstoffMaterialPool.Butanediol.getFluidOrGas(9000) }, - null, - 8100, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.MoTeOCatalyst.get(OrePrefixes.dustTiny, 1)) + .fluidInputs(Materials.Butane.getGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.Butanediol.getFluidOrGas(1000)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + WerkstoffMaterialPool.MoTeOCatalyst.get(OrePrefixes.dust, 1)) + .fluidInputs(Materials.Butane.getGas(9000)) + .fluidOutputs(WerkstoffMaterialPool.Butanediol.getFluidOrGas(9000)) + .duration(6 * MINUTES + 45 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(multiblockChemicalReactorRecipes); // Moly-Te-Oxide Catalyst - GT_Values.RA.addMixerRecipe( - WerkstoffMaterialPool.MolybdenumIVOxide.get(OrePrefixes.dust, 1), - WerkstoffMaterialPool.TelluriumIVOxide.get(OrePrefixes.dust, 1), - null, - null, - null, - null, - WerkstoffMaterialPool.MoTeOCatalyst.get(OrePrefixes.dust, 2), - 300, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffMaterialPool.MolybdenumIVOxide.get(OrePrefixes.dust, 1), + WerkstoffMaterialPool.TelluriumIVOxide.get(OrePrefixes.dust, 1)) + .itemOutputs(WerkstoffMaterialPool.MoTeOCatalyst.get(OrePrefixes.dust, 2)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); // Tungstophosphoric Acid - GT_Values.RA.addChemicalRecipe( - Materials.PhosphoricAcid.getCells(1), - Materials.HydrochloricAcid.getCells(24), - BotWerkstoffMaterialPool.SodiumTungstate.getFluidOrGas(12000), - WerkstoffMaterialPool.TungstophosphoricAcid.getFluidOrGas(1000), - Materials.Salt.getDust(24), - Materials.Empty.getCells(25), - 500, - 1024); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.PhosphoricAcid.getCells(1), Materials.HydrochloricAcid.getCells(24)) + .itemOutputs(Materials.Salt.getDust(24), Materials.Empty.getCells(25)) + .fluidInputs(BotWerkstoffMaterialPool.SodiumTungstate.getFluidOrGas(12000)) + .fluidOutputs(WerkstoffMaterialPool.TungstophosphoricAcid.getFluidOrGas(1000)) + .duration(25 * SECONDS) + .eut(1024) + .addTo(UniversalChemical); // Toluene Diisocyanate - GT_Values.RA.addChemicalRecipe( - WerkstoffMaterialPool.Diaminotoluene.get(OrePrefixes.cell, 1), - Materials.Empty.getCells(3), - BotWerkstoffMaterialPool.Phosgene.getFluidOrGas(2000), - WerkstoffMaterialPool.TolueneDiisocyanate.getFluidOrGas(1000), - Materials.HydrochloricAcid.getCells(4), - 900, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffMaterialPool.Diaminotoluene.get(OrePrefixes.cell, 1), Materials.Empty.getCells(3)) + .itemOutputs() + .fluidInputs(BotWerkstoffMaterialPool.Phosgene.getFluidOrGas(2000)) + .fluidOutputs(WerkstoffMaterialPool.TolueneDiisocyanate.getFluidOrGas(1000)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); // Diaminotoluene - GT_Values.RA.addChemicalRecipe( - Materials.Hydrogen.getCells(4), - null, - WerkstoffMaterialPool.Dinitrotoluene.getFluidOrGas(1000), - WerkstoffMaterialPool.Diaminotoluene.getFluidOrGas(1000), - Materials.Empty.getCells(4), - 300, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Hydrogen.getCells(4)) + .itemOutputs() + .fluidInputs(WerkstoffMaterialPool.Dinitrotoluene.getFluidOrGas(1000)) + .fluidOutputs(WerkstoffMaterialPool.Diaminotoluene.getFluidOrGas(1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); // Dinitrotoluene - GT_Values.RA.addChemicalRecipe( - Materials.NitricAcid.getCells(2), - null, - Materials.Toluene.getFluid(1000), - WerkstoffMaterialPool.Dinitrotoluene.getFluidOrGas(1000), - Materials.Empty.getCells(2), - 900, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.NitricAcid.getCells(2)) + .itemOutputs(Materials.Empty.getCells(2)) + .fluidInputs(Materials.Toluene.getFluid(1000)) + .fluidOutputs(WerkstoffMaterialPool.Dinitrotoluene.getFluidOrGas(1000)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(UniversalChemical); + // Digester Control Block - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1L), ItemList.Super_Tank_EV.get(2L), - ItemList.Electric_Motor_IV.get(4L), ItemList.Electric_Pump_IV.get(4L), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1L), + ItemList.Super_Tank_EV.get(2L), + ItemList.Electric_Motor_IV.get(4L), + ItemList.Electric_Pump_IV.get(4L), GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Desh, 4L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4L), - GT_Utility.getIntegratedCircuit(1) }, - Materials.Polytetrafluoroethylene.getMolten(1440), - LanthItemList.DIGESTER, - 600, - 4096); - + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(LanthItemList.DIGESTER) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1440)) + .duration(30 * SECONDS) + .eut(4096) + .addTo(assemblerRecipes); // Dissolution Tank - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_EV.get(1L), ItemList.Super_Tank_HV.get(2L), - ItemList.Electric_Motor_EV.get(4L), ItemList.Electric_Pump_EV.get(2L), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_EV.get(1L), + ItemList.Super_Tank_HV.get(2L), + ItemList.Electric_Motor_EV.get(4L), + ItemList.Electric_Pump_EV.get(2L), GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.VibrantAlloy, 4L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 4L), GT_Utility.getIntegratedCircuit(2) }, - Materials.Polytetrafluoroethylene.getMolten(720), - LanthItemList.DISSOLUTION_TANK, - 400, - 960); - - GT_Values.RA.addFluidHeaterRecipe( - null, - WerkstoffMaterialPool.DilutedAcetone.getFluidOrGas(250), - Materials.Acetone.getFluid(150), - 120, - 120); + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 4L), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(LanthItemList.DISSOLUTION_TANK) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(720)) + .duration(20 * SECONDS) + .eut(960) + .addTo(assemblerRecipes); - // PTMEG Manipulation + GT_Values.RA.stdBuilder() + .fluidInputs(WerkstoffMaterialPool.DilutedAcetone.getFluidOrGas(250)) + .fluidOutputs(Materials.Acetone.getFluid(150)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); - GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ingot.get(0L), - WerkstoffMaterialPool.PTMEGElastomer.getMolten(144), - WerkstoffMaterialPool.PTMEGElastomer.get(OrePrefixes.ingot, 1), - 40, - 64); + // PTMEG Manipulation - GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Plate.get(0L), - WerkstoffMaterialPool.PTMEGElastomer.getMolten(144), - WerkstoffMaterialPool.PTMEGElastomer.get(OrePrefixes.plate, 1), - 40, - 64); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ingot.get(0L)) + .itemOutputs(WerkstoffMaterialPool.PTMEGElastomer.get(OrePrefixes.ingot, 1)) + .fluidInputs(WerkstoffMaterialPool.PTMEGElastomer.getMolten(144)) + .duration(2 * SECONDS) + .eut(64) + .addTo(fluidSolidifierRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Plate.get(0L)) + .itemOutputs(WerkstoffMaterialPool.PTMEGElastomer.get(OrePrefixes.plate, 1)) + .fluidInputs(WerkstoffMaterialPool.PTMEGElastomer.getMolten(144)) + .duration(2 * SECONDS) + .eut(64) + .addTo(fluidSolidifierRecipes); // TODO Cerium-doped Lutetium Aluminium Garnet (Ce:LuAG) /** @@ -3688,7 +3620,7 @@ public class RecipeLoader { .itemInputs(CeriumDopedLutetiumAluminiumGarnet.get(OrePrefixes.dust, 1)) .itemOutputs(CeriumDopedLutetiumAluminiumGarnet.get(OrePrefixes.gemExquisite, 1)) .fluidInputs(CeriumDopedLutetiumAluminiumOxygenBlend.getMolten(108)) - .specialValue(9100) + .metadata(COIL_HEAT, 9100) .eut(TierEU.RECIPE_UHV) .duration(5 * SECONDS) .addTo(vacuumFurnaceRecipes); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java index 1a7e49aaa3..b9a572b3c5 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java @@ -1,5 +1,6 @@ package com.github.bartimaeusnek.bartworks.common.loaders; +import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.electricImplosionCompressorRecipes; import static gregtech.api.enums.GT_Values.M; import static gregtech.api.enums.Mods.Avaritia; import static gregtech.api.enums.Mods.EternalSingularity; @@ -8,11 +9,10 @@ import static gregtech.api.enums.Mods.OpenComputers; import static gregtech.api.enums.Mods.SuperSolarPanels; import static gregtech.api.enums.Mods.UniversalSingularities; import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; @@ -24,13 +24,6 @@ import gregtech.api.util.GT_OreDictUnificator; public class ElectricImplosionCompressorRecipes implements Runnable { - private static void addElectricImplosionRecipe(final ItemStack[] inputItems, final FluidStack[] inputFluids, - final ItemStack[] outputItems, final FluidStack[] outputFluids, final int durationInTicks, - final int EUPerTick) { - BartWorksRecipeMaps.electricImplosionCompressorRecipes - .addRecipe(false, inputItems, outputItems, null, inputFluids, outputFluids, durationInTicks, EUPerTick, 1); - } - private static final ItemStack[] circuits = { ItemList.Circuit_ExoticProcessor.get(1), ItemList.Circuit_OpticalAssembly.get(1), ItemList.Circuit_Biowaresupercomputer.get(1), ItemList.Circuit_Wetwaremainframe.get(1) }; @@ -41,128 +34,105 @@ public class ElectricImplosionCompressorRecipes implements Runnable { if (EternalSingularity.isModLoaded()) { - addElectricImplosionRecipe( - // IN. - new ItemStack[] { GT_Values.NI }, - new FluidStack[] { MaterialsUEVplus.SpaceTime.getMolten(72L) }, - // OUT. - new ItemStack[] { getModItem(EternalSingularity.ID, "eternal_singularity", 1L) }, - new FluidStack[] { GT_Values.NF }, - // Recipe stats. - 100 * 20, - (int) TierEU.RECIPE_UMV); + GT_Values.RA.stdBuilder() + .itemOutputs(getModItem(EternalSingularity.ID, "eternal_singularity", 1L)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(72L)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); if (UniversalSingularities.isModLoaded()) // Raw Exposed Optical Chip - addElectricImplosionRecipe( - // IN. - new ItemStack[] { ItemList.Circuit_Silicon_Wafer7.get(1L), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Silicon_Wafer7.get(1L), // Fluxed Electrum Singularity. - getModItem(UniversalSingularities.ID, "universal.general.singularity", 1L, 20) }, - new FluidStack[] { GT_Values.NF }, - // OUT. - new ItemStack[] { ItemList.Circuit_Chip_Optical.get(16L) }, - new FluidStack[] { GT_Values.NF }, - 5 * 20, - (int) TierEU.RECIPE_UMV); - + getModItem(UniversalSingularities.ID, "universal.general.singularity", 1L, 20)) + .itemOutputs(ItemList.Circuit_Chip_Optical.get(16L)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); } - addElectricImplosionRecipe( - // IN. - new ItemStack[] { getModItem(GoodGenerator.ID, "highDensityPlutoniumNugget", 5L) }, - new FluidStack[] { Materials.Neutronium.getMolten(72L) }, - // OUT. - new ItemStack[] { getModItem(GoodGenerator.ID, "highDensityPlutonium", 1L) }, - new FluidStack[] { GT_Values.NF }, - // Recipe stats. - 1, - (int) TierEU.RECIPE_UEV); - - addElectricImplosionRecipe( - // IN. - new ItemStack[] { getModItem(GoodGenerator.ID, "highDensityUraniumNugget", 5L) }, - new FluidStack[] { Materials.Neutronium.getMolten(72L) }, - // OUT. - new ItemStack[] { getModItem(GoodGenerator.ID, "highDensityUranium", 1L) }, - new FluidStack[] { GT_Values.NF }, - // Recipe stats. - 1, - (int) TierEU.RECIPE_UEV); - - addElectricImplosionRecipe( - // IN. - new ItemStack[] { getModItem(GoodGenerator.ID, "highDensityThoriumNugget", 5L) }, - new FluidStack[] { Materials.Neutronium.getMolten(72L) }, - // OUT. - new ItemStack[] { getModItem(GoodGenerator.ID, "highDensityThorium", 1L) }, - new FluidStack[] { GT_Values.NF }, - // Recipe stats. - 1, - (int) TierEU.RECIPE_UEV); + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GoodGenerator.ID, "highDensityPlutoniumNugget", 5L)) + .itemOutputs(getModItem(GoodGenerator.ID, "highDensityPlutonium", 1L)) + .fluidInputs(Materials.Neutronium.getMolten(72L)) + .duration(TierEU.RECIPE_UEV) + .eut(1) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GoodGenerator.ID, "highDensityUraniumNugget", 5L)) + .itemOutputs(getModItem(GoodGenerator.ID, "highDensityUranium", 1L)) + .fluidInputs(Materials.Neutronium.getMolten(72L)) + .duration(1) + .eut(TierEU.RECIPE_UEV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(getModItem(GoodGenerator.ID, "highDensityThoriumNugget", 5L)) + .itemOutputs(getModItem(GoodGenerator.ID, "highDensityThorium", 1L)) + .fluidInputs(Materials.Neutronium.getMolten(72L)) + .duration(1) + .eut(TierEU.RECIPE_UEV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); // Magneto material recipe for base fluid. - addElectricImplosionRecipe( - // IN. - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.WhiteDwarfMatter, 1L), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.WhiteDwarfMatter, 1L), GT_OreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.Universium, 1L), - GT_OreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.BlackDwarfMatter, 1L) }, - new FluidStack[] { MaterialsUEVplus.RawStarMatter.getFluid(64 * 144L) }, - // OUT. - new ItemStack[] { GT_Values.NI }, - new FluidStack[] { MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter.getMolten(16 * 144L) }, - // Recipe stats. - 20 * 4, - (int) TierEU.RECIPE_UXV); + GT_OreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.BlackDwarfMatter, 1L)) + .fluidInputs(MaterialsUEVplus.RawStarMatter.getFluid(64 * 144L)) + .fluidOutputs(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter.getMolten(16 * 144L)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_UXV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); // Infinity Catalyst - addElectricImplosionRecipe( - // IN. - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfinityCatalyst, 64L), }, - new FluidStack[] { GT_Values.NF }, - // OUT. - new ItemStack[] { getModItem(Avaritia.ID, "Resource", 1L, 5) }, - new FluidStack[] { GT_Values.NF }, - // Recipe stats. - 1 * 1, - (int) TierEU.RECIPE_UIV); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.InfinityCatalyst, 64L)) + .itemOutputs(getModItem(Avaritia.ID, "Resource", 1L, 5)) + .duration(1) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); if (UniversalSingularities.isModLoaded()) { // Fluxed Singularity - addElectricImplosionRecipe( - // IN. - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.block, Materials.ElectrumFlux, 16L), }, - new FluidStack[] { GT_Values.NF }, - // OUT. - new ItemStack[] { getModItem(UniversalSingularities.ID, "universal.general.singularity", 1L, 20) }, - new FluidStack[] { GT_Values.NF }, - // Recipe stats. - 1 * 1, - (int) TierEU.RECIPE_UIV); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.ElectrumFlux, 16L)) + .itemOutputs(getModItem(UniversalSingularities.ID, "universal.general.singularity", 1L, 20)) + .duration(1) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); // Iron Singularity - addElectricImplosionRecipe( - // IN. - new ItemStack[] { GT_Values.NI }, - new FluidStack[] { Materials.Iron.getMolten(7296 * 9 * 144L) }, - // OUT. - new ItemStack[] { getModItem(Avaritia.ID, "Singularity", 1L, 0) }, - new FluidStack[] { GT_Values.NF }, - // Recipe stats. - 1 * 1, - (int) TierEU.RECIPE_UIV); + GT_Values.RA.stdBuilder() + .itemOutputs(getModItem(Avaritia.ID, "Singularity", 1L, 0)) + .fluidInputs(Materials.Iron.getMolten(7296 * 9 * 144L)) + .duration(1) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); } // MHDCSM V2 - addElectricImplosionRecipe( - // IN. - new ItemStack[] { MaterialsUEVplus.Eternity.getNanite(1), MaterialsUEVplus.Universium.getNanite(1) }, - new FluidStack[] { MaterialsUEVplus.RawStarMatter.getFluid(128 * 144L) }, - // OUT. - new ItemStack[] { GT_Values.NI }, - new FluidStack[] { MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter.getMolten(32 * 144L) }, - // Recipe stats. - 20 * 4, - (int) TierEU.RECIPE_MAX); + GT_Values.RA.stdBuilder() + .itemInputs(MaterialsUEVplus.Eternity.getNanite(1), MaterialsUEVplus.Universium.getNanite(1)) + .fluidInputs(MaterialsUEVplus.RawStarMatter.getFluid(128 * 144L)) + .fluidOutputs(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter.getMolten(32 * 144L)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); this.addMagnetohydrodynamicallyConstrainedStarMatterPartRecipes(); } @@ -196,18 +166,22 @@ public class ElectricImplosionCompressorRecipes implements Runnable { final int partFraction = (int) (144 * part.mMaterialAmount / M); for (ItemStack circuit : circuits) { - addElectricImplosionRecipe( - new ItemStack[] { circuit.splitStack(circuitMultiplier), + GT_Values.RA.stdBuilder() + .itemInputs( + circuit.splitStack(circuitMultiplier), getModItem(SuperSolarPanels.ID, "solarsplitter", 1, 0), getModItem(OpenComputers.ID, "hologram2", circuitMultiplier, 0), - GT_OreDictUnificator.get(part, MaterialsUEVplus.Eternity, multiplier), }, - new FluidStack[] { MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter - .getMolten((long) partFraction * multiplier) }, - new ItemStack[] { GT_OreDictUnificator - .get(part, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, multiplier) }, - new FluidStack[] { GT_Values.NF }, - (int) (multiplier * (20 * partFraction / 144.0)), - (int) TierEU.RECIPE_UXV); + GT_OreDictUnificator.get(part, MaterialsUEVplus.Eternity, multiplier)) + .itemOutputs( + GT_OreDictUnificator + .get(part, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, multiplier)) + .fluidInputs( + MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter + .getMolten((long) partFraction * multiplier)) + .duration((int) (multiplier * (20 * partFraction / 144.0))) + .eut(TierEU.RECIPE_UXV) + .noOptimize() + .addTo(electricImplosionCompressorRecipes); } } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java index 6f50650484..91c077ccad 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/StaticRecipeChangeLoaders.java @@ -13,12 +13,14 @@ package com.github.bartimaeusnek.bartworks.common.loaders; +import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.electricImplosionCompressorRecipes; import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.ANAEROBE_GAS; import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.NOBLE_GAS; import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.fluids; import static com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader.molten; import static gregtech.api.enums.GT_Values.VN; import static gregtech.api.enums.Mods.TinkerConstruct; +import static gregtech.api.enums.TickTime.TICK; import java.lang.reflect.Field; import java.util.ArrayList; @@ -37,7 +39,6 @@ import net.minecraftforge.oredict.OreDictionary; import org.apache.commons.lang3.StringUtils; -import com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps; import com.github.bartimaeusnek.bartworks.API.recipe.DynamicGTRecipe; import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; @@ -50,6 +51,7 @@ import com.google.common.collect.ArrayListMultimap; import cpw.mods.fml.common.registry.GameRegistry; import gnu.trove.map.hash.TObjectDoubleHashMap; import gregtech.api.enums.Element; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -556,19 +558,16 @@ public class StaticRecipeChangeLoaders { .stream() .filter(e -> e.mInputs != null) .forEach( - recipe -> BartWorksRecipeMaps.electricImplosionCompressorRecipes.addRecipe( - true, - Arrays.stream(recipe.mInputs) - .filter(e -> !StaticRecipeChangeLoaders.checkForExplosives(e)) - .distinct() - .toArray(ItemStack[]::new), - recipe.mOutputs, - null, - null, - null, - 1, - (int) TierEU.RECIPE_UEV, - 0)); + recipe -> GT_Values.RA.stdBuilder() + .itemInputs( + Arrays.stream(recipe.mInputs) + .filter(e -> !StaticRecipeChangeLoaders.checkForExplosives(e)) + .distinct() + .toArray(ItemStack[]::new)) + .itemOutputs(recipe.mOutputs) + .duration(1 * TICK) + .eut(TierEU.RECIPE_UEV) + .addTo(electricImplosionCompressorRecipes)); // Custom EIC recipes. new ElectricImplosionCompressorRecipes().run(); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/recipes/Assembler.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/recipes/Assembler.java index 8f152c00c7..7c866d53d2 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/recipes/Assembler.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/recipes/Assembler.java @@ -1,6 +1,5 @@ package com.github.bartimaeusnek.bartworks.common.loaders.recipes; -import static gregtech.api.enums.Mods.GregTech; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.util.GT_RecipeBuilder.HOURS; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -18,7 +17,6 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; @@ -62,9 +60,7 @@ public class Assembler implements Runnable { .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() - .itemInputs( - GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 64, 1000), - GT_Utility.getIntegratedCircuit(17)) + .itemInputs(ItemList.Machine_Multi_BlastFurnace.get(64), GT_Utility.getIntegratedCircuit(17)) .itemOutputs(ItemRegistry.megaMachines[0]) .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) .duration(1 * HOURS) @@ -72,9 +68,7 @@ public class Assembler implements Runnable { .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() - .itemInputs( - GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 64, 1002), - GT_Utility.getIntegratedCircuit(17)) + .itemInputs(ItemList.Machine_Multi_VacuumFreezer.get(64), GT_Utility.getIntegratedCircuit(17)) .itemOutputs(ItemRegistry.megaMachines[1]) .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) .duration(1 * HOURS) @@ -82,9 +76,7 @@ public class Assembler implements Runnable { .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() - .itemInputs( - GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 64, 1126), - GT_Utility.getIntegratedCircuit(17)) + .itemInputs(ItemList.Distillation_Tower.get(64), GT_Utility.getIntegratedCircuit(17)) .itemOutputs(ItemRegistry.megaMachines[2]) .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) .duration(1 * HOURS) @@ -92,9 +84,7 @@ public class Assembler implements Runnable { .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() - .itemInputs( - GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 64, 1169), - GT_Utility.getIntegratedCircuit(17)) + .itemInputs(ItemList.Machine_Multi_LargeChemicalReactor.get(64), GT_Utility.getIntegratedCircuit(17)) .itemOutputs(ItemRegistry.megaMachines[3]) .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) .duration(1 * HOURS) @@ -102,9 +92,7 @@ public class Assembler implements Runnable { .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() - .itemInputs( - GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 64, 1160), - GT_Utility.getIntegratedCircuit(17)) + .itemInputs(ItemList.OilCracker.get(64), GT_Utility.getIntegratedCircuit(17)) .itemOutputs(ItemRegistry.megaMachines[4]) .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) .duration(1 * HOURS) diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/recipes/PyrolyseOven.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/recipes/PyrolyseOven.java index c810c323d9..4e27052f4e 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/recipes/PyrolyseOven.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/recipes/PyrolyseOven.java @@ -1,5 +1,9 @@ package com.github.bartimaeusnek.bartworks.common.loaders.recipes; +import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import net.minecraftforge.fluids.FluidStack; import com.github.bartimaeusnek.bartworks.common.loaders.FluidLoader; @@ -7,18 +11,18 @@ import com.github.bartimaeusnek.bartworks.common.loaders.FluidLoader; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_Utility; public class PyrolyseOven implements Runnable { @Override public void run() { - GT_Values.RA.addPyrolyseRecipe( - Materials.Wood.getDust(10), - new FluidStack(FluidLoader.Kerogen, 1000), - 10, - null, - Materials.Oil.getFluid(1000), - 105, - (int) TierEU.RECIPE_HV); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(10), Materials.Wood.getDust(10)) + .fluidInputs(new FluidStack(FluidLoader.Kerogen, 1000)) + .fluidOutputs(Materials.Oil.getFluid(1000)) + .duration(5 * SECONDS + 5 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(pyrolyseRecipes); } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java index 9bb042406b..555d01684f 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/GT_Enhancement/PlatinumSludgeOverHaul.java @@ -95,7 +95,6 @@ import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.ShapedRecipes; import net.minecraft.item.crafting.ShapelessRecipes; -import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; @@ -253,13 +252,14 @@ public class PlatinumSludgeOverHaul { .eut(TierEU.RECIPE_LV) .addTo(UniversalChemical); - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(9) }, - new FluidStack[] { Materials.Ammonia.getGas(64000), Materials.HydrochloricAcid.getFluid(64000) }, - new FluidStack[] { AmmoniumChloride.getFluidOrGas(64000) }, - null, - 60, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .fluidInputs(Materials.Ammonia.getGas(64000), Materials.HydrochloricAcid.getFluid(64000)) + .fluidOutputs(AmmoniumChloride.getFluidOrGas(64000)) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(multiblockChemicalReactorRecipes); + // base solution for (Werkstoff w : Werkstoff.werkstoffHashSet) if (w.containsStuff(Materials.Sulfur) && (w.containsStuff(Materials.Copper) || w.containsStuff(Materials.Nickel))) { @@ -480,23 +480,27 @@ public class PlatinumSludgeOverHaul { .eut(TierEU.RECIPE_LV) .addTo(sifterRecipes); - GT_Values.RA.addChemicalRecipeForBasicMachineOnly( - PDRawPowder.get(dust, 4), - Materials.Empty.getCells(1), - FormicAcid.getFluidOrGas(4000), - Materials.Ammonia.getGas(4000), - Materials.Palladium.getDust(2), - Materials.Ethylene.getCells(1), - 250, - 30); - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { PDRawPowder.get(dust, 4) }, - new FluidStack[] { FormicAcid.getFluidOrGas(4000) }, - new FluidStack[] { Materials.Ammonia.getGas(4000), Materials.Ethylene.getGas(1000), - Materials.Water.getFluid(1000) }, - new ItemStack[] { Materials.Palladium.getDust(2) }, - 250, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(PDRawPowder.get(dust, 4), Materials.Empty.getCells(1)) + .itemOutputs(Materials.Palladium.getDust(2), Materials.Ethylene.getCells(1)) + .fluidInputs(FormicAcid.getFluidOrGas(4000)) + .fluidOutputs(Materials.Ammonia.getGas(4000)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(PDRawPowder.get(dust, 4)) + .itemOutputs(Materials.Palladium.getDust(2)) + .fluidInputs(FormicAcid.getFluidOrGas(4000)) + .fluidOutputs( + Materials.Ammonia.getGas(4000), + Materials.Ethylene.getGas(1000), + Materials.Water.getFluid(1000)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(multiblockChemicalReactorRecipes); + // Na2SO4 + 2H = 2Na + H2SO4 GT_Values.RA.stdBuilder() @@ -507,9 +511,6 @@ public class PlatinumSludgeOverHaul { .eut(TierEU.RECIPE_LV) .addTo(UniversalChemical); - // K2S2O7 - // GT_Values.RA.addChemicalRecipe(Sodiumsulfate.get(dust), Materials.Potassium.getDust(2), - // Materials.Oxygen.getGas(3000), null, PotassiumDisulfate.get(dust,6), null, 30); // Rh/Os/Ir/Ru GT_Values.RA.stdBuilder() .itemInputs(PTResidue.get(dust), GT_Utility.getIntegratedCircuit(11)) @@ -548,19 +549,21 @@ public class PlatinumSludgeOverHaul { .eut(TierEU.RECIPE_HV) .addTo(fluidHeaterRecipes); - GT_Values.RA.addCrackingRecipe( - 17, - RutheniumTetroxideSollution.getFluidOrGas(1000), - GT_ModHandler.getSteam(1000), - HotRutheniumTetroxideSollution.getFluidOrGas(2000), - 150, - 480); - GT_Values.RA.addDistillationTowerRecipe( - HotRutheniumTetroxideSollution.getFluidOrGas(9000), - new FluidStack[] { Materials.Water.getFluid(1800), RutheniumTetroxide.getFluidOrGas(7200) }, - Materials.Salt.getDust(6), - 1500, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(17)) + .fluidInputs(RutheniumTetroxideSollution.getFluidOrGas(1000), GT_ModHandler.getSteam(1000)) + .fluidOutputs(HotRutheniumTetroxideSollution.getFluidOrGas(2000)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(crackingRecipes); + + GT_Values.RA.stdBuilder() + .itemOutputs(Materials.Salt.getDust(6)) + .fluidInputs(HotRutheniumTetroxideSollution.getFluidOrGas(9000)) + .fluidOutputs(Materials.Water.getFluid(1800), RutheniumTetroxide.getFluidOrGas(7200)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(distillationTowerRecipes); GT_Values.RA.stdBuilder() .itemInputs(RutheniumTetroxide.get(dust, 1), Materials.HydrochloricAcid.getCells(6)) @@ -581,12 +584,12 @@ public class PlatinumSludgeOverHaul { .metadata(COIL_HEAT, 775) .addTo(blastFurnaceRecipes); - GT_Values.RA.addDistillationTowerRecipe( - AcidicOsmiumSolution.getFluidOrGas(1000), - new FluidStack[] { OsmiumSolution.getFluidOrGas(100), Materials.Water.getFluid(900) }, - null, - 150, - (int) TierEU.RECIPE_IV); + GT_Values.RA.stdBuilder() + .fluidInputs(AcidicOsmiumSolution.getFluidOrGas(1000)) + .fluidOutputs(OsmiumSolution.getFluidOrGas(100), Materials.Water.getFluid(900)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_IV) + .addTo(distillationTowerRecipes); GT_Values.RA.stdBuilder() .itemInputs(OsmiumSolution.get(cell), Materials.HydrochloricAcid.getCells(6)) @@ -639,13 +642,14 @@ public class PlatinumSludgeOverHaul { .eut(TierEU.RECIPE_LV) .addTo(UniversalChemical); - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(3) }, - new FluidStack[] { Materials.Water.getFluid(36000), RHSulfate.getFluidOrGas(39600) }, - new FluidStack[] { Materials.Potassium.getMolten(7200), RHSulfateSolution.getFluidOrGas(39600) }, - new ItemStack[] { LeachResidue.get(dust, 4) }, - 1200, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(LeachResidue.get(dust, 4)) + .fluidInputs(Materials.Water.getFluid(36000), RHSulfate.getFluidOrGas(39600)) + .fluidOutputs(Materials.Potassium.getMolten(7200), RHSulfateSolution.getFluidOrGas(39600)) + .duration(1 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(multiblockChemicalReactorRecipes); GT_Values.RA.stdBuilder() .itemInputs(Materials.Zinc.getDust(1)) @@ -955,16 +959,16 @@ public class PlatinumSludgeOverHaul { @SuppressWarnings("deprecation") private static void replaceHVCircuitMaterials() { - GT_Values.RA.addMixerRecipe( - Materials.Redstone.getDust(1), - Materials.Electrum.getDust(1), - GT_Utility.getIntegratedCircuit(1), - null, - null, - null, - Materials.Nikolite.getDust(8), - 1800, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Redstone.getDust(1), + Materials.Electrum.getDust(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(Materials.Nikolite.getDust(8)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + for (GT_Recipe recipe : circuitAssemblerRecipes.getAllRecipes()) { if (recipe.mEUt > 512) continue; if (BW_Util.checkStackAndPrefix(recipe.mOutputs[0])) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java index 3638536ca6..8c915a2d8a 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java @@ -13,7 +13,7 @@ package com.github.bartimaeusnek.bartworks.system.material.processingLoaders; -import static com.github.bartimaeusnek.bartworks.util.BW_Util.CLEANROOM; +import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.bioLabRecipes; import static gregtech.api.enums.Mods.Gendustry; import static gregtech.api.enums.OrePrefixes.bolt; import static gregtech.api.enums.OrePrefixes.crushed; @@ -26,14 +26,30 @@ import static gregtech.api.enums.OrePrefixes.gemExquisite; import static gregtech.api.enums.OrePrefixes.gemFlawed; import static gregtech.api.enums.OrePrefixes.stick; import static gregtech.api.enums.OrePrefixes.stickLong; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.cannerRecipes; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.circuitAssemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; +import static gregtech.api.recipe.RecipeMaps.extremeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.fusionRecipes; +import static gregtech.api.recipe.RecipeMaps.hugeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.implosionRecipes; +import static gregtech.api.recipe.RecipeMaps.largeNaquadahReactorFuels; import static gregtech.api.recipe.RecipeMaps.primitiveBlastRecipes; import static gregtech.api.recipe.RecipeMaps.sifterRecipes; +import static gregtech.api.recipe.RecipeMaps.smallNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.ultraHugeNaquadahReactorFuels; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.ADDITIVE_AMOUNT; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; +import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import java.util.Arrays; import java.util.List; @@ -69,11 +85,9 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_RecipeConstants; import gregtech.api.util.GT_Utility; import gregtech.common.items.behaviors.Behaviour_DataOrb; @@ -93,18 +107,19 @@ public class AdditionalRecipes { ItemStack Detergent = BioItemList.getOther(1); ItemStack DNAFlask = BioItemList.getDNASampleFlask(null); ItemStack EthanolCell = Materials.Ethanol.getCells(1); - BartWorksRecipeMaps.bioLabRecipes.addFakeRecipe( - false, - new ItemStack[] { stack, DNAFlask, Detergent, EthanolCell }, - new ItemStack[] { BioItemList.getDNASampleFlask(BioDNA.convertDataToDNA(DNA)), - GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L) }, - BioItemList.mBioLabParts[0], - new int[] { DNA.getChance(), 10000 }, - new FluidStack[] { FluidRegistry.getFluidStack("ic2distilledwater", 1000) }, - null, - 500, - BW_Util.getMachineVoltageFromTier(3 + DNA.getTier()), - BW_Util.STANDART); + GT_Values.RA.stdBuilder() + .itemInputs(stack, DNAFlask, Detergent, EthanolCell) + .itemOutputs( + BioItemList.getDNASampleFlask(BioDNA.convertDataToDNA(DNA)), + GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L)) + .outputChances(DNA.getChance(), 100_00) + .fluidInputs(FluidRegistry.getFluidStack("ic2distilledwater", 1000)) + .special(BioItemList.mBioLabParts[0]) + .duration(25 * SECONDS) + .eut(BW_Util.getMachineVoltageFromTier(3 + DNA.getTier())) + .ignoreCollision() + .fake() + .addTo(bioLabRecipes); } } @@ -116,18 +131,21 @@ public class AdditionalRecipes { Behaviour_DataOrb.setDataTitle(Outp, "DNA Sample"); Behaviour_DataOrb.setDataName(Outp, DNA.getName()); - BartWorksRecipeMaps.bioLabRecipes.addFakeRecipe( - false, - new ItemStack[] { stack, FluidLoader.BioLabFluidCells[0], FluidLoader.BioLabFluidCells[3], - ItemList.Tool_DataOrb.get(1L) }, - new ItemStack[] { Outp, ItemList.Cell_Empty.get(2L) }, - BioItemList.mBioLabParts[1], - new int[] { DNA.getChance(), 10000 }, - dnaFluid, - null, - 500, - BW_Util.getMachineVoltageFromTier(4 + DNA.getTier()), - BW_Util.STANDART); + GT_Values.RA.stdBuilder() + .itemInputs( + stack, + FluidLoader.BioLabFluidCells[0], + FluidLoader.BioLabFluidCells[3], + ItemList.Tool_DataOrb.get(1L)) + .itemOutputs(Outp, ItemList.Cell_Empty.get(2L)) + .outputChances(DNA.getChance(), 100_00) + .fluidInputs(dnaFluid) + .special(BioItemList.mBioLabParts[1]) + .duration(25 * SECONDS) + .eut(BW_Util.getMachineVoltageFromTier(4 + DNA.getTier())) + .ignoreCollision() + .fake() + .addTo(bioLabRecipes); } } @@ -142,18 +160,17 @@ public class AdditionalRecipes { Behaviour_DataOrb.setDataTitle(inp2, "DNA Sample"); Behaviour_DataOrb.setDataName(inp2, BioCultureLoader.BIO_DATA_BETA_LACMATASE.getName()); - BartWorksRecipeMaps.bioLabRecipes.addFakeRecipe( - false, - new ItemStack[] { FluidLoader.BioLabFluidCells[1], BioItemList.getPlasmidCell(null), inp, - inp2 }, - new ItemStack[] { stack, ItemList.Cell_Empty.get(1L) }, - BioItemList.mBioLabParts[2], - new int[] { DNA.getChance(), 10000 }, - dnaFluid, - null, - 500, - BW_Util.getMachineVoltageFromTier(4 + DNA.getTier()), - BW_Util.STANDART); + GT_Values.RA.stdBuilder() + .itemInputs(FluidLoader.BioLabFluidCells[1], BioItemList.getPlasmidCell(null), inp, inp2) + .itemOutputs(stack, ItemList.Cell_Empty.get(1L)) + .outputChances(DNA.getChance(), 100_00) + .fluidInputs(dnaFluid) + .special(BioItemList.mBioLabParts[2]) + .duration(25 * SECONDS) + .eut(BW_Util.getMachineVoltageFromTier(4 + DNA.getTier())) + .ignoreCollision() + .fake() + .addTo(bioLabRecipes); } } @@ -165,19 +182,20 @@ public class AdditionalRecipes { stack.getTagCompound() .getCompoundTag("Plasmid")); if (!Objects.equals(DNA.getName(), Plasmid.getName())) { - BartWorksRecipeMaps.bioLabRecipes.addFakeRecipe( - true, - new ItemStack[] { BioItemList.getPetriDish(BioCulture.getBioCulture(DNA.getName())), + GT_Values.RA.stdBuilder() + .itemInputs( + BioItemList.getPetriDish(BioCulture.getBioCulture(DNA.getName())), BioItemList.getPlasmidCell(BioPlasmid.convertDataToPlasmid(Plasmid)), - FluidLoader.BioLabFluidCells[2], }, - new ItemStack[] { stack, ItemList.Cell_Empty.get(1L) }, - BioItemList.mBioLabParts[3], - new int[] { Plasmid.getChance(), 10000 }, - new FluidStack[] { FluidRegistry.getFluidStack("ic2distilledwater", 1000) }, - null, - 500, - (int) TierEU.RECIPE_LuV, - BW_Util.STANDART); + FluidLoader.BioLabFluidCells[2]) + .itemOutputs(stack, ItemList.Cell_Empty.get(1L)) + .outputChances(Plasmid.getChance(), 100_00) + .fluidInputs(FluidRegistry.getFluidStack("ic2distilledwater", 1000)) + .special(BioItemList.mBioLabParts[3]) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .ignoreCollision() + .fake() + .addTo(bioLabRecipes); } } @@ -185,19 +203,23 @@ public class AdditionalRecipes { Behaviour_DataOrb.setDataTitle(Outp, "DNA Sample"); Behaviour_DataOrb.setDataName(Outp, "Any DNA"); // Clonal Cellular Synthesis- [Liquid DNA] + Medium Petri Dish + Plasma Membrane + Stem Cells + Genome Data - BartWorksRecipeMaps.bioLabRecipes.addFakeRecipe( - false, - new ItemStack[] { BioItemList.getPetriDish(null), BioItemList.getOther(4), - ItemList.Circuit_Chip_Stemcell.get(2L), Outp }, - new ItemStack[] { BioItemList.getPetriDish(null) - .setStackDisplayName("The Culture made from DNA"), }, - BioItemList.mBioLabParts[4], - new int[] { 7500, 10000 }, - new FluidStack[] { new FluidStack(dnaFluid[0].getFluid(), 8000) }, - null, - 500, - (int) TierEU.RECIPE_LuV, - BW_Util.STANDART); + GT_Values.RA.stdBuilder() + .itemInputs( + BioItemList.getPetriDish(null), + BioItemList.getOther(4), + ItemList.Circuit_Chip_Stemcell.get(2L), + Outp) + .itemOutputs( + BioItemList.getPetriDish(null) + .setStackDisplayName("The Culture made from DNA")) + .outputChances(75_00) + .fluidInputs(new FluidStack(dnaFluid[0].getFluid(), 8000)) + .special(BioItemList.mBioLabParts[4]) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .ignoreCollision() + .fake() + .addTo(bioLabRecipes); FluidStack[] easyFluids = { Materials.Water.getFluid(1000L), FluidRegistry.getFluidStack("ic2distilledwater", 1000) }; @@ -219,23 +241,20 @@ public class AdditionalRecipes { 1000, (int) TierEU.RECIPE_HV, BW_Util.STANDART)); - // aOptimize, aInputs, aOutputs, aSpecialItems, aChances, aFluidInputs, aFluidOutputs, - // aDuration, aEUt, aSpecialValue - BartWorksRecipeMaps.bioLabRecipes.addRecipe( - new GT_Recipe( - false, - new ItemStack[] { BioItemList.getPetriDish(null), - fluidStack.equals(Materials.Water.getFluid(1000L)) ? Materials.Water.getCells(1) - : GT_Utility.getContainersFromFluid(GT_ModHandler.getDistilledWater(1000)) - .get(0) }, - new ItemStack[] { BioItemList.getPetriDish(bioCulture), Materials.Empty.getCells(1) }, - null, - new int[] { bioCulture.getChance(), 10000 }, - new FluidStack[] { new FluidStack(bioCulture.getFluid(), 1000) }, - null, - 500, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART)); + GT_Values.RA.stdBuilder() + .itemInputs( + BioItemList.getPetriDish(null), + fluidStack.equals(Materials.Water.getFluid(1000L)) ? Materials.Water.getCells(1) + : GT_Utility.getContainersFromFluid(GT_ModHandler.getDistilledWater(1000)) + .get(0)) + .itemOutputs(BioItemList.getPetriDish(bioCulture), Materials.Empty.getCells(1)) + .outputChances(bioCulture.getChance(), 100_00) + .fluidInputs(new FluidStack(bioCulture.getFluid(), 1000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .ignoreCollision() + .fake() + .addTo(bioLabRecipes); } } } @@ -259,35 +278,38 @@ public class AdditionalRecipes { fuel.getLeft() .getCells(1)) .itemOutputs(Materials.Empty.getCells(1)) - .metadata(GT_RecipeConstants.FUEL_VALUE, fuel.getRight()) + .metadata(FUEL_VALUE, fuel.getRight()) .addTo(BartWorksRecipeMaps.acidGenFuels); } GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellMolten, Materials.Redstone, 1)) .itemOutputs(Materials.Empty.getCells(1)) - .metadata(GT_RecipeConstants.FUEL_VALUE, 10) + .metadata(FUEL_VALUE, 10) .addTo(BartWorksRecipeMaps.acidGenFuels); } @SuppressWarnings("deprecation") public static void run() { runBWRecipes(); - GT_Values.RA.addImplosionRecipe( - WerkstoffLoader.RawAdemicSteel.get(dust), - 4, - WerkstoffLoader.AdemicSteel.get(dust), - null); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.RawAdemicSteel.get(dust)) + .itemOutputs(WerkstoffLoader.AdemicSteel.get(dust)) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(ADDITIVE_AMOUNT, 4) + .addTo(implosionRecipes); + // Thorium/Yttrium Glas - GT_Values.RA.addBlastRecipe( - WerkstoffLoader.YttriumOxide.get(dustSmall, 2), - WerkstoffLoader.Thorianit.get(dustSmall, 2), - Materials.Glass.getMolten(144), - null, - new ItemStack(ItemRegistry.bw_glasses[0], 1, 12), - null, - 800, - (int) TierEU.RECIPE_IV, - 3663); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.YttriumOxide.get(dustSmall, 2), WerkstoffLoader.Thorianit.get(dustSmall, 2)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 12)) + .fluidInputs(Materials.Glass.getMolten(144)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .metadata(COIL_HEAT, 3663) + .addTo(blastFurnaceRecipes); + // Thorianite recipes GT_Values.RA.stdBuilder() .itemInputs(WerkstoffLoader.Thorianit.get(crushedPurified)) @@ -304,43 +326,38 @@ public class AdditionalRecipes { .addTo(sifterRecipes); // 3ThO2 + 4Al = 3Th + 2Al2O3 - GT_Values.RA.addChemicalRecipe( - WerkstoffLoader.Thorianit.get(dust, 9), - Materials.Aluminium.getDust(4), - null, - null, - Materials.Thorium.getDust(3), - Materials.Aluminiumoxide.getDust(10), - 1000); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Thorianit.get(dust, 9), Materials.Aluminium.getDust(4)) + .itemOutputs(Materials.Thorium.getDust(3), Materials.Aluminiumoxide.getDust(10)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + // ThO2 + 2Mg = Th + 2MgO - GT_Values.RA.addChemicalRecipe( - WerkstoffLoader.Thorianit.get(dust, 3), - Materials.Magnesium.getDust(2), - null, - null, - Materials.Thorium.getDust(1), - Materials.Magnesia.getDust(4), - 1000); - GT_Values.RA.addChemicalRecipe( - WerkstoffLoader.Thorianit.get(crushed), - ItemList.Crop_Drop_Thorium.get(9), - Materials.Water.getFluid(1000), - Materials.Thorium.getMolten(144), - WerkstoffLoader.Thorianit.get(crushedPurified, 4), - 96, - 24); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Thorianit.get(dust, 3), Materials.Magnesium.getDust(2)) + .itemOutputs(Materials.Thorium.getDust(1), Materials.Magnesia.getDust(4)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Thorianit.get(crushed), ItemList.Crop_Drop_Thorium.get(9)) + .itemOutputs(WerkstoffLoader.Thorianit.get(crushedPurified, 4)) + .fluidInputs(Materials.Water.getFluid(1000)) + .fluidOutputs(Materials.Thorium.getMolten(144)) + .duration(4 * SECONDS + 16 * TICKS) + .eut(24) + .addTo(UniversalChemical); // Prasiolite - GT_Values.RA.addBlastRecipe( - GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L), - Materials.Amethyst.getDust(10), - GT_Values.NF, - GT_Values.NF, - WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed, 20), - GT_Values.NI, - 800, - (int) TierEU.RECIPE_MV, - 500); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L), Materials.Amethyst.getDust(10)) + .itemOutputs(WerkstoffLoader.Prasiolite.get(OrePrefixes.gemFlawed, 20)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 500) + .addTo(blastFurnaceRecipes); GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(dust, Materials.Quartzite, 40L)) @@ -352,61 +369,66 @@ public class AdditionalRecipes { // Cubic Circonia // 2Y + 3O = Y2O3 - GT_Values.RA.addChemicalRecipe( - Materials.Yttrium.getDust(2), - GT_Utility.getIntegratedCircuit(5), - Materials.Oxygen.getGas(3000), - GT_Values.NF, - WerkstoffLoader.YttriumOxide.get(dust, 5), - 4096, - (int) TierEU.RECIPE_LV); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Yttrium.getDust(2), GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(WerkstoffLoader.YttriumOxide.get(dust, 5)) + .fluidInputs(Materials.Oxygen.getGas(3000)) + .duration(3 * MINUTES + 24 * SECONDS + 16 * TICKS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + // Zr + 2O =Y22O3= ZrO2 - RecipeMaps.blastFurnaceRecipes.addRecipe( - false, - new ItemStack[] { WerkstoffLoader.Zirconium.get(dust, 10), WerkstoffLoader.YttriumOxide.get(dust, 0) }, - new ItemStack[] { WerkstoffLoader.CubicZirconia.get(gemFlawed, 40) }, - null, - null, - new FluidStack[] { Materials.Oxygen.getGas(20000) }, - null, - 57600, - (int) TierEU.RECIPE_HV, - 2953); + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Zirconium.get(dust, 10), WerkstoffLoader.YttriumOxide.get(dust, 0)) + .itemOutputs(WerkstoffLoader.CubicZirconia.get(gemFlawed, 40)) + .fluidInputs(Materials.Oxygen.getGas(20000)) + .duration(48 * MINUTES) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 2953) + .noOptimize() + .addTo(blastFurnaceRecipes); + // Tellurium - GT_Values.RA.addBlastRecipe( - GT_OreDictUnificator.get(crushed, Materials.Lead, 10L), - GT_Utility.getIntegratedCircuit(17), - GT_Values.NF, - GT_Values.NF, - Materials.Lead.getIngots(10), - Materials.Tellurium.getNuggets(20), - 800, - (int) TierEU.RECIPE_MV, - 722); - GT_Values.RA.addFusionReactorRecipe( - Materials.Plutonium.getMolten(48), - Materials.Beryllium.getMolten(48), - WerkstoffLoader.Californium.getMolten(48), - 240, - 49152, - 480000000); - GT_Values.RA.addFusionReactorRecipe( - WerkstoffLoader.Californium.getMolten(32), - WerkstoffLoader.Calcium.getMolten(720), - WerkstoffLoader.Oganesson.getFluidOrGas(720), - 420, - 49152, - 600000000); - GT_Values.RA.addDistillationTowerRecipe( - Materials.LiquidAir.getFluid(100000000), - new FluidStack[] { Materials.Nitrogen.getGas(78084000), Materials.Oxygen.getGas(20946000), - Materials.Argon.getGas(934000), Materials.CarbonDioxide.getGas(40700), - WerkstoffLoader.Neon.getFluidOrGas(1818), Materials.Helium.getGas(524), Materials.Methane.getGas(180), - WerkstoffLoader.Krypton.getFluidOrGas(114), Materials.Hydrogen.getGas(55), - WerkstoffLoader.Xenon.getFluidOrGas(9) }, - null, - 7500, - (int) TierEU.RECIPE_EV); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(crushed, Materials.Lead, 10L), GT_Utility.getIntegratedCircuit(17)) + .itemOutputs(Materials.Lead.getIngots(10), Materials.Tellurium.getNuggets(20)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(COIL_HEAT, 722) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Plutonium.getMolten(48), Materials.Beryllium.getMolten(48)) + .fluidOutputs(WerkstoffLoader.Californium.getMolten(48)) + .duration(12 * SECONDS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 480_000_000) + .addTo(fusionRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(WerkstoffLoader.Californium.getMolten(32), WerkstoffLoader.Calcium.getMolten(720)) + .fluidOutputs(WerkstoffLoader.Oganesson.getFluidOrGas(720)) + .duration(24 * SECONDS) + .eut(49152) + .metadata(FUSION_THRESHOLD, 600_000_000) + .addTo(fusionRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.LiquidAir.getFluid(100000000)) + .fluidOutputs( + Materials.Nitrogen.getGas(78084000), + Materials.Oxygen.getGas(20946000), + Materials.Argon.getGas(934000), + Materials.CarbonDioxide.getGas(40700), + WerkstoffLoader.Neon.getFluidOrGas(1818), + Materials.Helium.getGas(524), + Materials.Methane.getGas(180), + WerkstoffLoader.Krypton.getFluidOrGas(114), + Materials.Hydrogen.getGas(55), + WerkstoffLoader.Xenon.getFluidOrGas(9)) + .duration(6 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(distillationTowerRecipes); GT_Values.RA.stdBuilder() .itemInputs(WerkstoffLoader.MagnetoResonaticDust.get(dust)) @@ -453,218 +475,248 @@ public class AdditionalRecipes { ? FluidRegistry.getFluid("molten.mutatedlivingsolder") : FluidRegistry.getFluid("molten.solderingalloy"); // ULV - RecipeMaps.circuitAssemblerRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(3), WerkstoffLoader.MagnetoResonaticDust.get(gem), ItemList.NandChip.get(1), - ItemList.Circuit_Parts_DiodeSMD.get(4), ItemList.Circuit_Parts_CapacitorSMD.get(4), - ItemList.Circuit_Parts_TransistorSMD.get(4) }, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(4) }, - null, - null, - new FluidStack[] { Materials.SolderingAlloy.getMolten(36) }, - null, - 750, - (int) TierEU.RECIPE_LV, - CLEANROOM)); + GT_Values.RA.stdBuilder() + .itemInputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(3), + WerkstoffLoader.MagnetoResonaticDust.get(gem), + ItemList.NandChip.get(1), + ItemList.Circuit_Parts_DiodeSMD.get(4), + ItemList.Circuit_Parts_CapacitorSMD.get(4), + ItemList.Circuit_Parts_TransistorSMD.get(4)) + .itemOutputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(4)) + .fluidInputs(Materials.SolderingAlloy.getMolten(36)) + .duration(37 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .addTo(circuitAssemblerRecipes); + // LV-EV + long[] voltages = new long[] { 0, TierEU.RECIPE_LV, TierEU.RECIPE_MV, TierEU.RECIPE_HV, TierEU.RECIPE_EV }; for (int i = 1; i <= 4; i++) { - RecipeMaps.circuitAssemblerRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(3), WerkstoffLoader.MagnetoResonaticDust.get(gem), - BW_Meta_Items.getNEWCIRCUITS() - .getStack(i + 3), - ItemList.Circuit_Parts_DiodeSMD.get((i + 1) * 4), - ItemList.Circuit_Parts_CapacitorSMD.get((i + 1) * 4), - ItemList.Circuit_Parts_TransistorSMD.get((i + 1) * 4) }, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(i + 4) }, - null, - null, - new FluidStack[] { Materials.SolderingAlloy.getMolten((i + 1) * 36) }, - null, - (i + 1) * 750, - BW_Util.getMachineVoltageFromTier(i + 1), - CLEANROOM)); + GT_Values.RA.stdBuilder() + .itemInputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(3), + WerkstoffLoader.MagnetoResonaticDust.get(gem), + BW_Meta_Items.getNEWCIRCUITS() + .getStack(i + 3), + ItemList.Circuit_Parts_DiodeSMD.get((i + 1) * 4), + ItemList.Circuit_Parts_CapacitorSMD.get((i + 1) * 4), + ItemList.Circuit_Parts_TransistorSMD.get((i + 1) * 4)) + .itemOutputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(i + 4)) + .fluidInputs(Materials.SolderingAlloy.getMolten((i + 1) * 36)) + .duration((i + 1) * (37 * SECONDS + 10 * TICKS)) + .eut(voltages[i]) + .noOptimize() + .addTo(circuitAssemblerRecipes); } // IV-LuV - for (int i = 5; i <= 6; i++) { - RecipeMaps.circuitAssemblerRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(3), WerkstoffLoader.MagnetoResonaticDust.get(gem), - BW_Meta_Items.getNEWCIRCUITS() - .getStack(i + 3), - ItemList.Circuit_Parts_DiodeASMD.get((i + 1) * 4), - ItemList.Circuit_Parts_CapacitorASMD.get((i + 1) * 4), - ItemList.Circuit_Parts_TransistorASMD.get((i + 1) * 4) }, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(i + 4) }, - null, - null, - new FluidStack[] { new FluidStack(solderIndalloy, (i + 1) * 36) }, - null, - (i + 1) * 750, - BW_Util.getMachineVoltageFromTier(i + 1), - CLEANROOM)); - } + GT_Values.RA.stdBuilder() + .itemInputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(3), + WerkstoffLoader.MagnetoResonaticDust.get(gem), + BW_Meta_Items.getNEWCIRCUITS() + .getStack(8), + ItemList.Circuit_Parts_DiodeASMD.get(24), + ItemList.Circuit_Parts_CapacitorASMD.get(24), + ItemList.Circuit_Parts_TransistorASMD.get(24)) + .itemOutputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(9)) + .fluidInputs(new FluidStack(solderIndalloy, 216)) + .duration(3 * MINUTES + 45 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(3), + WerkstoffLoader.MagnetoResonaticDust.get(gem), + BW_Meta_Items.getNEWCIRCUITS() + .getStack(9), + ItemList.Circuit_Parts_DiodeASMD.get(28), + ItemList.Circuit_Parts_CapacitorASMD.get(28), + ItemList.Circuit_Parts_TransistorASMD.get(28)) + .itemOutputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(12)) + .fluidInputs(new FluidStack(solderIndalloy, 252)) + .duration(4 * MINUTES + 22 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_ZPM) + .noOptimize() + .addTo(circuitAssemblerRecipes); + // ZPM - RecipeMaps.circuitAssemblerRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(3), WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite, 1), - BW_Meta_Items.getNEWCIRCUITS() - .getStack(7 + 3), - ItemList.Circuit_Parts_DiodeASMD.get((7 + 6) * 4), - ItemList.Circuit_Parts_CapacitorASMD.get((7 + 6) * 4), - ItemList.Circuit_Parts_TransistorASMD.get((7 + 6) * 4) }, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(7 + 4) }, - null, - null, - new FluidStack[] { new FluidStack(solderIndalloy, (7 + 1) * 36) }, - null, - (7 + 1) * 1500, - BW_Util.getMachineVoltageFromTier(7 + 1), - CLEANROOM)); + GT_Values.RA.stdBuilder() + .itemInputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(3), + WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite, 1), + BW_Meta_Items.getNEWCIRCUITS() + .getStack(10), + ItemList.Circuit_Parts_DiodeASMD.get(52), + ItemList.Circuit_Parts_CapacitorASMD.get(52), + ItemList.Circuit_Parts_TransistorASMD.get(52)) + .itemOutputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(11)) + .fluidInputs(new FluidStack(solderIndalloy, 288)) + .duration(10 * MINUTES) + .eut(TierEU.RECIPE_UV) + .requiresCleanRoom() + .noOptimize() + .addTo(circuitAssemblerRecipes); + // UV - RecipeMaps.circuitAssemblerRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(3), WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite, 1), - BW_Meta_Items.getNEWCIRCUITS() - .getStack(8 + 3), - ItemList.Circuit_Parts_DiodeASMD.get((8 + 6) * 4), - ItemList.Circuit_Parts_CapacitorASMD.get((8 + 6) * 4), - ItemList.Circuit_Parts_TransistorASMD.get((8 + 6) * 4) }, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(8 + 4) }, - null, - null, - new FluidStack[] { new FluidStack(solderUEV, (8 + 1) * 36) }, - null, - (8 + 1) * 1500, - BW_Util.getMachineVoltageFromTier(8 + 1), - CLEANROOM)); + GT_Values.RA.stdBuilder() + .itemInputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(3), + WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite, 1), + BW_Meta_Items.getNEWCIRCUITS() + .getStack(11), + ItemList.Circuit_Parts_DiodeASMD.get(56), + ItemList.Circuit_Parts_CapacitorASMD.get(56), + ItemList.Circuit_Parts_TransistorASMD.get(56)) + .itemOutputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(12)) + .fluidInputs(new FluidStack(solderUEV, 324)) + .duration(11 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .requiresCleanRoom() + .noOptimize() + .addTo(circuitAssemblerRecipes); + // UHV-UEV - for (int i = 9; i <= 10; i++) { - RecipeMaps.circuitAssemblerRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(3), WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite, 1), - BW_Meta_Items.getNEWCIRCUITS() - .getStack(i + 3), - ItemList.Circuit_Parts_DiodeXSMD.get((i + 6) * 4), - ItemList.Circuit_Parts_CapacitorXSMD.get((i + 6) * 4), - ItemList.Circuit_Parts_TransistorXSMD.get((i + 6) * 4) }, - new ItemStack[] { BW_Meta_Items.getNEWCIRCUITS() - .getStack(i + 4) }, - null, - null, - new FluidStack[] { new FluidStack(solderUEV, (i + 1) * 36) }, - null, - (i + 1) * 1500, - BW_Util.getMachineVoltageFromTier(i + 1), - CLEANROOM)); - } - RecipeMaps.smallNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { WerkstoffLoader.Tiberium.get(bolt) }, - new ItemStack[] {}, - null, - null, - null, - 0, - 0, - 12500); - RecipeMaps.largeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { WerkstoffLoader.Tiberium.get(stick) }, - new ItemStack[] {}, - null, - null, - null, - 0, - 0, - 62500); - - RecipeMaps.hugeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { WerkstoffLoader.Tiberium.get(stickLong) }, - new ItemStack[] {}, - null, - null, - null, - 0, - 0, - 125000); - RecipeMaps.extremeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { WerkstoffLoader.Tiberium.get(stick) }, - new ItemStack[] {}, - null, - null, - null, - 0, - 0, - 31250); - RecipeMaps.ultraHugeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { WerkstoffLoader.Tiberium.get(stickLong) }, - new ItemStack[] {}, - null, - null, - null, - 0, - 0, - 125000); + GT_Values.RA.stdBuilder() + .itemInputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(3), + WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite, 1), + BW_Meta_Items.getNEWCIRCUITS() + .getStack(12), + ItemList.Circuit_Parts_DiodeXSMD.get(60), + ItemList.Circuit_Parts_CapacitorXSMD.get(60), + ItemList.Circuit_Parts_TransistorXSMD.get(60)) + .itemOutputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(13)) + .fluidInputs(new FluidStack(solderUEV, 360)) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .requiresCleanRoom() + .noOptimize() + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(3), + WerkstoffLoader.MagnetoResonaticDust.get(gemExquisite, 1), + BW_Meta_Items.getNEWCIRCUITS() + .getStack(13), + ItemList.Circuit_Parts_DiodeXSMD.get(64), + ItemList.Circuit_Parts_CapacitorXSMD.get(64), + ItemList.Circuit_Parts_TransistorXSMD.get(64)) + .itemOutputs( + BW_Meta_Items.getNEWCIRCUITS() + .getStack(14)) + .fluidInputs(new FluidStack(solderUEV, 396)) + .duration(13 * MINUTES + 45 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .requiresCleanRoom() + .noOptimize() + .addTo(circuitAssemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Tiberium.get(bolt)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 12_500) + .addTo(smallNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Tiberium.get(stick)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 62_500) + .addTo(largeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Tiberium.get(stickLong)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 125_000) + .addTo(hugeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Tiberium.get(stick)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 31_250) + .addTo(extremeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Tiberium.get(stickLong)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 125_000) + .addTo(ultraHugeNaquadahReactorFuels); LoadItemContainers.run(); - GT_Values.RA.addCannerRecipe( - ItemList.Large_Fluid_Cell_TungstenSteel.get(1L), - WerkstoffLoader.Tiberium.get(dust, 3), - BW_NonMeta_MaterialItems.TiberiumCell_1.get(1L), - null, - 30, - 16); - GT_Values.RA.addAssemblerRecipe( - BW_NonMeta_MaterialItems.TiberiumCell_1.get(2L), - GT_OreDictUnificator.get(stick, Materials.TungstenSteel, 4L), - BW_NonMeta_MaterialItems.TiberiumCell_2.get(1L), - 100, - 400); - GT_Values.RA.addAssemblerRecipe( - BW_NonMeta_MaterialItems.TiberiumCell_1.get(4L), - GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel, 6L), - BW_NonMeta_MaterialItems.TiberiumCell_4.get(1L), - 150, - 400); - GT_Values.RA.addAssemblerRecipe( - BW_NonMeta_MaterialItems.TiberiumCell_2.get(2L), - GT_OreDictUnificator.get(stick, Materials.TungstenSteel, 4L), - BW_NonMeta_MaterialItems.TiberiumCell_4.get(1L), - 100, - 400); - - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.NaquadahCell_1.get(32L), + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Large_Fluid_Cell_TungstenSteel.get(1L), WerkstoffLoader.Tiberium.get(dust, 3)) + .itemOutputs(BW_NonMeta_MaterialItems.TiberiumCell_1.get(1L)) + .duration(1 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(cannerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + BW_NonMeta_MaterialItems.TiberiumCell_1.get(2L), + GT_OreDictUnificator.get(stick, Materials.TungstenSteel, 4L)) + .itemOutputs(BW_NonMeta_MaterialItems.TiberiumCell_2.get(1L)) + .duration(5 * SECONDS) + .eut(400) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + BW_NonMeta_MaterialItems.TiberiumCell_1.get(4L), + GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel, 6L)) + .itemOutputs(BW_NonMeta_MaterialItems.TiberiumCell_4.get(1L)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(400) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + BW_NonMeta_MaterialItems.TiberiumCell_2.get(2L), + GT_OreDictUnificator.get(stick, Materials.TungstenSteel, 4L)) + .itemOutputs(BW_NonMeta_MaterialItems.TiberiumCell_4.get(1L)) + .duration(5 * SECONDS) + .eut(400) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.NaquadahCell_1.get(32L), GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel, 64L), GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel, 64L), GT_OreDictUnificator.get(stickLong, Materials.TungstenSteel, 64L), - WerkstoffLoader.Tiberium.get(dust, 64), WerkstoffLoader.Tiberium.get(dust, 64) }, - null, - BW_NonMeta_MaterialItems.TheCoreCell.get(1L), - 100, - (int) TierEU.RECIPE_LuV); + WerkstoffLoader.Tiberium.get(dust, 64), + WerkstoffLoader.Tiberium.get(dust, 64)) + .itemOutputs(BW_NonMeta_MaterialItems.TheCoreCell.get(1L)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); GregTech_API.sAfterGTPostload.add(new AddSomeRecipes()); } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java index 2b86f46149..602e91a008 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CellLoader.java @@ -20,6 +20,7 @@ import static gregtech.api.enums.OrePrefixes.dust; import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; +import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import java.util.ArrayList; @@ -41,6 +42,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.TextureSet; +import gregtech.api.enums.TierEU; import gregtech.api.interfaces.ISubTagContainer; import gregtech.api.recipe.RecipeCategories; import gregtech.api.recipe.RecipeMaps; @@ -314,19 +316,16 @@ public class CellLoader implements IWerkstoffRunnable { ItemStack scannerOutput = ItemList.Tool_DataOrb.get(1L); Behaviour_DataOrb.setDataTitle(scannerOutput, "Elemental-Scan"); Behaviour_DataOrb.setDataName(scannerOutput, werkstoff.getToolTip()); - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new GT_Recipe( - false, - new ItemStack[] { werkstoff.get(cell) }, - new ItemStack[] { scannerOutput }, - ItemList.Tool_DataOrb.get(1L), - null, - null, - null, - (int) (werkstoffBridgeMaterial.getMass() * 8192L), - 30, - 0)); + GT_Values.RA.stdBuilder() + .itemInputs(werkstoff.get(cell)) + .itemOutputs(scannerOutput) + .special(ItemList.Tool_DataOrb.get(1L)) + .duration(werkstoffBridgeMaterial.getMass() * 8192) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CrushedLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CrushedLoader.java index b33d0ddd20..777b765b51 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CrushedLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CrushedLoader.java @@ -13,6 +13,7 @@ package com.github.bartimaeusnek.bartworks.system.material.werkstoff_loaders.recipe; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.OrePrefixes.crushed; import static gregtech.api.enums.OrePrefixes.crushedCentrifuged; import static gregtech.api.enums.OrePrefixes.crushedPurified; @@ -29,6 +30,8 @@ import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes; import static gregtech.api.recipe.RecipeMaps.hammerRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -81,12 +84,14 @@ public class CrushedLoader implements IWerkstoffRunnable { .eut(16) .addTo(hammerRecipes); - GT_ModHandler.addPulverisationRecipe( - werkstoff.get(crushed), - werkstoff.get(dustImpure), - werkstoff.getOreByProduct(0, dust), - 10, - false); + RA.stdBuilder() + .itemInputs(werkstoff.get(crushed)) + .itemOutputs(werkstoff.get(dustImpure), werkstoff.getOreByProduct(0, dust)) + .outputChances(100_00, 10_00) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); + GT_ModHandler.addOreWasherRecipe( werkstoff.get(crushed), new int[] { 10000, 1111, 10000 }, @@ -94,17 +99,17 @@ public class CrushedLoader implements IWerkstoffRunnable { werkstoff.get(crushedPurified), werkstoff.getOreByProduct(0, dust), GT_OreDictUnificator.get(dust, Materials.Stone, 1L)); - GT_ModHandler.addThermalCentrifugeRecipe( - werkstoff.get(crushed), - new int[] { 10000, 1111, 10000 }, - (int) Math.min( - 5000L, - Math.abs( - werkstoff.getStats() - .getProtons() * 20L)), - werkstoff.get(crushedCentrifuged), - werkstoff.getOreByProduct(1, dust), - GT_OreDictUnificator.get(dust, Materials.Stone, 1L)); + + GT_Values.RA.stdBuilder() + .itemInputs(werkstoff.get(crushed)) + .itemOutputs( + werkstoff.get(crushedCentrifuged), + werkstoff.getOreByProduct(1, dust), + GT_OreDictUnificator.get(dust, Materials.Stone, 1L)) + .outputChances(100_00, 11_11, 100_00) + .duration(25 * SECONDS) + .eut(48) + .addTo(thermalCentrifugeRecipes); GT_Values.RA.stdBuilder() .itemInputs(werkstoff.get(crushedPurified)) @@ -113,22 +118,21 @@ public class CrushedLoader implements IWerkstoffRunnable { .eut(16) .addTo(hammerRecipes); - GT_ModHandler.addPulverisationRecipe( - werkstoff.get(crushedPurified), - werkstoff.get(dustPure), - werkstoff.getOreByProduct(1, dust), - 10, - false); - GT_ModHandler.addThermalCentrifugeRecipe( - werkstoff.get(crushedPurified), - new int[] { 10000, 1111 }, - (int) Math.min( - 5000L, - Math.abs( - werkstoff.getStats() - .getProtons() * 20L)), - werkstoff.get(crushedCentrifuged), - werkstoff.getOreByProduct(1, dust)); + RA.stdBuilder() + .itemInputs(werkstoff.get(crushedPurified)) + .itemOutputs(werkstoff.get(dustPure), werkstoff.getOreByProduct(1, dust)) + .outputChances(100_00, 10_00) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(werkstoff.get(crushedPurified)) + .itemOutputs(werkstoff.get(crushedCentrifuged), werkstoff.getOreByProduct(1, dust)) + .outputChances(100_00, 11_11) + .duration(25 * SECONDS) + .eut(48) + .addTo(thermalCentrifugeRecipes); GT_Values.RA.stdBuilder() .itemInputs(werkstoff.get(crushedCentrifuged)) @@ -137,12 +141,13 @@ public class CrushedLoader implements IWerkstoffRunnable { .eut(16) .addTo(hammerRecipes); - GT_ModHandler.addPulverisationRecipe( - werkstoff.get(crushedCentrifuged), - werkstoff.get(dust), - werkstoff.getOreByProduct(2, dust), - 10, - false); + RA.stdBuilder() + .itemInputs(werkstoff.get(crushedCentrifuged)) + .itemOutputs(werkstoff.get(dust), werkstoff.getOreByProduct(2, dust)) + .outputChances(100_00, 10_00) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); GT_Values.RA.stdBuilder() .itemInputs(werkstoff.get(dustImpure)) diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/OreLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/OreLoader.java index 8c9d3837c9..8baf05ecdc 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/OreLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/OreLoader.java @@ -13,19 +13,21 @@ package com.github.bartimaeusnek.bartworks.system.material.werkstoff_loaders.recipe; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.OrePrefixes.crushed; import static gregtech.api.enums.OrePrefixes.dust; import static gregtech.api.enums.OrePrefixes.gem; import static gregtech.api.enums.OrePrefixes.ingot; import static gregtech.api.enums.OrePrefixes.ore; import static gregtech.api.recipe.RecipeMaps.hammerRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.system.material.werkstoff_loaders.IWerkstoffRunnable; -import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.SubTag; import gregtech.api.util.GT_ModHandler; @@ -42,21 +44,23 @@ public class OreLoader implements IWerkstoffRunnable { if (werkstoff.hasItemType(ore)) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(werkstoff.get(ore)) .itemOutputs(werkstoff.hasItemType(gem) ? werkstoff.get(gem) : werkstoff.get(crushed)) .duration(16 * TICKS) .eut(10) .addTo(hammerRecipes); - GT_ModHandler.addPulverisationRecipe( - werkstoff.get(ore), - werkstoff.get(crushed, 2), - werkstoff.contains(SubTag.CRYSTAL) ? werkstoff.get(gem) : werkstoff.getOreByProduct(0, dust), - werkstoff.getNoOfByProducts() > 0 ? 10 : 0, - Materials.Stone.getDust(1), - 50, - true); + RA.stdBuilder() + .itemInputs(werkstoff.get(ore)) + .itemOutputs( + werkstoff.get(crushed, 2), + werkstoff.contains(SubTag.CRYSTAL) ? werkstoff.get(gem) : werkstoff.getOreByProduct(0, dust), + Materials.Stone.getDust(1)) + .outputChances(100_00, 10_00, 50_00) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); } } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/RawOreLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/RawOreLoader.java index 2fbb086022..7e03a19d29 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/RawOreLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/RawOreLoader.java @@ -13,19 +13,21 @@ package com.github.bartimaeusnek.bartworks.system.material.werkstoff_loaders.recipe; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.OrePrefixes.crushed; import static gregtech.api.enums.OrePrefixes.dust; import static gregtech.api.enums.OrePrefixes.gem; import static gregtech.api.enums.OrePrefixes.ingot; import static gregtech.api.enums.OrePrefixes.rawOre; import static gregtech.api.recipe.RecipeMaps.hammerRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.system.material.werkstoff_loaders.IWerkstoffRunnable; -import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.SubTag; import gregtech.api.util.GT_ModHandler; @@ -42,21 +44,23 @@ public class RawOreLoader implements IWerkstoffRunnable { if (werkstoff.hasItemType(rawOre)) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(werkstoff.get(rawOre)) .itemOutputs(werkstoff.hasItemType(gem) ? werkstoff.get(gem) : werkstoff.get(crushed)) .duration(16 * TICKS) .eut(10) .addTo(hammerRecipes); - GT_ModHandler.addPulverisationRecipe( - werkstoff.get(rawOre), - werkstoff.get(crushed, 2), - werkstoff.contains(SubTag.CRYSTAL) ? werkstoff.get(gem) : werkstoff.getOreByProduct(0, dust), - werkstoff.getNoOfByProducts() > 0 ? 5 : 0, - Materials.Stone.getDust(1), - 50, - true); + RA.stdBuilder() + .itemInputs(werkstoff.get(rawOre)) + .itemOutputs( + werkstoff.get(crushed, 2), + werkstoff.contains(SubTag.CRYSTAL) ? werkstoff.get(gem) : werkstoff.getOreByProduct(0, dust), + Materials.Stone.getDust(1)) + .outputChances(100_00, werkstoff.getNoOfByProducts() > 0 ? 5_00 : 10_00, 50_00) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); } } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java index 38982f35b3..452eb0f802 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java @@ -73,8 +73,11 @@ import gregtech.api.util.GT_Utility; public class BW_Util { + @Deprecated public static final int STANDART = 0; + @Deprecated public static final int LOWGRAVITY = -100; + @Deprecated public static final int CLEANROOM = -200; public static String translateGTItemStack(ItemStack itemStack) { diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java b/src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java index 8ead1ca4b0..c374ae4d4e 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/Assembler.java @@ -2,9 +2,12 @@ package com.github.technus.tectech.loader.recipe; import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getItemContainer; import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; -import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.Mods.BartWorks; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -33,516 +36,574 @@ public class Assembler implements Runnable { cleanroomRecipes(); for (int i = 0; i <= 15; i++) { - RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(i + 1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1) }, - Materials.Aluminium.getMolten(864), - new ItemStack(StructureLibAPI.getBlockHint(), 1, i), - 32, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(i + 1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1)) + .itemOutputs(new ItemStack(StructureLibAPI.getBlockHint(), 1, i)) + .fluidInputs(Materials.Aluminium.getMolten(864)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); } // Quantum Glass - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L) }, - getOrDefault("Trinium", Materials.Osmium).getMolten(576), - new ItemStack(QuantumGlassBlock.INSTANCE, 1), - 200, - 500000); + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.eM_Containment.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L)) + .itemOutputs(new ItemStack(QuantumGlassBlock.INSTANCE, 1)) + .fluidInputs(getOrDefault("Trinium", Materials.Osmium).getMolten(576)) + .duration(10 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // recipe for assline data hatches - RA.addAssemblerRecipe( - ItemList.Hatch_DataAccess_EV.get(1), - CustomItemList.dataIn_Hatch.get(1), - CustomItemList.dataInAss_Hatch.get(1), - 2048, - 12000); - RA.addAssemblerRecipe( - ItemList.Hatch_DataAccess_EV.get(1), - CustomItemList.dataOut_Hatch.get(1), - CustomItemList.dataOutAss_Hatch.get(1), - 2048, - 12000); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataIn_Hatch.get(1)) + .itemOutputs(CustomItemList.dataInAss_Hatch.get(1)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(12000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataOut_Hatch.get(1)) + .itemOutputs(CustomItemList.dataOutAss_Hatch.get(1)) + .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS) + .eut(12000) + .addTo(assemblerRecipes); // High Power Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) }, - Materials.TungstenSteel.getMolten(576), - CustomItemList.eM_Power.get(1), - 100, - 30720); - + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2)) + .itemOutputs(CustomItemList.eM_Power.get(1)) + .fluidInputs(Materials.TungstenSteel.getMolten(576)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Computer Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.eM_Power.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.eM_Power.get(1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), - GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2) }, - Materials.Aluminium.getMolten(1296), - CustomItemList.eM_Computer_Casing.get(1), - 200, - 122880); + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2)) + .itemOutputs(CustomItemList.eM_Computer_Casing.get(1)) + .fluidInputs(Materials.Aluminium.getMolten(1296)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Computer Vent Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), ItemList.Electric_Motor_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 2), GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 16), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 16), GT_OreDictUnificator - .get(OrePrefixes.wireGt01, getOrDefault("SuperconductorIV", Materials.SuperconductorUHV), 1) }, - Materials.SolderingAlloy.getMolten(1296), - CustomItemList.eM_Computer_Vent.get(1), - 100, - 1920); - + .get(OrePrefixes.wireGt01, getOrDefault("SuperconductorIV", Materials.SuperconductorUHV), 1)) + .itemOutputs(CustomItemList.eM_Computer_Vent.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(1296)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Molecular Casing - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.eM_Power.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.eM_Power.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 6), GT_OreDictUnificator.get(OrePrefixes.foil, getOrDefault("Trinium", Materials.Osmium), 12), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 24), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24), - ItemList.Field_Generator_IV.get(1) }, - Materials.Osmium.getMolten(1296), - CustomItemList.eM_Containment.get(1), - 800, - 500000); - + ItemList.Field_Generator_IV.get(1)) + .itemOutputs(CustomItemList.eM_Containment.get(1)) + .fluidInputs(Materials.Osmium.getMolten(1296)) + .duration(40 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // Tesla Base - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 6), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NickelZincFerrite, 1) }, - null, - CustomItemList.tM_TeslaBase.get(1), - 50, - 16); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NickelZincFerrite, 1)) + .itemOutputs(CustomItemList.tM_TeslaBase.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); // Tesla Toroid - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 6), - GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1) }, - null, - CustomItemList.tM_TeslaToroid.get(1), - 50, - 16); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 6), + GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1)) + .itemOutputs(CustomItemList.tM_TeslaToroid.get(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); // Tesla Secondary Windings - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.teslaComponent.getWithDamage(8, 0), - getItemContainer("MicaInsulatorFoil").get(12) }, - Materials.Silver.getMolten(144), - CustomItemList.tM_TeslaSecondary.get(1), - 200, - 120); - + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.teslaComponent.getWithDamage(8, 0), + getItemContainer("MicaInsulatorFoil").get(12)) + .itemOutputs(CustomItemList.tM_TeslaSecondary.get(1)) + .fluidInputs(Materials.Silver.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); // Tesla Primary Coils T0 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.RedstoneAlloy, 8), - getItemContainer("MicaInsulatorFoil").get(8) }, - Materials.RedAlloy.getMolten(144), - CustomItemList.tM_TeslaPrimary_0.get(1), - 200, - 30); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.RedstoneAlloy, 8), + getItemContainer("MicaInsulatorFoil").get(8)) + .itemOutputs(CustomItemList.tM_TeslaPrimary_0.get(1)) + .fluidInputs(Materials.RedAlloy.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Tesla Primary Coils T1 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorMV, 8), - getItemContainer("MicaInsulatorFoil").get(12) }, - Materials.Magnesium.getMolten(144), - CustomItemList.tM_TeslaPrimary_1.get(1), - 200, - 120); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorMV, 8), + getItemContainer("MicaInsulatorFoil").get(12)) + .itemOutputs(CustomItemList.tM_TeslaPrimary_1.get(1)) + .fluidInputs(Materials.Magnesium.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); // Tesla Primary Coils T2 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorHV, 8), - getItemContainer("MicaInsulatorFoil").get(16) }, - Materials.Barium.getMolten(144), - CustomItemList.tM_TeslaPrimary_2.get(1), - 200, - 480); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorHV, 8), + getItemContainer("MicaInsulatorFoil").get(16)) + .itemOutputs(CustomItemList.tM_TeslaPrimary_2.get(1)) + .fluidInputs(Materials.Barium.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Tesla Primary Coils T3 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorEV, 8), - getItemContainer("MicaInsulatorFoil").get(20) }, - Materials.Platinum.getMolten(144), - CustomItemList.tM_TeslaPrimary_3.get(1), - 200, - 1920); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorEV, 8), + getItemContainer("MicaInsulatorFoil").get(20)) + .itemOutputs(CustomItemList.tM_TeslaPrimary_3.get(1)) + .fluidInputs(Materials.Platinum.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Tesla Primary Coils T4 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorIV, 8), - getItemContainer("MicaInsulatorFoil").get(24) }, - Materials.Vanadium.getMolten(144), - CustomItemList.tM_TeslaPrimary_4.get(1), - 200, - 7680); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorIV, 8), + getItemContainer("MicaInsulatorFoil").get(24)) + .itemOutputs(CustomItemList.tM_TeslaPrimary_4.get(1)) + .fluidInputs(Materials.Vanadium.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Tesla Primary Coils T5 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorLuV, 8), - getItemContainer("MicaInsulatorFoil").get(28) }, - Materials.Indium.getMolten(144), - CustomItemList.tM_TeslaPrimary_5.get(1), - 200, - 30720); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorLuV, 8), + getItemContainer("MicaInsulatorFoil").get(28)) + .itemOutputs(CustomItemList.tM_TeslaPrimary_5.get(1)) + .fluidInputs(Materials.Indium.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Tesla Primary Coils T6 - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8), - getItemContainer("MicaInsulatorFoil").get(32) }, - Materials.Naquadah.getMolten(144), - CustomItemList.tM_TeslaPrimary_6.get(1), - 200, - 122880); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8), + getItemContainer("MicaInsulatorFoil").get(32)) + .itemOutputs(CustomItemList.tM_TeslaPrimary_6.get(1)) + .fluidInputs(Materials.Naquadah.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Dynamo Hatches { // Dynamo Hatches 4A { // Dynamo EV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Dynamo_EV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Dynamo_EV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Aluminium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2) }, - Materials.Silver.getMolten(144), - CustomItemList.eM_dynamoMulti4_EV.get(1), - 100, - 480); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_EV.get(1)) + .fluidInputs(Materials.Silver.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Dynamo IV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Dynamo_IV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Dynamo_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2) }, - Materials.Silver.getMolten(144), - CustomItemList.eM_dynamoMulti4_IV.get(1), - 100, - 1920); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_IV.get(1)) + .fluidInputs(Materials.Silver.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Dynamo LuV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Dynamo_LuV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Dynamo_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2) }, - Materials.Silver.getMolten(288), - CustomItemList.eM_dynamoMulti4_LuV.get(1), - 100, - 7680); - + .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_LuV.get(1)) + .fluidInputs(Materials.Silver.getMolten(288)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Dynamo ZPM 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Dynamo_ZPM.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Dynamo_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2) }, - Materials.Silver.getMolten(576), - CustomItemList.eM_dynamoMulti4_ZPM.get(1), - 100, - 30720); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_ZPM.get(1)) + .fluidInputs(Materials.Silver.getMolten(576)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Dynamo UV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Dynamo_UV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Dynamo_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2) }, - Materials.Silver.getMolten(1152), - CustomItemList.eM_dynamoMulti4_UV.get(1), - 100, - 122880); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_UV.get(1)) + .fluidInputs(Materials.Silver.getMolten(1152)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Dynamo UHV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Dynamo_MAX.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Dynamo_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2) }, - Materials.Silver.getMolten(2304), - CustomItemList.eM_dynamoMulti4_UHV.get(1), - 100, - 500000); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_UHV.get(1)) + .fluidInputs(Materials.Silver.getMolten(2304)) + .duration(5 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // Dynamo UEV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hatch_Dynamo_UEV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hatch_Dynamo_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2) }, - Materials.Silver.getMolten(4608), - CustomItemList.eM_dynamoMulti4_UEV.get(1), - 100, - 2000000); - + .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_UEV.get(1)) + .fluidInputs(Materials.Silver.getMolten(4608)) + .duration(5 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); // Dynamo UIV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hatch_Dynamo_UIV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hatch_Dynamo_UIV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2) }, - Materials.Silver.getMolten(9216), - CustomItemList.eM_dynamoMulti4_UIV.get(1), - 100, - 8000000); - + .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_UIV.get(1)) + .fluidInputs(Materials.Silver.getMolten(9216)) + .duration(5 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); // Dynamo UMV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hatch_Dynamo_UMV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hatch_Dynamo_UMV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 2) }, - Materials.Silver.getMolten(9216), - CustomItemList.eM_dynamoMulti4_UMV.get(1), - 100, - 32000000); - + GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 2)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_UMV.get(1)) + .fluidInputs(Materials.Silver.getMolten(9216)) + .duration(5 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); // Dynamo UXV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hatch_Dynamo_UXV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hatch_Dynamo_UXV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 2), GT_OreDictUnificator .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1), - GT_OreDictUnificator.get("plateShirabon", 1L) }, - Materials.Silver.getMolten(9216), - CustomItemList.eM_dynamoMulti4_UXV.get(1), - 100, - (int) TierEU.RECIPE_UMV); + GT_OreDictUnificator.get("plateShirabon", 1L)) + .itemOutputs(CustomItemList.eM_dynamoMulti4_UXV.get(1)) + .fluidInputs(Materials.Silver.getMolten(9216)) + .duration(5 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + } // Dynamo Hatches 16A { // Dynamo EV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_IV_EV.get(1), CustomItemList.eM_dynamoMulti4_EV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_IV_EV.get(1), + CustomItemList.eM_dynamoMulti4_EV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Aluminium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4) }, - Materials.Electrum.getMolten(144), - CustomItemList.eM_dynamoMulti16_EV.get(1), - 200, - 480); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_EV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Dynamo IV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_LuV_IV.get(1), CustomItemList.eM_dynamoMulti4_IV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_LuV_IV.get(1), + CustomItemList.eM_dynamoMulti4_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4) }, - Materials.Electrum.getMolten(144), - CustomItemList.eM_dynamoMulti16_IV.get(1), - 200, - 1920); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_IV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Dynamo LuV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_ZPM_LuV.get(1), CustomItemList.eM_dynamoMulti4_LuV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_ZPM_LuV.get(1), + CustomItemList.eM_dynamoMulti4_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4) }, - Materials.Electrum.getMolten(288), - CustomItemList.eM_dynamoMulti16_LuV.get(1), - 200, - 7680); - + .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_LuV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(288)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Dynamo ZPM 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_UV_ZPM.get(1), CustomItemList.eM_dynamoMulti4_ZPM.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_UV_ZPM.get(1), + CustomItemList.eM_dynamoMulti4_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4) }, - Materials.Electrum.getMolten(576), - CustomItemList.eM_dynamoMulti16_ZPM.get(1), - 200, - 30720); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_ZPM.get(1)) + .fluidInputs(Materials.Electrum.getMolten(576)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Dynamo UV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_MAX_UV.get(1), CustomItemList.eM_dynamoMulti4_UV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_MAX_UV.get(1), + CustomItemList.eM_dynamoMulti4_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4) }, - Materials.Electrum.getMolten(1152), - CustomItemList.eM_dynamoMulti16_UV.get(1), - 200, - 122880); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_UV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(1152)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Dynamo UHV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UEV_UHV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UEV_UHV").get(1), CustomItemList.eM_dynamoMulti4_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4) }, - Materials.Electrum.getMolten(2304), - CustomItemList.eM_dynamoMulti16_UHV.get(1), - 200, - 500000); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_UHV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(2304)) + .duration(10 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // Dynamo UEV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UIV_UEV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UIV_UEV").get(1), CustomItemList.eM_dynamoMulti4_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 4) }, - Materials.Electrum.getMolten(4608), - CustomItemList.eM_dynamoMulti16_UEV.get(1), - 200, - 2000000); - + .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_UEV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(4608)) + .duration(10 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); // Dynamo UIV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UMV_UIV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UMV_UIV").get(1), CustomItemList.eM_dynamoMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4) }, - Materials.Electrum.getMolten(9216), - CustomItemList.eM_dynamoMulti16_UIV.get(1), - 200, - 8000000); - + .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_UIV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(9216)) + .duration(10 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); // Dynamo UMV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UXV_UMV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UXV_UMV").get(1), CustomItemList.eM_dynamoMulti4_UMV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 4) }, - Materials.Electrum.getMolten(9216), - CustomItemList.eM_dynamoMulti16_UMV.get(1), - 200, - 32000000); - + GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 4)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_UMV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(9216)) + .duration(10 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); // Dynamo UXV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_MAX_UXV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_MAX_UXV").get(1), CustomItemList.eM_dynamoMulti4_UXV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 2), GT_OreDictUnificator .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2), - GT_OreDictUnificator.get("plateShirabon", 2L) }, - Materials.Electrum.getMolten(9216), - CustomItemList.eM_dynamoMulti16_UXV.get(1), - 200, - (int) TierEU.RECIPE_UMV); + GT_OreDictUnificator.get("plateShirabon", 2L)) + .itemOutputs(CustomItemList.eM_dynamoMulti16_UXV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(9216)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + } // Dynamo Hatches 64A { // Dynamo EV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_IV_EV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_IV_EV").get(1), CustomItemList.eM_dynamoMulti16_EV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Aluminium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6) }, - Materials.Tungsten.getMolten(144), - CustomItemList.eM_dynamoMulti64_EV.get(1), - 400, - 480); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_EV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Dynamo IV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_LuV_IV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_LuV_IV").get(1), CustomItemList.eM_dynamoMulti16_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6) }, - Materials.Tungsten.getMolten(144), - CustomItemList.eM_dynamoMulti64_IV.get(1), - 400, - 1920); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_IV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Dynamo LuV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_ZPM_LuV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_ZPM_LuV").get(1), CustomItemList.eM_dynamoMulti16_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6) }, - Materials.Tungsten.getMolten(288), - CustomItemList.eM_dynamoMulti64_LuV.get(1), - 400, - 7680); - + .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_LuV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Dynamo ZPM 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UV_ZPM").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UV_ZPM").get(1), CustomItemList.eM_dynamoMulti16_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6) }, - Materials.Tungsten.getMolten(576), - CustomItemList.eM_dynamoMulti64_ZPM.get(1), - 400, - 30720); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_ZPM.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Dynamo UV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UHV_UV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UHV_UV").get(1), CustomItemList.eM_dynamoMulti16_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6) }, - Materials.Tungsten.getMolten(1152), - CustomItemList.eM_dynamoMulti64_UV.get(1), - 400, - 122880); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_UV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(1152)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Dynamo UHV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UEV_UHV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UEV_UHV").get(1), CustomItemList.eM_dynamoMulti16_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6) }, - Materials.Tungsten.getMolten(2304), - CustomItemList.eM_dynamoMulti64_UHV.get(1), - 400, - 2000000); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_UHV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(2304)) + .duration(20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); // Dynamo UEV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UIV_UEV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UIV_UEV").get(1), CustomItemList.eM_dynamoMulti16_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 6) }, - Materials.Tungsten.getMolten(4608), - CustomItemList.eM_dynamoMulti64_UEV.get(1), - 400, - 2000000); - + .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_UEV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(4608)) + .duration(20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); // Dynamo UIV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UMV_UIV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UMV_UIV").get(1), CustomItemList.eM_dynamoMulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6) }, - Materials.Tungsten.getMolten(9216), - CustomItemList.eM_dynamoMulti64_UIV.get(1), - 400, - 8000000); - + .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_UIV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(9216)) + .duration(20 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); // Dynamo UMV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UXV_UMV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UXV_UMV").get(1), CustomItemList.eM_dynamoMulti16_UMV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Quantium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 6) }, - Materials.Tungsten.getMolten(9216), - CustomItemList.eM_dynamoMulti64_UMV.get(1), - 400, - 32000000); - + GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 6)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_UMV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(9216)) + .duration(20 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); // Dynamo UXV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_MAX_UXV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_MAX_UXV").get(1), CustomItemList.eM_dynamoMulti16_UXV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.BlackPlutonium, 2), GT_OreDictUnificator .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 3), - GT_OreDictUnificator.get("plateShirabon", 3L) }, - Materials.Tungsten.getMolten(9216), - CustomItemList.eM_dynamoMulti64_UXV.get(1), - 400, - (int) TierEU.RECIPE_UMV); + GT_OreDictUnificator.get("plateShirabon", 3L)) + .itemOutputs(CustomItemList.eM_dynamoMulti64_UXV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(9216)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + } } @@ -551,1090 +612,1276 @@ public class Assembler implements Runnable { // Energy Hatches 4A { // Energy Hatch EV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Energy_EV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Energy_EV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Aluminium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2) }, - Materials.Silver.getMolten(144), - CustomItemList.eM_energyMulti4_EV.get(1), - 100, - 480); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_EV.get(1)) + .fluidInputs(Materials.Silver.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Energy Hatch IV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Energy_IV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Energy_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2) }, - Materials.Silver.getMolten(144), - CustomItemList.eM_energyMulti4_IV.get(1), - 100, - 1920); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_IV.get(1)) + .fluidInputs(Materials.Silver.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Energy Hatch LuV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Energy_LuV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Energy_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2) }, - Materials.Silver.getMolten(288), - CustomItemList.eM_energyMulti4_LuV.get(1), - 100, - 7680); - + .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_LuV.get(1)) + .fluidInputs(Materials.Silver.getMolten(288)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Energy Hatch ZPM 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Energy_ZPM.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Energy_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2) }, - Materials.Silver.getMolten(576), - CustomItemList.eM_energyMulti4_ZPM.get(1), - 100, - 30720); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_ZPM.get(1)) + .fluidInputs(Materials.Silver.getMolten(576)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Energy Hatch UV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Energy_UV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Energy_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2) }, - Materials.Silver.getMolten(1152), - CustomItemList.eM_energyMulti4_UV.get(1), - 100, - 122880); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_UV.get(1)) + .fluidInputs(Materials.Silver.getMolten(1152)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Energy Hatch UHV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Energy_MAX.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Energy_MAX.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2) }, - Materials.Silver.getMolten(2304), - CustomItemList.eM_energyMulti4_UHV.get(1), - 100, - 500000); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_UHV.get(1)) + .fluidInputs(Materials.Silver.getMolten(2304)) + .duration(5 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // Energy Hatch UEV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hatch_Energy_UEV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hatch_Energy_UEV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2) }, - Materials.Silver.getMolten(4608), - CustomItemList.eM_energyMulti4_UEV.get(1), - 100, - 2000000); - + .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_UEV.get(1)) + .fluidInputs(Materials.Silver.getMolten(4608)) + .duration(5 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); // Energy Hatch UIV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hatch_Energy_UIV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hatch_Energy_UIV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2) }, - Materials.Silver.getMolten(9216), - CustomItemList.eM_energyMulti4_UIV.get(1), - 100, - 8000000); - + .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_UIV.get(1)) + .fluidInputs(Materials.Silver.getMolten(9216)) + .duration(5 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); // Energy Hatch UMV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hatch_Energy_UMV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hatch_Energy_UMV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 2) }, - Materials.Silver.getMolten(9216), - CustomItemList.eM_energyMulti4_UMV.get(1), - 100, - 32000000); - + GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 2)) + .itemOutputs(CustomItemList.eM_energyMulti4_UMV.get(1)) + .fluidInputs(Materials.Silver.getMolten(9216)) + .duration(5 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); // Energy Hatch UXV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hatch_Energy_UXV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hatch_Energy_UXV").get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 2), GT_OreDictUnificator .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1), - GT_OreDictUnificator.get("plateShirabon", 1L) }, - Materials.Silver.getMolten(9216), - CustomItemList.eM_energyMulti4_UXV.get(1), - 100, - (int) TierEU.RECIPE_UMV); + GT_OreDictUnificator.get("plateShirabon", 1L)) + .itemOutputs(CustomItemList.eM_energyMulti4_UXV.get(1)) + .fluidInputs(Materials.Silver.getMolten(9216)) + .duration(5 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + } // Energy Hatches 16A { // Energy Hatch EV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_IV_EV.get(1), CustomItemList.eM_energyMulti4_EV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_IV_EV.get(1), + CustomItemList.eM_energyMulti4_EV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Aluminium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4) }, - Materials.Electrum.getMolten(144), - CustomItemList.eM_energyMulti16_EV.get(1), - 200, - 480); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_EV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Energy Hatch IV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_LuV_IV.get(1), CustomItemList.eM_energyMulti4_IV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_LuV_IV.get(1), + CustomItemList.eM_energyMulti4_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4) }, - Materials.Electrum.getMolten(144), - CustomItemList.eM_energyMulti16_IV.get(1), - 200, - 1920); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_IV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Energy Hatch LuV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_ZPM_LuV.get(1), CustomItemList.eM_energyMulti4_LuV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_ZPM_LuV.get(1), + CustomItemList.eM_energyMulti4_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4) }, - Materials.Electrum.getMolten(288), - CustomItemList.eM_energyMulti16_LuV.get(1), - 200, - 7680); - + .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_LuV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(288)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Energy Hatch ZPM 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_UV_ZPM.get(1), CustomItemList.eM_energyMulti4_ZPM.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_UV_ZPM.get(1), + CustomItemList.eM_energyMulti4_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4) }, - Materials.Electrum.getMolten(576), - CustomItemList.eM_energyMulti16_ZPM.get(1), - 200, - 30720); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_ZPM.get(1)) + .fluidInputs(Materials.Electrum.getMolten(576)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Energy Hatch UV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_MAX_UV.get(1), CustomItemList.eM_energyMulti4_UV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_MAX_UV.get(1), + CustomItemList.eM_energyMulti4_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4) }, - Materials.Electrum.getMolten(1152), - CustomItemList.eM_energyMulti16_UV.get(1), - 200, - 122880); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_UV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(1152)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Energy Hatch UHV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UEV_UHV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UEV_UHV").get(1), CustomItemList.eM_energyMulti4_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4) }, - Materials.Electrum.getMolten(2304), - CustomItemList.eM_energyMulti16_UHV.get(1), - 200, - 500000); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_UHV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(2304)) + .duration(10 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // Energy Hatch UEV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UIV_UEV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UIV_UEV").get(1), CustomItemList.eM_energyMulti4_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 4) }, - Materials.Electrum.getMolten(4608), - CustomItemList.eM_energyMulti16_UEV.get(1), - 200, - 2000000); - + .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_UEV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(4608)) + .duration(10 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); // Energy Hatch UIV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UMV_UIV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UMV_UIV").get(1), CustomItemList.eM_energyMulti4_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4) }, - Materials.Electrum.getMolten(9216), - CustomItemList.eM_energyMulti16_UIV.get(1), - 200, - 8000000); - + .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_UIV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(9216)) + .duration(10 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); // Energy Hatch UMV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UXV_UMV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UXV_UMV").get(1), CustomItemList.eM_energyMulti4_UMV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 4) }, - Materials.Electrum.getMolten(9216), - CustomItemList.eM_energyMulti16_UMV.get(1), - 200, - 32000000); - + GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 4)) + .itemOutputs(CustomItemList.eM_energyMulti16_UMV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(9216)) + .duration(10 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); // Energy Hatch UXV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_MAX_UXV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_MAX_UXV").get(1), CustomItemList.eM_energyMulti4_UXV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 2), GT_OreDictUnificator .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2), - GT_OreDictUnificator.get("plateShirabon", 2L) }, - Materials.Electrum.getMolten(9216), - CustomItemList.eM_energyMulti16_UXV.get(1), - 200, - (int) TierEU.RECIPE_UMV); + GT_OreDictUnificator.get("plateShirabon", 2L)) + .itemOutputs(CustomItemList.eM_energyMulti16_UXV.get(1)) + .fluidInputs(Materials.Electrum.getMolten(9216)) + .duration(10 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + } // Energy Hatches 64A { // Energy Hatch EV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_IV_EV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_IV_EV").get(1), CustomItemList.eM_energyMulti16_EV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Aluminium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6) }, - Materials.Tungsten.getMolten(144), - CustomItemList.eM_energyMulti64_EV.get(1), - 400, - 480); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_EV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Energy Hatch IV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_LuV_IV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_LuV_IV").get(1), CustomItemList.eM_energyMulti16_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6) }, - Materials.Tungsten.getMolten(144), - CustomItemList.eM_energyMulti64_IV.get(1), - 400, - 1920); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_IV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Energy Hatch LuV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_ZPM_LuV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_ZPM_LuV").get(1), CustomItemList.eM_energyMulti16_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6) }, - Materials.Tungsten.getMolten(288), - CustomItemList.eM_energyMulti64_LuV.get(1), - 400, - 7680); - + .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_LuV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Energy Hatch ZPM 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UV_ZPM").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UV_ZPM").get(1), CustomItemList.eM_energyMulti16_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6) }, - Materials.Tungsten.getMolten(576), - CustomItemList.eM_energyMulti64_ZPM.get(1), - 400, - 30720); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_ZPM.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Energy Hatch UV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UHV_UV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UHV_UV").get(1), CustomItemList.eM_energyMulti16_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6) }, - Materials.Tungsten.getMolten(1152), - CustomItemList.eM_energyMulti64_UV.get(1), - 400, - 122880); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_UV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(1152)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Energy Hatch UHV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UEV_UHV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UEV_UHV").get(1), CustomItemList.eM_energyMulti16_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6) }, - Materials.Tungsten.getMolten(2304), - CustomItemList.eM_energyMulti64_UHV.get(1), - 400, - 500000); - + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_UHV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(2304)) + .duration(20 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // Energy Hatch UEV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UIV_UEV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UIV_UEV").get(1), CustomItemList.eM_energyMulti16_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 6) }, - Materials.Tungsten.getMolten(4608), - CustomItemList.eM_energyMulti64_UEV.get(1), - 400, - 2000000); - + .get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_UEV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(4608)) + .duration(20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); // Energy Hatch UIV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UMV_UIV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UMV_UIV").get(1), CustomItemList.eM_energyMulti16_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2), GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6) }, - Materials.Tungsten.getMolten(9216), - CustomItemList.eM_energyMulti64_UIV.get(1), - 400, - 8000000); - + .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_UIV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(9216)) + .duration(20 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); // Energy Hatch UMV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_UXV_UMV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_UXV_UMV").get(1), CustomItemList.eM_energyMulti16_UMV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.Quantium, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 6) }, - Materials.Tungsten.getMolten(9216), - CustomItemList.eM_energyMulti64_UMV.get(1), - 400, - 32000000); - + GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 6)) + .itemOutputs(CustomItemList.eM_energyMulti64_UMV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(9216)) + .duration(20 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); // Energy Hatch UXV 64A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_MAX_UXV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_MAX_UXV").get(1), CustomItemList.eM_energyMulti16_UXV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt12, Materials.BlackPlutonium, 2), GT_OreDictUnificator .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 3), - GT_OreDictUnificator.get("plateShirabon", 3L) }, - Materials.Tungsten.getMolten(9216), - CustomItemList.eM_energyMulti64_UXV.get(1), - 400, - (int) TierEU.RECIPE_UMV); + GT_OreDictUnificator.get("plateShirabon", 3L)) + .itemOutputs(CustomItemList.eM_energyMulti64_UXV.get(1)) + .fluidInputs(Materials.Tungsten.getMolten(9216)) + .duration(20 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); } } // Buck Converter IV-UIV // Buck Converter IV - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_LuV_IV.get(1), getItemContainer("Display").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_LuV_IV.get(1), + getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), - getModItem(BartWorks.ID, "BW_GlasBlocks", 2L, 2) }, - Materials.TungstenSteel.getMolten(288), - CustomItemList.Machine_BuckConverter_IV.get(1), - 100, - 7680); - + getModItem(BartWorks.ID, "BW_GlasBlocks", 2L, 2)) + .itemOutputs(CustomItemList.Machine_BuckConverter_IV.get(1)) + .fluidInputs(Materials.TungstenSteel.getMolten(288)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Buck Converter LuV - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_ZPM_LuV.get(1), getItemContainer("Display").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_ZPM_LuV.get(1), + getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), GT_OreDictUnificator .get(OrePrefixes.plate, getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NiobiumTitanium, 4), - getModItem(BartWorks.ID, "BW_GlasBlocks", 2L, 3) }, - new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288), - CustomItemList.Machine_BuckConverter_LuV.get(1), - 100, - 30720); - + getModItem(BartWorks.ID, "BW_GlasBlocks", 2L, 3)) + .itemOutputs(CustomItemList.Machine_BuckConverter_LuV.get(1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Buck Converter ZPM - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_UV_ZPM.get(1), getItemContainer("Display").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_UV_ZPM.get(1), + getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4), - getModItem(BartWorks.ID, "BW_GlasBlocks", 2L, 4) }, - Materials.Iridium.getMolten(288), - CustomItemList.Machine_BuckConverter_ZPM.get(1), - 100, - 122880); - + getModItem(BartWorks.ID, "BW_GlasBlocks", 2L, 4)) + .itemOutputs(CustomItemList.Machine_BuckConverter_ZPM.get(1)) + .fluidInputs(Materials.Iridium.getMolten(288)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Buck Converter UV - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Transformer_MAX_UV.get(1), getItemContainer("Display").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Transformer_MAX_UV.get(1), + getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.SuperconductorUHV, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 4), - getModItem(BartWorks.ID, "BW_GlasBlocks", 2L, 5) }, - Materials.Osmium.getMolten(288), - CustomItemList.Machine_BuckConverter_UV.get(1), - 100, - 500000); - + getModItem(BartWorks.ID, "BW_GlasBlocks", 2L, 5)) + .itemOutputs(CustomItemList.Machine_BuckConverter_UV.get(1)) + .fluidInputs(Materials.Osmium.getMolten(288)) + .duration(5 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // Buck Converter UHV - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UEV_UHV").get(1), getItemContainer("Display").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UEV_UHV").get(1), + getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Infinite, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.ElectrumFlux, 4), - getModItem(BartWorks.ID, "BW_GlasBlocks", 4L, 5) }, - Materials.Neutronium.getMolten(288), - CustomItemList.Machine_BuckConverter_UHV.get(1), - 100, - 2000000); - + getModItem(BartWorks.ID, "BW_GlasBlocks", 4L, 5)) + .itemOutputs(CustomItemList.Machine_BuckConverter_UHV.get(1)) + .fluidInputs(Materials.Neutronium.getMolten(288)) + .duration(5 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); // Buck Converter UEV - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UIV_UEV").get(1), getItemContainer("Display").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UIV_UEV").get(1), + getItemContainer("Display").get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 2), GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("Bedrockium", Materials.Neutronium), 2), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 4), - getModItem(BartWorks.ID, "BW_GlasBlocks", 8L, 5) }, - getOrDefault("Bedrockium", Materials.Neutronium).getMolten(288), - CustomItemList.Machine_BuckConverter_UEV.get(1), - 100, - 8000000); - + getModItem(BartWorks.ID, "BW_GlasBlocks", 8L, 5)) + .itemOutputs(CustomItemList.Machine_BuckConverter_UEV.get(1)) + .fluidInputs(getOrDefault("Bedrockium", Materials.Neutronium).getMolten(288)) + .duration(5 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); // Buck Converter UIV - GT_Values.RA - .addAssemblerRecipe( - new ItemStack[] { getItemContainer("Transformer_UMV_UIV").get(1), getItemContainer("Display").get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Optical, 2), - GT_OreDictUnificator - .get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4), - getModItem(BartWorks.ID, "BW_GlasBlocks", 16L, 5) }, - getOrDefault("BlackPlutonium", Materials.Neutronium).getMolten(288), - CustomItemList.Machine_BuckConverter_UIV.get(1), - 200, - 8000000); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Transformer_UMV_UIV").get(1), + getItemContainer("Display").get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Optical, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, getOrDefault("BlackPlutonium", Materials.Neutronium), 2), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4), + getModItem(BartWorks.ID, "BW_GlasBlocks", 16L, 5)) + .itemOutputs(CustomItemList.Machine_BuckConverter_UIV.get(1)) + .fluidInputs(getOrDefault("BlackPlutonium", Materials.Neutronium).getMolten(288)) + .duration(10 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); // Laser Dynamo { // Laser Dynamo IV-UXV 256/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_IV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_IV.get(1), ItemList.Electric_Pump_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_IV.get(1), - 1000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_LuV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_IV.get(1)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_LuV.get(1), ItemList.Electric_Pump_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_LuV.get(1), - 1000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_ZPM.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_LuV.get(1)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_ZPM.get(1), ItemList.Electric_Pump_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_ZPM.get(1), - 1000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_ZPM.get(1)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_UV.get(1), ItemList.Electric_Pump_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_UV.get(1), - 1000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UHV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_UV.get(1)) + .duration(50 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_UHV.get(1), ItemList.Electric_Pump_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_UHV.get(1), - 1000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UEV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_UHV.get(1)) + .duration(50 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_UEV.get(1), ItemList.Electric_Pump_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_UEV.get(1), - 1000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UIV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_UEV.get(1)) + .duration(50 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_UIV.get(1), ItemList.Electric_Pump_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NetherStar, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_UIV.get(1), - 1000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UMV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_UIV.get(1)) + .duration(50 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_UMV.get(1), ItemList.Electric_Pump_UMV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Quantium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_UMV.get(1), - 1000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Emitter_UXV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_UMV.get(1)) + .duration(50 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Emitter_UXV.get(1), ItemList.Electric_Pump_UXV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.BlackPlutonium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_dynamoTunnel1_UXV.get(1), - 1000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_dynamoTunnel1_UXV.get(1)) + .duration(50 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Dynamo IV-UXV 1024/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_IV.get(2), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_IV.get(2), ItemList.Electric_Pump_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_IV.get(1), - 2000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_LuV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_IV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_LuV.get(2), ItemList.Electric_Pump_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_LuV.get(1), - 2000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_ZPM.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_LuV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_ZPM.get(2), ItemList.Electric_Pump_ZPM.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Naquadah, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_ZPM.get(1), - 2000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_ZPM.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_UV.get(2), ItemList.Electric_Pump_UV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_UV.get(1), - 2000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UHV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_UV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_UHV.get(2), ItemList.Electric_Pump_UHV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Bedrockium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_UHV.get(1), - 2000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UEV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_UHV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_UEV.get(2), ItemList.Electric_Pump_UEV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Draconium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_UEV.get(1), - 2000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UIV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_UEV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_UIV.get(2), ItemList.Electric_Pump_UIV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NetherStar, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_UIV.get(1), - 2000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UMV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_UIV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_UMV.get(2), ItemList.Electric_Pump_UMV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Quantium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_UMV.get(1), - 2000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Emitter_UXV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_UMV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Emitter_UXV.get(2), ItemList.Electric_Pump_UXV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.BlackPlutonium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_dynamoTunnel2_UXV.get(1), - 2000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_dynamoTunnel2_UXV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Dynamo IV-UXV 4096/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_IV.get(4), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_IV.get(4), ItemList.Electric_Pump_IV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_IV.get(1), - 4000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_LuV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_IV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_LuV.get(4), ItemList.Electric_Pump_LuV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_LuV.get(1), - 4000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_ZPM.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_LuV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_ZPM.get(4), ItemList.Electric_Pump_ZPM.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_ZPM.get(1), - 4000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_ZPM.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UV.get(4), ItemList.Electric_Pump_UV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_UV.get(1), - 4000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UHV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_UV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UHV.get(4), ItemList.Electric_Pump_UHV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_UHV.get(1), - 4000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UEV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_UHV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UEV.get(4), ItemList.Electric_Pump_UEV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_UEV.get(1), - 4000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UIV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_UEV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UIV.get(4), ItemList.Electric_Pump_UIV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_UIV.get(1), - 4000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UMV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_UIV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UMV.get(4), ItemList.Electric_Pump_UMV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_UMV.get(1), - 4000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UXV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_UMV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UXV.get(4), ItemList.Electric_Pump_UXV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_dynamoTunnel3_UXV.get(1), - 4000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_dynamoTunnel3_UXV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Dynamo IV-UXV 16384/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_IV.get(8), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Emitter_IV.get(8), ItemList.Electric_Pump_IV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_IV.get(1), - 8000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_LuV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_IV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Emitter_LuV.get(8), ItemList.Electric_Pump_LuV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_LuV.get(1), - 8000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_ZPM.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_LuV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Emitter_ZPM.get(8), ItemList.Electric_Pump_ZPM.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_ZPM.get(1), - 8000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_ZPM.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Emitter_UV.get(8), ItemList.Electric_Pump_UV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_UV.get(1), - 8000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UHV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_UV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Emitter_UHV.get(8), ItemList.Electric_Pump_UHV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_UHV.get(1), - 8000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UEV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_UHV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Emitter_UEV.get(8), ItemList.Electric_Pump_UEV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_UEV.get(1), - 8000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Emitter_UIV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_UEV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Emitter_UIV.get(8), ItemList.Electric_Pump_UIV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_UIV.get(1), - 8000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UMV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_UIV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UMV.get(8), ItemList.Electric_Pump_UMV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_UMV.get(1), - 8000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Emitter_UXV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_UMV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Emitter_UXV.get(8), ItemList.Electric_Pump_UXV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_dynamoTunnel4_UXV.get(1), - 8000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_dynamoTunnel4_UXV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Dynamo IV-UXV 65536/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_IV.get(16), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_IV.get(16), ItemList.Electric_Pump_IV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_IV.get(1), - 16000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_LuV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_IV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_LuV.get(16), ItemList.Electric_Pump_LuV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_LuV.get(1), - 16000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_ZPM.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_LuV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_ZPM.get(16), ItemList.Electric_Pump_ZPM.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_ZPM.get(1), - 16000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_ZPM.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_UV.get(16), ItemList.Electric_Pump_UV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_UV.get(1), - 16000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UHV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_UV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_UHV.get(16), ItemList.Electric_Pump_UHV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_UHV.get(1), - 16000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UEV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_UHV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_UEV.get(16), ItemList.Electric_Pump_UEV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_UEV.get(1), - 16000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UIV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_UEV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_UIV.get(16), ItemList.Electric_Pump_UIV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_UIV.get(1), - 16000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UMV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_UIV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_UMV.get(16), ItemList.Electric_Pump_UMV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_UMV.get(1), - 16000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Emitter_UXV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_UMV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Emitter_UXV.get(16), ItemList.Electric_Pump_UXV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_dynamoTunnel5_UXV.get(1), - 16000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_dynamoTunnel5_UXV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Dynamo IV-UXV 262144/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_IV.get(32), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_IV.get(32), ItemList.Electric_Pump_IV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_IV.get(1), - 32000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_LuV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_IV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_LuV.get(32), ItemList.Electric_Pump_LuV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_LuV.get(1), - 32000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_ZPM.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_LuV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_ZPM.get(32), ItemList.Electric_Pump_ZPM.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_ZPM.get(1), - 32000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_ZPM.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_UV.get(32), ItemList.Electric_Pump_UV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_UV.get(1), - 32000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UHV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_UV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_UHV.get(32), ItemList.Electric_Pump_UHV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_UHV.get(1), - 32000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UEV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_UHV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_UEV.get(32), ItemList.Electric_Pump_UEV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_UEV.get(1), - 32000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UIV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_UEV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_UIV.get(32), ItemList.Electric_Pump_UIV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_UIV.get(1), - 32000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UMV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_UIV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_UMV.get(32), ItemList.Electric_Pump_UMV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_UMV.get(1), - 32000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Emitter_UXV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_UMV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Emitter_UXV.get(32), ItemList.Electric_Pump_UXV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_dynamoTunnel6_UXV.get(1), - 32000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_dynamoTunnel6_UXV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Dynamo IV-UXV 1048576/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_IV.get(64), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_IV.get(64), ItemList.Electric_Pump_IV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_IV.get(1), - 64000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_LuV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_IV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_LuV.get(64), ItemList.Electric_Pump_LuV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_LuV.get(1), - 64000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_ZPM.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_LuV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_ZPM.get(64), ItemList.Electric_Pump_ZPM.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_ZPM.get(1), - 64000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_ZPM.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_UV.get(64), ItemList.Electric_Pump_UV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_UV.get(1), - 64000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UHV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_UV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_UHV.get(64), ItemList.Electric_Pump_UHV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_UHV.get(1), - 64000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UEV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_UHV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_UEV.get(64), ItemList.Electric_Pump_UEV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_UEV.get(1), - 64000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UIV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_UEV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_UIV.get(64), ItemList.Electric_Pump_UIV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NetherStar, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_UIV.get(1), - 64000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UMV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_UIV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_UMV.get(64), ItemList.Electric_Pump_UMV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_UMV.get(1), - 64000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UXV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_UMV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Emitter_UXV.get(64), ItemList.Electric_Pump_UXV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_dynamoTunnel7_UXV.get(1), - 64000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_dynamoTunnel7_UXV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } } @@ -1642,1384 +1889,1639 @@ public class Assembler implements Runnable { { // Laser Target IV-UXV 256/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_IV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_IV.get(1), ItemList.Electric_Pump_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_IV.get(1), - 1000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_LuV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_IV.get(1)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_LuV.get(1), ItemList.Electric_Pump_LuV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_LuV.get(1), - 1000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_ZPM.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_LuV.get(1)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_ZPM.get(1), ItemList.Electric_Pump_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_ZPM.get(1), - 1000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_ZPM.get(1)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UV.get(1), ItemList.Electric_Pump_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_UV.get(1), - 1000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UHV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_UV.get(1)) + .duration(50 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UHV.get(1), ItemList.Electric_Pump_UHV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_UHV.get(1), - 1000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UEV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_UHV.get(1)) + .duration(50 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UEV.get(1), ItemList.Electric_Pump_UEV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_UEV.get(1), - 1000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UIV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_UEV.get(1)) + .duration(50 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UIV.get(1), ItemList.Electric_Pump_UIV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.NetherStar, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_UIV.get(1), - 1000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UMV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_UIV.get(1)) + .duration(50 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UMV.get(1), ItemList.Electric_Pump_UMV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Quantium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_UMV.get(1), - 1000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UXV.get(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_UMV.get(1)) + .duration(50 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UXV.get(1), ItemList.Electric_Pump_UXV.get(1), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.BlackPlutonium, 2), - GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.eM_energyTunnel1_UXV.get(1), - 1000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.eM_energyTunnel1_UXV.get(1)) + .duration(50 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Target IV-UXV 1024/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_IV.get(2), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_IV.get(2), ItemList.Electric_Pump_IV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.TungstenSteel, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_IV.get(1), - 2000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_LuV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_IV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_LuV.get(2), ItemList.Electric_Pump_LuV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_LuV.get(1), - 2000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_ZPM.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_LuV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_ZPM.get(2), ItemList.Electric_Pump_ZPM.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Naquadah, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_ZPM.get(1), - 2000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_ZPM.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_UV.get(2), ItemList.Electric_Pump_UV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_UV.get(1), - 2000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UHV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_UV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_UHV.get(2), ItemList.Electric_Pump_UHV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Bedrockium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_UHV.get(1), - 2000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UEV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_UHV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_UEV.get(2), ItemList.Electric_Pump_UEV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Draconium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_UEV.get(1), - 2000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UIV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_UEV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_UIV.get(2), ItemList.Electric_Pump_UIV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.NetherStar, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_UIV.get(1), - 2000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UMV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_UIV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_UMV.get(2), ItemList.Electric_Pump_UMV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.Quantium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_UMV.get(1), - 2000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), ItemList.Sensor_UXV.get(2), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_UMV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2), + ItemList.Sensor_UXV.get(2), ItemList.Electric_Pump_UXV.get(2), GT_OreDictUnificator.get(OrePrefixes.wireGt02, Materials.BlackPlutonium, 4), - GT_Utility.getIntegratedCircuit(2) }, - null, - CustomItemList.eM_energyTunnel2_UXV.get(1), - 2000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CustomItemList.eM_energyTunnel2_UXV.get(1)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Target IV-UXV 4096/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_IV.get(4), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Sensor_IV.get(4), ItemList.Electric_Pump_IV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_IV.get(1), - 4000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_LuV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_IV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Sensor_LuV.get(4), ItemList.Electric_Pump_LuV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_LuV.get(1), - 4000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_ZPM.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_LuV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Sensor_ZPM.get(4), ItemList.Electric_Pump_ZPM.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_ZPM.get(1), - 4000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_ZPM.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Sensor_UV.get(4), ItemList.Electric_Pump_UV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_UV.get(1), - 4000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UHV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_UV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Sensor_UHV.get(4), ItemList.Electric_Pump_UHV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_UHV.get(1), - 4000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UEV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_UHV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Sensor_UEV.get(4), ItemList.Electric_Pump_UEV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_UEV.get(1), - 4000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), ItemList.Sensor_UIV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_UEV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4), + ItemList.Sensor_UIV.get(4), ItemList.Electric_Pump_UIV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_UIV.get(1), - 4000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UMV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_UIV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UMV.get(4), ItemList.Electric_Pump_UMV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_UMV.get(1), - 4000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), ItemList.Sensor_UXV.get(4), + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_UMV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1), + ItemList.Sensor_UXV.get(4), ItemList.Electric_Pump_UXV.get(4), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 4), - GT_Utility.getIntegratedCircuit(3) }, - null, - CustomItemList.eM_energyTunnel3_UXV.get(1), - 4000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(CustomItemList.eM_energyTunnel3_UXV.get(1)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Target IV-UXV 16384/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_IV.get(8), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_IV.get(8), ItemList.Electric_Pump_IV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.TungstenSteel, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_IV.get(1), - 8000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_LuV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_IV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_LuV.get(8), ItemList.Electric_Pump_LuV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_LuV.get(1), - 8000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_ZPM.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_LuV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_ZPM.get(8), ItemList.Electric_Pump_ZPM.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_ZPM.get(1), - 8000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_ZPM.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_UV.get(8), ItemList.Electric_Pump_UV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_UV.get(1), - 8000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UHV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_UV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_UHV.get(8), ItemList.Electric_Pump_UHV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_UHV.get(1), - 8000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UEV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_UHV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_UEV.get(8), ItemList.Electric_Pump_UEV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_UEV.get(1), - 8000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UIV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_UEV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_UIV.get(8), ItemList.Electric_Pump_UIV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_UIV.get(1), - 8000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UMV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_UIV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_UMV.get(8), ItemList.Electric_Pump_UMV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_UMV.get(1), - 8000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), ItemList.Sensor_UXV.get(8), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_UMV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8), + ItemList.Sensor_UXV.get(8), ItemList.Electric_Pump_UXV.get(8), GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 8), - GT_Utility.getIntegratedCircuit(4) }, - null, - CustomItemList.eM_energyTunnel4_UXV.get(1), - 8000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.eM_energyTunnel4_UXV.get(1)) + .duration(6 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Target IV-UXV 65536/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_IV.get(16), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_IV.get(16), ItemList.Electric_Pump_IV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_IV.get(1), - 16000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_LuV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_IV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_LuV.get(16), ItemList.Electric_Pump_LuV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_LuV.get(1), - 16000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_ZPM.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_LuV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_ZPM.get(16), ItemList.Electric_Pump_ZPM.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_ZPM.get(1), - 16000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_ZPM.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_UV.get(16), ItemList.Electric_Pump_UV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_UV.get(1), - 16000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UHV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_UV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_UHV.get(16), ItemList.Electric_Pump_UHV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_UHV.get(1), - 16000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UEV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_UHV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_UEV.get(16), ItemList.Electric_Pump_UEV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_UEV.get(1), - 16000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UIV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_UEV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_UIV.get(16), ItemList.Electric_Pump_UIV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_UIV.get(1), - 16000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UMV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_UIV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_UMV.get(16), ItemList.Electric_Pump_UMV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_UMV.get(1), - 16000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), ItemList.Sensor_UXV.get(16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_UMV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16), + ItemList.Sensor_UXV.get(16), ItemList.Electric_Pump_UXV.get(16), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 8), - GT_Utility.getIntegratedCircuit(5) }, - null, - CustomItemList.eM_energyTunnel5_UXV.get(1), - 16000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.eM_energyTunnel5_UXV.get(1)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Target IV-UXV 262144/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_IV.get(32), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_IV.get(32), ItemList.Electric_Pump_IV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.TungstenSteel, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_IV.get(1), - 32000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_LuV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_IV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_LuV.get(32), ItemList.Electric_Pump_LuV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_LuV.get(1), - 32000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_ZPM.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_LuV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_ZPM.get(32), ItemList.Electric_Pump_ZPM.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_ZPM.get(1), - 32000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_ZPM.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_UV.get(32), ItemList.Electric_Pump_UV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_UV.get(1), - 32000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UHV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_UV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_UHV.get(32), ItemList.Electric_Pump_UHV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_UHV.get(1), - 32000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UEV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_UHV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_UEV.get(32), ItemList.Electric_Pump_UEV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_UEV.get(1), - 32000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UIV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_UEV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_UIV.get(32), ItemList.Electric_Pump_UIV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_UIV.get(1), - 32000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UMV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_UIV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_UMV.get(32), ItemList.Electric_Pump_UMV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_UMV.get(1), - 32000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), ItemList.Sensor_UXV.get(32), + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_UMV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32), + ItemList.Sensor_UXV.get(32), ItemList.Electric_Pump_UXV.get(32), GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 16), - GT_Utility.getIntegratedCircuit(6) }, - null, - CustomItemList.eM_energyTunnel6_UXV.get(1), - 32000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(CustomItemList.eM_energyTunnel6_UXV.get(1)) + .duration(26 * MINUTES + 40 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } // Laser Target IV-UXV 1048576/t { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_IV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_IV.get(64), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_IV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_IV.get(64), ItemList.Electric_Pump_IV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_IV.get(1), - 64000, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_LuV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_IV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_LuV.get(64), ItemList.Electric_Pump_LuV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.VanadiumGallium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_LuV.get(1), - 64000, - 30720); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_ZPM.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_LuV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_ZPM.get(64), ItemList.Electric_Pump_ZPM.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_ZPM.get(1), - 64000, - 122880); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_UV.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_ZPM.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_UV.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_UV.get(64), ItemList.Electric_Pump_UV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NaquadahAlloy, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_UV.get(1), - 64000, - 500000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_MAX.get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UHV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_UV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hull_MAX.get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_UHV.get(64), ItemList.Electric_Pump_UHV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_UHV.get(1), - 64000, - 2000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UEV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UEV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_UHV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(2000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UEV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_UEV.get(64), ItemList.Electric_Pump_UEV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_UEV.get(1), - 64000, - 8000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UIV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UIV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_UEV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(8000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UIV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_UIV.get(64), ItemList.Electric_Pump_UIV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.NetherStar, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_UIV.get(1), - 64000, - 32000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UMV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UMV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_UIV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(32000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UMV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_UMV.get(64), ItemList.Electric_Pump_UMV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_UMV.get(1), - 64000, - 128000000); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("Hull_UXV").get(1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UXV.get(64), + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_UMV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut(128000000) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("Hull_UXV").get(1), + GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), + ItemList.Sensor_UXV.get(64), ItemList.Electric_Pump_UXV.get(64), GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 16), - GT_Utility.getIntegratedCircuit(7) }, - null, - CustomItemList.eM_energyTunnel7_UXV.get(1), - 64000, - (int) TierEU.RECIPE_UXV); + GT_Utility.getIntegratedCircuit(7)) + .itemOutputs(CustomItemList.eM_energyTunnel7_UXV.get(1)) + .duration(53 * MINUTES + 20 * SECONDS) + .eut((int) TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); + } } // Tesla Capacitor { // LV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 8), }, - Materials.Epoxid.getMolten(72), - CustomItemList.teslaCapacitor.getWithDamage(1, 0), - 320, - 30); + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 8)) + .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 0)) + .fluidInputs(Materials.Epoxid.getMolten(72)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // MV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 12), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 12), }, - Materials.Epoxid.getMolten(144), - CustomItemList.teslaCapacitor.getWithDamage(1, 1), - 320, - 120); + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 12)) + .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 1)) + .fluidInputs(Materials.Epoxid.getMolten(144)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); // HV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 16), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 16), }, - Materials.Epoxid.getMolten(216), - CustomItemList.teslaCapacitor.getWithDamage(1, 2), - 320, - 480); + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 16)) + .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 2)) + .fluidInputs(Materials.Epoxid.getMolten(216)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // EV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 20), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 20), }, - Materials.Epoxid.getMolten(288), - CustomItemList.teslaCapacitor.getWithDamage(1, 3), - 320, - 1920); + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 20)) + .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 3)) + .fluidInputs(Materials.Epoxid.getMolten(288)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // IV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 24), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 24), }, - Materials.Epoxid.getMolten(360), - CustomItemList.teslaCapacitor.getWithDamage(1, 4), - 320, - 7680); + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 24)) + .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 4)) + .fluidInputs(Materials.Epoxid.getMolten(360)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // LuV Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28), }, - Materials.Epoxid.getMolten(432), - CustomItemList.teslaCapacitor.getWithDamage(1, 5), - 320, - 30720); + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28)) + .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 5)) + .fluidInputs(Materials.Epoxid.getMolten(432)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // ZPM Tesla Capacitor - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4), GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32), }, - Materials.Epoxid.getMolten(504), - CustomItemList.teslaCapacitor.getWithDamage(1, 6), - 320, - 122880); + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32)) + .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 6)) + .fluidInputs(Materials.Epoxid.getMolten(504)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + } // Tesla Cover - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.teslaComponent.getWithDamage(4, 0), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), }, - Materials.Lead.getMolten(288), - CustomItemList.teslaCover.getWithDamage(1, 0), - 320, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8)) + .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 0)) + .fluidInputs(Materials.Lead.getMolten(288)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.teslaComponent.getWithDamage(4, 0), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), }, - Materials.Tin.getMolten(144), - CustomItemList.teslaCover.getWithDamage(1, 0), - 320, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.teslaComponent.getWithDamage(4, 0), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8)) + .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 0)) + .fluidInputs(Materials.Tin.getMolten(144)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.teslaComponent.getWithDamage(4, 0), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), }, - Materials.SolderingAlloy.getMolten(72), - CustomItemList.teslaCover.getWithDamage(1, 0), - 320, - 480); + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8)) + .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 0)) + .fluidInputs(Materials.SolderingAlloy.getMolten(72)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Ultimate Tesla Cover - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.teslaComponent.getWithDamage(4, 1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), }, - Materials.Lead.getMolten(288), - CustomItemList.teslaCover.getWithDamage(1, 1), - 320, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8)) + .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 1)) + .fluidInputs(Materials.Lead.getMolten(288)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.teslaComponent.getWithDamage(4, 1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), }, - Materials.Tin.getMolten(144), - CustomItemList.teslaCover.getWithDamage(1, 1), - 320, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.teslaComponent.getWithDamage(4, 1), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8)) + .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 1)) + .fluidInputs(Materials.Tin.getMolten(144)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.teslaComponent.getWithDamage(4, 1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8), }, - Materials.SolderingAlloy.getMolten(72), - CustomItemList.teslaCover.getWithDamage(1, 1), - 320, - 7680); - + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8)) + .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(72)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Ender Fluid Link Cover - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4), - ItemList.Sensor_LuV.get(1), ItemList.Emitter_LuV.get(1), ItemList.Electric_Pump_LuV.get(1), }, - getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome).getMolten(288), - CustomItemList.enderLinkFluidCover.getWithDamage(1, 0), - 320, - 30720); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4), + ItemList.Sensor_LuV.get(1), + ItemList.Emitter_LuV.get(1), + ItemList.Electric_Pump_LuV.get(1)) + .itemOutputs(CustomItemList.enderLinkFluidCover.getWithDamage(1, 0)) + .fluidInputs(getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome).getMolten(288)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Power Pass Upgrade Cover - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.Machine_Multi_Transformer.get(1), GT_Utility.getIntegratedCircuit(1) }, - null, - CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0), - 320, - 30720); - + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.Machine_Multi_Transformer.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Tesla Winding Components - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 32), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8), }, - Materials.Epoxid.getMolten(288), - CustomItemList.teslaComponent.getWithDamage(1, 0), - 320, - 30); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 32), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8)) + .itemOutputs(CustomItemList.teslaComponent.getWithDamage(1, 0)) + .fluidInputs(Materials.Epoxid.getMolten(288)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Tesla Winding Components Ultimate (ADD BLOOD VARIANT) - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 4), - GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8), }, - Materials.Epoxid.getMolten(576), - CustomItemList.teslaComponent.getWithDamage(1, 1), - 320, - 7680); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 4), + GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8)) + .itemOutputs(CustomItemList.teslaComponent.getWithDamage(1, 1)) + .fluidInputs(Materials.Epoxid.getMolten(576)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Tesla Transceiver LV 1A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), - 400, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), - 400, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_1by1_LV.get(1), - 400, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_LV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_LV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_LV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Tesla Transceiver MV 1A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), - 400, - 120); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), - 400, - 120); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_1by1_MV.get(1), - 400, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_MV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_MV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_MV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); // Tesla Transceiver HV 1A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), - 400, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), - 400, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_1by1_HV.get(1), - 400, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_HV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_HV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_HV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Tesla Transceiver EV 1A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), - 400, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), - 400, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_1by1_EV.get(1), - 400, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_EV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_EV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_EV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Tesla Transceiver IV 1A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), - 400, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), - 400, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_1by1_IV.get(1), - 400, - 7680); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_IV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_IV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_IV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Tesla Transceiver LV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), - 400, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), - 400, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_2by2_LV.get(1), - 400, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_LV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_LV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_LV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Tesla Transceiver MV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), - 400, - 120); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), - 400, - 120); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_2by2_MV.get(1), - 400, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_MV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_MV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_MV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); // Tesla Transceiver HV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), - 400, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), - 400, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_2by2_HV.get(1), - 400, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_HV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_HV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_HV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Tesla Transceiver EV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), - 400, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), - 400, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_2by2_EV.get(1), - 400, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_EV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_EV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_EV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Tesla Transceiver IV 4A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), - 400, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), - 400, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_2by2_IV.get(1), - 400, - 7680); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_IV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_IV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_IV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Tesla Transceiver LV 9A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), - 400, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), - 400, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_3by3_LV.get(1), - 400, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_LV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_LV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_LV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Tesla Transceiver MV 9A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), - 400, - 120); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), - 400, - 120); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_3by3_MV.get(1), - 400, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_MV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_MV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_MV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); // Tesla Transceiver HV 9A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), - 400, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), - 400, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_3by3_HV.get(1), - 400, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_HV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_HV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_HV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Tesla Transceiver EV 9A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), - 400, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), - 400, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_3by3_EV.get(1), - 400, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_EV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_EV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_EV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Tesla Transceiver IV 9A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), - 400, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), - 400, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_3by3_IV.get(1), - 400, - 7680); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_IV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_IV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_IV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Tesla Transceiver LV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), - 400, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), - 400, - 30); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_4by4_LV.get(1), - 400, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_LV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_LV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_LV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Tesla Transceiver MV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), - 400, - 120); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), - 400, - 120); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_4by4_MV.get(1), - 400, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_MV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_MV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_MV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); // Tesla Transceiver HV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), - 400, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), - 400, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_4by4_HV.get(1), - 400, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_HV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_HV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_HV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Tesla Transceiver EV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), - 400, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), - 400, - 1920); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_4by4_EV.get(1), - 400, - 1920); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_EV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_EV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_EV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Tesla Transceiver IV 16A - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Lead.getMolten(576), - CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), - 400, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.Tin.getMolten(288), - CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), - 400, - 7680); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0) }, - Materials.SolderingAlloy.getMolten(144), - CustomItemList.Machine_TeslaCoil_4by4_IV.get(1), - 400, - 7680); - + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_IV.get(1)) + .fluidInputs(Materials.Lead.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_IV.get(1)) + .fluidInputs(Materials.Tin.getMolten(288)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0)) + .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_IV.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Tesla Tower - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_ModHandler.getIC2Item("teslaCoil", 1), CustomItemList.tM_TeslaSecondary.get(4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getIC2Item("teslaCoil", 1), + CustomItemList.tM_TeslaSecondary.get(4), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), - ItemList.Upgrade_Overclocker.get(4), }, - Materials.Silver.getMolten(576), - CustomItemList.Machine_Multi_TeslaCoil.get(1), - 800, - 480); - + ItemList.Upgrade_Overclocker.get(4)) + .itemOutputs(CustomItemList.Machine_Multi_TeslaCoil.get(1)) + .fluidInputs(Materials.Silver.getMolten(576)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Microwave Grinder - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Machine_HV_Microwave.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Machine_HV_Microwave.get(1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16), - ItemList.Upgrade_Overclocker.get(4), }, - Materials.Copper.getMolten(576), - CustomItemList.Machine_Multi_Microwave.get(1), - 800, - 480); - + ItemList.Upgrade_Overclocker.get(4)) + .itemOutputs(CustomItemList.Machine_Multi_Microwave.get(1)) + .fluidInputs(Materials.Copper.getMolten(576)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); // Active Transformer - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { getItemContainer("WetTransformer_ZPM_LuV").get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + getItemContainer("WetTransformer_ZPM_LuV").get(1), getItemContainer("HighEnergyFlowCircuit").get(1), GT_OreDictUnificator .get(OrePrefixes.wireGt01, getOrDefault("SuperconductorLuV", Materials.SuperconductorUHV), 16), ItemList.valueOf("Circuit_Chip_UHPIC") - .get(2), }, - Materials.TungstenSteel.getMolten(576), - CustomItemList.Machine_Multi_Transformer.get(1), - 400, - 30720); - + .get(2)) + .itemOutputs(CustomItemList.Machine_Multi_Transformer.get(1)) + .fluidInputs(Materials.TungstenSteel.getMolten(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Network Switch - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CustomItemList.Machine_Multi_Transformer.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.Machine_Multi_Transformer.get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 4), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), - GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), CustomItemList.DATApipe.get(4), }, - Materials.Iridium.getMolten(1296), - CustomItemList.Machine_Multi_Switch.get(1), - 800, - 122880); + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64), + CustomItemList.DATApipe.get(4)) + .itemOutputs(CustomItemList.Machine_Multi_Switch.get(1)) + .fluidInputs(Materials.Iridium.getMolten(1296)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); } public void cleanroomRecipes() { // Data - addAssemblerRecipeWithCleanroom( - new ItemStack[] { ItemList.Circuit_Parts_GlassFiber.get(8), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8) }, - Materials.Polytetrafluoroethylene.getMolten(144), - CustomItemList.DATApipe.get(1), - 200, - 30720); - + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Parts_GlassFiber.get(8), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8)) + .itemOutputs(CustomItemList.DATApipe.get(1)) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(144)) + .requiresCleanRoom() + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Data Casing - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.DATApipe.get(1), ItemList.Casing_LuV.get(1) }, - null, - CustomItemList.DATApipeBlock.get(1), - 20, - 30720); - + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.DATApipe.get(1), ItemList.Casing_LuV.get(1)) + .itemOutputs(CustomItemList.DATApipeBlock.get(1)) + .requiresCleanRoom() + .duration(20 * TICKS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Laser - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.DATApipe.get(1), GT_ModHandler.getIC2Item("reinforcedGlass", 1L), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 2) }, - null, - CustomItemList.LASERpipe.get(1), - 100, - 500000); - + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.DATApipe.get(1), + GT_ModHandler.getIC2Item("reinforcedGlass", 1L), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 2)) + .itemOutputs(CustomItemList.LASERpipe.get(1)) + .requiresCleanRoom() + .duration(5 * SECONDS) + .eut(500000) + .addTo(assemblerRecipes); // Laser Casing - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.LASERpipe.get(1), ItemList.Casing_LuV.get(1) }, - null, - CustomItemList.LASERpipeBlock.get(1), - 20, - 30720); - + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.LASERpipe.get(1), ItemList.Casing_LuV.get(1)) + .itemOutputs(CustomItemList.LASERpipeBlock.get(1)) + .requiresCleanRoom() + .duration(20 * TICKS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Advanced Computer Casing - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.eM_Computer_Casing.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.eM_Computer_Casing.get(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64), GT_OreDictUnificator - .get(OrePrefixes.wireGt02, getOrDefault("SuperconductorLuV", Materials.SuperconductorUHV), 4) }, - Materials.Iridium.getMolten(1296), - CustomItemList.eM_Computer_Bus.get(1), - 200, - 122880); - + .get(OrePrefixes.wireGt02, getOrDefault("SuperconductorLuV", Materials.SuperconductorUHV), 4)) + .itemOutputs(CustomItemList.eM_Computer_Bus.get(1)) + .fluidInputs(Materials.Iridium.getMolten(1296)) + .requiresCleanRoom() + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Data Input - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.eM_Computer_Casing.get(1), ItemList.Hatch_Input_Bus_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), CustomItemList.DATApipe.get(2) }, - Materials.Iridium.getMolten(1296), - CustomItemList.dataIn_Hatch.get(1), - 200, - 122880); - + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Input_Bus_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(2)) + .itemOutputs(CustomItemList.dataIn_Hatch.get(1)) + .fluidInputs(Materials.Iridium.getMolten(1296)) + .requiresCleanRoom() + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Data Output - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.eM_Computer_Casing.get(1), ItemList.Hatch_Output_Bus_LuV.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), CustomItemList.DATApipe.get(2) }, - Materials.Iridium.getMolten(1296), - CustomItemList.dataOut_Hatch.get(1), - 200, - 122880); - + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.eM_Computer_Casing.get(1), + ItemList.Hatch_Output_Bus_LuV.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 1), + CustomItemList.DATApipe.get(2)) + .itemOutputs(CustomItemList.dataOut_Hatch.get(1)) + .fluidInputs(Materials.Iridium.getMolten(1296)) + .requiresCleanRoom() + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Rack - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.eM_Computer_Bus.get(1), ItemList.Hatch_Input_Bus_ZPM.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), CustomItemList.DATApipe.get(4) }, - Materials.Iridium.getMolten(1296), - CustomItemList.rack_Hatch.get(1), - 800, - 122880); - + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Hatch_Input_Bus_ZPM.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Master, 2), + CustomItemList.DATApipe.get(4)) + .itemOutputs(CustomItemList.rack_Hatch.get(1)) + .fluidInputs(Materials.Iridium.getMolten(1296)) + .requiresCleanRoom() + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Uncertainty - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), CustomItemList.DATApipe.get(16), - ItemList.Cover_Screen.get(1), new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(4), }, - Materials.Iridium.getMolten(2592), - CustomItemList.Uncertainty_Hatch.get(1), - 1200, - 122880); - + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 1), + CustomItemList.DATApipe.get(16), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(CustomItemList.Uncertainty_Hatch.get(1)) + .fluidInputs(Materials.Iridium.getMolten(2592)) + .requiresCleanRoom() + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Uncertainty X - addAssemblerRecipeWithCleanroom( - new ItemStack[] { CustomItemList.eM_Computer_Casing.get(1), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), CustomItemList.DATApipe.get(32), - ItemList.Cover_Screen.get(1), new ItemStack(Blocks.stone_button, 16), - GT_Utility.getIntegratedCircuit(5), }, - Materials.Iridium.getMolten(2592), - CustomItemList.UncertaintyX_Hatch.get(1), - 1200, - 122880); - + GT_Values.RA.stdBuilder() + .itemInputs( + CustomItemList.eM_Computer_Casing.get(1), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), + CustomItemList.DATApipe.get(32), + ItemList.Cover_Screen.get(1), + new ItemStack(Blocks.stone_button, 16), + GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(CustomItemList.UncertaintyX_Hatch.get(1)) + .fluidInputs(Materials.Iridium.getMolten(2592)) + .requiresCleanRoom() + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); // Capacitor Hatch - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Input_Bus_HV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Input_Bus_HV.get(1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4), }, - Materials.Silver.getMolten(576), - CustomItemList.capacitor_Hatch.get(1), - 800, - 480); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Output_Bus_HV.get(1), + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4)) + .itemOutputs(CustomItemList.capacitor_Hatch.get(1)) + .fluidInputs(Materials.Silver.getMolten(576)) + .requiresCleanRoom() + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Output_Bus_HV.get(1), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4), - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4), }, - Materials.Silver.getMolten(576), - CustomItemList.capacitor_Hatch.get(1), - 800, - 480); - - } - - private void addAssemblerRecipeWithCleanroom(ItemStack[] items, FluidStack fluid, ItemStack output, int time, - int eut) { - GT_Values.RA.addAssemblerRecipe(items, fluid, output, time, eut, true); + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4)) + .itemOutputs(CustomItemList.capacitor_Hatch.get(1)) + .fluidInputs(Materials.Silver.getMolten(576)) + .requiresCleanRoom() + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); } } diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/AssemblyLine.java b/src/main/java/com/github/technus/tectech/loader/recipe/AssemblyLine.java index cd8ea21b51..59348ff6b4 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/AssemblyLine.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/AssemblyLine.java @@ -2,7 +2,12 @@ package com.github.technus.tectech.loader.recipe; import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getItemContainer; import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getOrDefault; -import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; @@ -21,108 +26,144 @@ public class AssemblyLine implements Runnable { @Override public void run() { // Data Bank - RA.addAssemblylineRecipe( - ItemList.Hatch_DataAccess_EV.get(1), - 20000, - new Object[] { CustomItemList.Machine_Multi_Switch.get(1), - new Object[] { OrePrefixes.circuit.get(Materials.Master), 2 }, ItemList.Tool_DataOrb.get(1), - ItemList.Cover_Screen.get(1), }, - new FluidStack[] { new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Hydrogen.getGas(1000), }, - CustomItemList.Machine_Multi_DataBank.get(1), - 12000, - 14000); + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Hatch_DataAccess_EV.get(1)) + .metadata(RESEARCH_TIME, 16 * MINUTES + 20 * SECONDS) + .itemInputs( + CustomItemList.Machine_Multi_Switch.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.Master), 2 }, + ItemList.Tool_DataOrb.get(1), + ItemList.Cover_Screen.get(1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Hydrogen.getGas(1000)) + .itemOutputs(CustomItemList.Machine_Multi_DataBank.get(1)) + .eut(14_000) + .duration(10 * MINUTES) + .addTo(AssemblyLine); // Hollow Casing - GT_Values.RA.addAssemblylineRecipe( - CustomItemList.eM_Containment.get(1), - 7500, - new ItemStack[] { CustomItemList.eM_Containment.get(1), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, CustomItemList.eM_Containment.get(1)) + .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS) + .itemInputs( + CustomItemList.eM_Containment.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 16), - GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16), }, - new FluidStack[] { getOrDefault("Trinium", Materials.Osmium).getMolten(1296), - Materials.Osmium.getMolten(1296), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - Materials.Argon.getGas(1000), }, - CustomItemList.eM_Hollow.get(2), - 200, - 200000); + GT_OreDictUnificator.get(OrePrefixes.screw, getOrDefault("Quantium", Materials.Europium), 16)) + .fluidInputs( + getOrDefault("Trinium", Materials.Osmium).getMolten(1296), + Materials.Osmium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Argon.getGas(1000)) + .itemOutputs(CustomItemList.eM_Hollow.get(2)) + .eut(200_000) + .duration(10 * SECONDS) + .addTo(AssemblyLine); // EM Coil - GT_Values.RA.addAssemblylineRecipe( - CustomItemList.eM_Hollow.get(1), - 7500, - new ItemStack[] { CustomItemList.eM_Hollow.get(1), ItemList.Casing_Fusion_Coil.get(2), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, CustomItemList.eM_Hollow.get(1)) + .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS) + .itemInputs( + CustomItemList.eM_Hollow.get(1), + ItemList.Casing_Fusion_Coil.get(2), ItemList.Casing_Coil_NaquadahAlloy.get(2), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64), }, - new FluidStack[] { Materials.Glass.getMolten(2304), Materials.Silicone.getMolten(1872), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64)) + .fluidInputs( + Materials.Glass.getMolten(2304), + Materials.Silicone.getMolten(1872), new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), - getOrDefault("Trinium", Materials.Osmium).getMolten(1296), }, - CustomItemList.eM_Coil.get(4), - 800, - 200000); + getOrDefault("Trinium", Materials.Osmium).getMolten(1296)) + .itemOutputs(CustomItemList.eM_Coil.get(4)) + .eut(200_000) + .duration(40 * SECONDS) + .addTo(AssemblyLine); // Object Holder - GT_Values.RA.addAssemblylineRecipe( - ItemList.Hatch_Input_Bus_ZPM.get(1), - 10000, - new Object[] { ItemList.Hatch_Input_Bus_ZPM.get(1), CustomItemList.eM_Computer_Bus.get(1), - ItemList.Emitter_ZPM.get(8), ItemList.Robot_Arm_ZPM.get(1), ItemList.Electric_Motor_ZPM.get(2), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Hatch_Input_Bus_ZPM.get(1)) + .metadata(RESEARCH_TIME, 8 * MINUTES + 20 * SECONDS) + .itemInputs( + ItemList.Hatch_Input_Bus_ZPM.get(1), + CustomItemList.eM_Computer_Bus.get(1), + ItemList.Emitter_ZPM.get(8), + ItemList.Robot_Arm_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 1 }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2) }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16) }, - CustomItemList.DATApipe.get(2), }, - new FluidStack[] { Materials.UUMatter.getFluid(500), Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000) }, - CustomItemList.holder_Hatch.get(1), - 1200, - 100000); + CustomItemList.DATApipe.get(2)) + .fluidInputs( + Materials.UUMatter.getFluid(500), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000)) + .itemOutputs(CustomItemList.holder_Hatch.get(1)) + .eut(100_000) + .duration(10 * MINUTES) + .addTo(AssemblyLine); // Quantum Computer - GT_Values.RA.addAssemblylineRecipe( - ItemList.Tool_DataOrb.get(1), - 20000, - new Object[] { CustomItemList.Machine_Multi_Switch.get(1), - new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 2 }, ItemList.Tool_DataOrb.get(1), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Tool_DataOrb.get(1)) + .metadata(RESEARCH_TIME, 16 * MINUTES + 40 * SECONDS) + .itemInputs( + CustomItemList.Machine_Multi_Switch.get(1), + new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 2 }, + ItemList.Tool_DataOrb.get(1), ItemList.Cover_Screen.get(1), new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8) }, - CustomItemList.DATApipe.get(8), }, - new FluidStack[] { Materials.UUMatter.getFluid(1000), Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Hydrogen.getGas(1000), }, - CustomItemList.Machine_Multi_Computer.get(1), - 12000, - 100000); + CustomItemList.DATApipe.get(8)) + .fluidInputs( + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Hydrogen.getGas(1000)) + .itemOutputs(CustomItemList.Machine_Multi_Computer.get(1)) + .eut(100_000) + .duration(10 * MINUTES) + .addTo(AssemblyLine); // Research Station - GT_Values.RA.addAssemblylineRecipe( - getItemContainer("ScannerZPM").get(1), - 80000, - new Object[] { CustomItemList.Machine_Multi_Switch.get(1), ItemList.Sensor_ZPM.get(8), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, getItemContainer("ScannerZPM").get(1)) + .metadata(RESEARCH_TIME, 1 * HOURS + 6 * MINUTES + 40 * SECONDS) + .itemInputs( + CustomItemList.Machine_Multi_Switch.get(1), + ItemList.Sensor_ZPM.get(8), new Object[] { OrePrefixes.circuit.get(Materials.SuperconductorUHV), 4 }, - ItemList.Field_Generator_ZPM.get(1), ItemList.Electric_Motor_ZPM.get(2), + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Motor_ZPM.get(2), new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4) }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32) }, - CustomItemList.DATApipe.get(16), }, - new FluidStack[] { Materials.UUMatter.getFluid(1000), Materials.Iridium.getMolten(1296), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Osmium.getMolten(1296), }, - CustomItemList.Machine_Multi_Research.get(1), - 12000, - 100000); + CustomItemList.DATApipe.get(16)) + .fluidInputs( + Materials.UUMatter.getFluid(1000), + Materials.Iridium.getMolten(1296), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), + Materials.Osmium.getMolten(1296)) + .itemOutputs(CustomItemList.Machine_Multi_Research.get(1)) + .eut(100_000) + .duration(10 * MINUTES) + .addTo(AssemblyLine); // Multi Infuser - GT_Values.RA.addAssemblylineRecipe( - CustomItemList.Machine_Multi_Transformer.get(1), - 7500, - new ItemStack[] { CustomItemList.Machine_Multi_Transformer.get(1), CustomItemList.eM_Coil.get(8), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, CustomItemList.Machine_Multi_Transformer.get(1)) + .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS) + .itemInputs( + CustomItemList.Machine_Multi_Transformer.get(1), + CustomItemList.eM_Coil.get(8), CustomItemList.eM_Power.get(8), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16), }, - new FluidStack[] { Materials.Electrum.getMolten(2592), Materials.Europium.getMolten(1872), - new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), }, - CustomItemList.Machine_Multi_Infuser.get(1), - 8000, - 200000); + GT_OreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16)) + .fluidInputs( + Materials.Electrum.getMolten(2592), + Materials.Europium.getMolten(1872), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000)) + .itemOutputs(CustomItemList.Machine_Multi_Infuser.get(1)) + .eut(200_000) + .duration(6 * MINUTES + 40 * SECONDS) + .addTo(AssemblyLine); } } diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/CircuitAssembler.java b/src/main/java/com/github/technus/tectech/loader/recipe/CircuitAssembler.java index ff6f4694ce..0c20827ca4 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/CircuitAssembler.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/CircuitAssembler.java @@ -1,6 +1,8 @@ package com.github.technus.tectech.loader.recipe; -import net.minecraft.item.ItemStack; +import static gregtech.api.recipe.RecipeMaps.circuitAssemblerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -11,6 +13,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_OreDictUnificator; public class CircuitAssembler implements Runnable { @@ -22,25 +25,31 @@ public class CircuitAssembler implements Runnable { : FluidRegistry.getFluid("molten.solderingalloy"); // Optical Processor - GT_Values.RA.addCircuitAssemblerRecipe( - new ItemStack[] { ItemList.Optically_Perfected_CPU.get(1L), ItemList.Optically_Compatible_Memory.get(2L), - ItemList.Circuit_Parts_CapacitorXSMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(16L), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Optically_Perfected_CPU.get(1L), + ItemList.Optically_Compatible_Memory.get(2L), + ItemList.Circuit_Parts_CapacitorXSMD.get(16L), + ItemList.Circuit_Parts_DiodeXSMD.get(16L), CustomItemList.DATApipe.get(4L), - GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.EnrichedHolmium, 16) }, - new FluidStack(solderUEV, 288), - ItemList.Circuit_OpticalProcessor.get(1L), - 20 * 20, - 614400, - true); + GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.EnrichedHolmium, 16)) + .itemOutputs(ItemList.Circuit_OpticalProcessor.get(1L)) + .fluidInputs(new FluidStack(solderUEV, 288)) + .requiresCleanRoom() + .duration(20 * SECONDS) + .eut(614400) + .addTo(circuitAssemblerRecipes); // Parametrizer Memory Card - GT_Values.RA.addCircuitAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4), }, - Materials.Plastic.getMolten(72), - CustomItemList.parametrizerMemory.get(1), - 200, - 480, - true); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4)) + .itemOutputs(CustomItemList.parametrizerMemory.get(1)) + .fluidInputs(Materials.Plastic.getMolten(72)) + .requiresCleanRoom() + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(circuitAssemblerRecipes); } } diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/Extractor.java b/src/main/java/com/github/technus/tectech/loader/recipe/Extractor.java index 4ec2b55122..c9d71b2b31 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/Extractor.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/Extractor.java @@ -1,5 +1,8 @@ package com.github.technus.tectech.loader.recipe; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import com.github.technus.tectech.thing.CustomItemList; import gregtech.api.enums.GT_Values; @@ -12,46 +15,54 @@ public class Extractor implements Runnable { @Override public void run() { // LV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 0), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4), - 300, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 0)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); // MV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 1), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6), - 300, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 1)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); // HV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 2), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8), - 300, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 2)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); // EV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 3), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10), - 300, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 3)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); // IV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 4), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12), - 300, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 4)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); // LuV Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 5), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14), - 300, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 5)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); // ZPM Tesla Capacitor - GT_Values.RA.addExtractorRecipe( - CustomItemList.teslaCapacitor.getWithDamage(1, 6), - GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16), - 300, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 6)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + } } diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java b/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java index f2d5a65926..a2dc61132d 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java @@ -1,7 +1,11 @@ package com.github.technus.tectech.loader.recipe; +import static com.github.technus.tectech.recipe.TecTechRecipeMaps.godforgeExoticMatterRecipes; +import static com.github.technus.tectech.recipe.TecTechRecipeMaps.godforgePlasmaRecipes; import static com.github.technus.tectech.util.GodforgeMath.getRandomIntInRange; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.FOG_EXOTIC_TIER; +import static gregtech.api.util.GT_RecipeConstants.FOG_PLASMA_TIER; import java.util.ArrayList; import java.util.Arrays; @@ -11,8 +15,7 @@ import java.util.List; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; -import com.github.technus.tectech.recipe.TT_recipeAdder; - +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.TierEU; @@ -105,13 +108,16 @@ public class Godforge implements Runnable { new FluidStack(ELEMENT.getInstance().CURIUM.getPlasma(), 144) }; for (int i = 0; i < solids_t0_1step.length; i++) { - TT_recipeAdder.addFOGPlasmaRecipe( - new ItemStack[] { solids_t0_1step[i] }, - new FluidStack[] { solid_plasmas_t0_1step[i] }, - 1 * SECONDS, - (int) TierEU.RECIPE_MAX, - false, - 0); + boolean multistep = false; + GT_Values.RA.stdBuilder() + .itemInputs(solids_t0_1step[i]) + .fluidOutputs(solid_plasmas_t0_1step[i]) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .special(multistep) + .metadata(FOG_PLASMA_TIER, 0) + .noOptimize() + .addTo(godforgePlasmaRecipes); } // Multi-step @@ -135,13 +141,16 @@ public class Godforge implements Runnable { Materials.Chrome.getPlasma(144), }; for (int i = 0; i < solids_t0_xstep.length; i++) { - TT_recipeAdder.addFOGPlasmaRecipe( - new ItemStack[] { solids_t0_xstep[i] }, - new FluidStack[] { solid_plasmas_t0_xstep[i] }, - 3 * SECONDS, - (int) TierEU.RECIPE_MAX, - true, - 0); + boolean multistep = true; + GT_Values.RA.stdBuilder() + .itemInputs(solids_t0_xstep[i]) + .fluidOutputs(solid_plasmas_t0_xstep[i]) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .special(multistep) + .metadata(FOG_PLASMA_TIER, 0) + .noOptimize() + .addTo(godforgePlasmaRecipes); } } // Fusion tier 4-5 @@ -153,13 +162,16 @@ public class Godforge implements Runnable { Materials.Plutonium241.getPlasma(144), Materials.Thorium.getPlasma(144) }; for (int i = 0; i < solids_t1_1step.length; i++) { - TT_recipeAdder.addFOGPlasmaRecipe( - new ItemStack[] { solids_t1_1step[i] }, - new FluidStack[] { solid_plasmas_t1_1step[i] }, - 5 * SECONDS, - (int) TierEU.RECIPE_MAX, - false, - 1); + boolean multistep = false; + GT_Values.RA.stdBuilder() + .itemInputs(solids_t1_1step[i]) + .fluidOutputs(solid_plasmas_t1_1step[i]) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .special(multistep) + .metadata(FOG_PLASMA_TIER, 1) + .noOptimize() + .addTo(godforgePlasmaRecipes); } // Multi-step @@ -170,13 +182,16 @@ public class Godforge implements Runnable { new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 144) }; for (int i = 0; i < solids_t1_xstep.length; i++) { - TT_recipeAdder.addFOGPlasmaRecipe( - new ItemStack[] { solids_t1_xstep[i] }, - new FluidStack[] { solid_plasmas_t1_xstep[i] }, - 7 * SECONDS, - (int) TierEU.RECIPE_MAX, - true, - 1); + boolean multistep = true; + GT_Values.RA.stdBuilder() + .itemInputs(solids_t1_xstep[i]) + .fluidOutputs(solid_plasmas_t1_xstep[i]) + .duration(7 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .special(multistep) + .metadata(FOG_PLASMA_TIER, 1) + .noOptimize() + .addTo(godforgePlasmaRecipes); } } // Exotic Plasmas @@ -193,13 +208,16 @@ public class Godforge implements Runnable { Materials.DraconiumAwakened.getPlasma(144), Materials.Ichorium.getPlasma(144) }; for (int i = 0; i < solids_t2_1step.length; i++) { - TT_recipeAdder.addFOGPlasmaRecipe( - new ItemStack[] { solids_t2_1step[i] }, - new FluidStack[] { solid_plasmas_t2_1step[i] }, - 15 * SECONDS, - (int) TierEU.RECIPE_MAX, - false, - 2); + boolean multistep = false; + GT_Values.RA.stdBuilder() + .itemInputs(solids_t2_1step[i]) + .fluidOutputs(solid_plasmas_t2_1step[i]) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .special(multistep) + .metadata(FOG_PLASMA_TIER, 2) + .noOptimize() + .addTo(godforgePlasmaRecipes); } // Multi-step @@ -210,13 +228,16 @@ public class Godforge implements Runnable { Materials.Neutronium.getPlasma(144), }; for (int i = 0; i < solids_t2_xstep.length; i++) { - TT_recipeAdder.addFOGPlasmaRecipe( - new ItemStack[] { solids_t2_xstep[i] }, - new FluidStack[] { solid_plasmas_t2_xstep[i] }, - 25 * SECONDS, - (int) TierEU.RECIPE_MAX, - true, - 2); + boolean multistep = true; + GT_Values.RA.stdBuilder() + .itemInputs(solids_t2_xstep[i]) + .fluidOutputs(solid_plasmas_t2_xstep[i]) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .special(multistep) + .metadata(FOG_PLASMA_TIER, 2) + .noOptimize() + .addTo(godforgePlasmaRecipes); } } @@ -240,13 +261,16 @@ public class Godforge implements Runnable { Materials.Mercury.getPlasma(1000) }; for (int i = 0; i < fluids_t0_1step.length; i++) { - TT_recipeAdder.addFOGPlasmaRecipe( - new FluidStack[] { fluids_t0_1step[i] }, - new FluidStack[] { fluid_plasmas_t0_1step[i] }, - 1 * SECONDS, - (int) TierEU.RECIPE_MAX, - false, - 0); + boolean multistep = false; + GT_Values.RA.stdBuilder() + .fluidInputs(fluids_t0_1step[i]) + .fluidOutputs(fluid_plasmas_t0_1step[i]) + .duration(1 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .special(multistep) + .metadata(FOG_PLASMA_TIER, 0) + .noOptimize() + .addTo(godforgePlasmaRecipes); } // Multi-step @@ -258,13 +282,16 @@ public class Godforge implements Runnable { new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 1000) }; for (int i = 0; i < fluids_t0_xstep.length; i++) { - TT_recipeAdder.addFOGPlasmaRecipe( - new FluidStack[] { fluids_t0_xstep[i] }, - new FluidStack[] { fluid_plasmas_t0_xstep[i] }, - 3 * SECONDS, - (int) TierEU.RECIPE_MAX, - true, - 0); + boolean multistep = true; + GT_Values.RA.stdBuilder() + .fluidInputs(fluids_t0_xstep[i]) + .fluidOutputs(fluid_plasmas_t0_xstep[i]) + .duration(3 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .special(multistep) + .metadata(FOG_PLASMA_TIER, 0) + .noOptimize() + .addTo(godforgePlasmaRecipes); } } // Fusion tier 4-5 @@ -283,21 +310,27 @@ public class Godforge implements Runnable { // Exotic module fake recipes { - TT_recipeAdder.addFOGExoticFakeRecipe( - new ItemStack[] { Materials.Iron.getDust(1) }, - new FluidStack[] { Materials.Iron.getMolten(1) }, - new FluidStack[] { MaterialsUEVplus.QuarkGluonPlasma.getFluid(1000) }, - 10 * SECONDS, - (int) TierEU.RECIPE_MAX, - 1); - - TT_recipeAdder.addFOGExoticFakeRecipe( - new ItemStack[] { Materials.Iron.getDust(1) }, - new FluidStack[] { Materials.Iron.getMolten(1), Materials.Bismuth.getMolten(1) }, - new FluidStack[] { MaterialsUEVplus.MagMatter.getMolten(144) }, - 10 * SECONDS, - (int) TierEU.RECIPE_MAX, - 1); + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Iron.getDust(1)) + .fluidInputs(Materials.Iron.getMolten(1)) + .fluidOutputs(MaterialsUEVplus.QuarkGluonPlasma.getFluid(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .metadata(FOG_EXOTIC_TIER, 1) + .ignoreCollision() + .fake() + .addTo(godforgeExoticMatterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Iron.getDust(1)) + .fluidInputs(Materials.Iron.getMolten(1), Materials.Bismuth.getMolten(1)) + .fluidOutputs(MaterialsUEVplus.MagMatter.getMolten(144)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MAX) + .metadata(FOG_EXOTIC_TIER, 1) + .ignoreCollision() + .fake() + .addTo(godforgeExoticMatterRecipes); } // Exotic module plasma material maps diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java b/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java index 5fa648670c..e7633f0d4d 100644 --- a/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java +++ b/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java @@ -37,6 +37,7 @@ import net.minecraftforge.fluids.FluidStack; import com.github.technus.tectech.recipe.TT_recipeAdder; import com.github.technus.tectech.thing.CustomItemList; import com.rwtema.extrautils.ExtraUtils; +import common.TileEntities; import fox.spiteful.avaritia.compat.ticon.Tonkers; import goodgenerator.items.MyMaterial; @@ -2958,7 +2959,7 @@ public class ResearchStationAssemblyLine implements Runnable { 16_384, // comp/s (int) TierEU.RECIPE_MAX, // eu/t 32, // amperage - new Object[] { getModItem(GregTech.ID, "gt.blockmachines", 1, 13106), + new Object[] { TileEntities.lsc.getStackForm(1), // UV Solar panel getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", 1, 0), // UHV Capacitor block diff --git a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java index fb2030d52d..590995336a 100644 --- a/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java +++ b/src/main/java/com/github/technus/tectech/recipe/EyeOfHarmonyRecipeStorage.java @@ -18,6 +18,7 @@ import com.github.technus.tectech.util.FluidStackLong; import com.github.technus.tectech.util.ItemStackLong; import com.google.common.math.LongMath; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; @@ -110,18 +111,19 @@ public class EyeOfHarmonyRecipeStorage { .copy(); planetItem.stackSize = 0; - eyeOfHarmonyRecipes.addRecipe( - false, - new ItemStack[] { planetItem }, - outputItems.toArray(new ItemStack[0]), - recipe, - null, - new FluidStack[] { Materials.Hydrogen.getGas(0), Materials.Helium.getGas(0), - MaterialsUEVplus.RawStarMatter.getFluid(0) }, - outputFluids.toArray(new FluidStack[0]), - (int) recipe.getRecipeTimeInTicks(), - 0, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(planetItem) + .itemOutputs(outputItems.toArray(new ItemStack[0])) + .fluidInputs( + Materials.Hydrogen.getGas(0), + Materials.Helium.getGas(0), + MaterialsUEVplus.RawStarMatter.getFluid(0)) + .fluidOutputs(outputFluids.toArray(new FluidStack[0])) + .duration(recipe.getRecipeTimeInTicks()) + .eut(0) + .special(recipe) + .noOptimize() + .addTo(eyeOfHarmonyRecipes); } } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java index 1730e81713..7aad593fa6 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.recipe; +import static gregtech.api.recipe.RecipeMaps.assemblylineVisualRecipes; + import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -13,8 +15,8 @@ import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.CustomItemList; import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine; @@ -26,6 +28,7 @@ public class TT_recipeAdder extends GT_RecipeAdder { public static final ItemStack[] nullItem = new ItemStack[0]; public static final FluidStack[] nullFluid = new FluidStack[0]; + @Deprecated public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int assDuration, int assEUt) { @@ -59,17 +62,18 @@ public class TT_recipeAdder extends GT_RecipeAdder { totalComputationRequired, researchEUt, researchAmperage | computationRequiredPerSec << 16); - RecipeMaps.assemblylineVisualRecipes.addFakeRecipe( - false, - aInputs, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Reads Research result") }, - aFluidInputs, - null, - assDuration, - assEUt, - 0, - false); + + GT_Values.RA.stdBuilder() + .itemInputs(aInputs) + .itemOutputs(aOutput) + .fluidInputs(aFluidInputs) + .special(ItemList.Tool_DataStick.getWithName(1L, "Reads Research result")) + .duration(assDuration) + .eut(assEUt) + .ignoreCollision() + .fake() + .addTo(assemblylineVisualRecipes); + GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes.add( new GT_Recipe.GT_Recipe_AssemblyLine( CustomItemList.UnusedStuff.get(1), @@ -91,6 +95,7 @@ public class TT_recipeAdder extends GT_RecipeAdder { return true; } + @Deprecated public static boolean addResearchableAssemblylineRecipe(ItemStack aResearchItem, int totalComputationRequired, int computationRequiredPerSec, int researchEUt, int researchAmperage, Object[] aInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int assDuration, int assEUt) { @@ -191,7 +196,7 @@ public class TT_recipeAdder extends GT_RecipeAdder { totalComputationRequired, researchEUt, researchAmperage | computationRequiredPerSec << 16); - RecipeMaps.assemblylineVisualRecipes.addFakeRecipe( + assemblylineVisualRecipes.addFakeRecipe( false, tInputs, new ItemStack[] { aOutput }, @@ -227,52 +232,4 @@ public class TT_recipeAdder extends GT_RecipeAdder { TecTechRecipeMaps.researchableALRecipeList.add(recipeTT); return true; } - - public static boolean addFOGPlasmaRecipe(ItemStack[] itemInputs, FluidStack[] fluidOutputs, int machineDuration, - int machineEUt, boolean multiStep, int recipeTier) { - if (itemInputs == null) { - itemInputs = nullItem; - } - - TecTechRecipeMaps.godforgePlasmaRecipes - .addRecipe(false, itemInputs, null, multiStep, null, fluidOutputs, machineDuration, machineEUt, recipeTier); - return true; - } - - public static boolean addFOGPlasmaRecipe(FluidStack[] fluidInputs, FluidStack[] fluidOutputs, int machineDuration, - int machineEUt, boolean multiStep, int recipeTier) { - - if (fluidInputs == null) { - fluidInputs = nullFluid; - } - - TecTechRecipeMaps.godforgePlasmaRecipes.addRecipe( - false, - null, - null, - multiStep, - fluidInputs, - fluidOutputs, - machineDuration, - machineEUt, - recipeTier); - return true; - } - - public static boolean addFOGExoticFakeRecipe(ItemStack[] itemInputs, FluidStack[] fluidInputs, - FluidStack[] fluidOutputs, int machineDuration, int machineEUt, int recipeTier) { - - TecTechRecipeMaps.godforgeExoticMatterRecipes.addFakeRecipe( - false, - itemInputs, - null, - null, - fluidInputs, - fluidOutputs, - machineDuration, - machineEUt, - recipeTier, - false); - return true; - } } diff --git a/src/main/java/common/TileEntities.java b/src/main/java/common/TileEntities.java index 31246ac5d8..3a7026d429 100644 --- a/src/main/java/common/TileEntities.java +++ b/src/main/java/common/TileEntities.java @@ -11,6 +11,7 @@ import common.tileentities.TE_ThaumiumReinforcedJar; import common.tileentities.TE_ThaumiumReinforcedVoidJar; import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.MetaTileEntityIDs; public class TileEntities { @@ -32,12 +33,21 @@ public class TileEntities { public static void init() { // Multiblock controllers - sofc1 = new GTMTE_SOFuelCellMK1(13101, "multimachine.fuelcellmk1", "Solid-Oxide Fuel Cell Mk I"); - sofc2 = new GTMTE_SOFuelCellMK2(13102, "multimachine.fuelcellmk2", "Solid-Oxide Fuel Cell Mk II"); - tfft = new GTMTE_TFFT(13104, "multimachine.tfft", "T.F.F.T"); - lsc = new GTMTE_LapotronicSuperCapacitor(13106, "multimachine.supercapacitor", "Lapotronic Supercapacitor"); + sofc1 = new GTMTE_SOFuelCellMK1( + MetaTileEntityIDs.sofc1.ID, + "multimachine.fuelcellmk1", + "Solid-Oxide Fuel Cell Mk I"); + sofc2 = new GTMTE_SOFuelCellMK2( + MetaTileEntityIDs.sofc2.ID, + "multimachine.fuelcellmk2", + "Solid-Oxide Fuel Cell Mk II"); + tfft = new GTMTE_TFFT(MetaTileEntityIDs.tfft.ID, "multimachine.tfft", "T.F.F.T"); + lsc = new GTMTE_LapotronicSuperCapacitor( + MetaTileEntityIDs.lsc.ID, + "multimachine.supercapacitor", + "Lapotronic Supercapacitor"); // Singleblocks - tfftHatch = new GTMTE_TFFTHatch(13109, "machine.tffthatch", "T.F.F.T Multi I/O Hatch"); + tfftHatch = new GTMTE_TFFTHatch(MetaTileEntityIDs.tfftHatch.ID, "machine.tffthatch", "T.F.F.T Multi I/O Hatch"); } } diff --git a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java deleted file mode 100644 index 593a663a71..0000000000 --- a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterial.java +++ /dev/null @@ -1,60 +0,0 @@ -// package goodgenerator.items.nuclear; -// -// import goodgenerator.loader.Loaders; -// import net.minecraft.item.ItemStack; -// -// import java.util.HashMap; -// import java.util.HashSet; -// -// public class IsotopeMaterial { -// -// public static final HashSet<IsotopeMaterial> mIsotopeMaterial = new HashSet<>(); -// public static final HashMap<Integer, IsotopeMaterial> mIDMap = new HashMap<>(); -// public static final HashMap<String, IsotopeMaterial> mNameMap = new HashMap<>(); -// -// public final int mID; -// public final int mNeutron; -// public final String mName; -// public final String mLocalizedName; -// public final String mMaterialName; -// public final short[] mRGB; -// public final short[] mRGBO; -// public final NuclearTextures mTexture; -// -// public IsotopeMaterial(int aID, String aName, String aMaterialName, String aLocalizedName, NuclearTextures -// aTexture, int aR, int aG, int aB, int aNeutron) { -// if (mIDMap.get(aID) != null) -// throw new UnsupportedOperationException("ID:" + aID + " is already used!"); -// this.mID = aID; -// this.mNeutron = aNeutron; -// this.mName = aName; -// this.mMaterialName = aMaterialName; -// this.mLocalizedName = aLocalizedName; -// this.mRGB = new short[] {(short) (aR * 0.6), (short) (aG * 0.6), (short) (aB * 0.6), 0}; -// this.mRGBO = new short[] {(short) aR, (short) aG, (short) aB, 0}; -// this.mTexture = aTexture; -// mIsotopeMaterial.add(this); -// mIDMap.put(this.mID, this); -// mNameMap.put(this.mName, this); -// } -// -// public ItemStack getFull(int aAmount) { -// if (aAmount > 64) aAmount = 64; -// return new ItemStack(Loaders.Isotope, aAmount, mID + 1000); -// } -// -// public ItemStack getTiny(int aAmount) { -// if (aAmount > 64) aAmount = 64; -// return new ItemStack(Loaders.Isotope, aAmount, mID + 2000); -// } -// -// public ItemStack getFullOxide(int aAmount) { -// if (aAmount > 64) aAmount = 64; -// return new ItemStack(Loaders.Isotope, aAmount, mID + 3000); -// } -// -// public ItemStack getTinyOxide(int aAmount) { -// if (aAmount > 64) aAmount = 64; -// return new ItemStack(Loaders.Isotope, aAmount, mID + 4000); -// } -// } diff --git a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java b/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java deleted file mode 100644 index a014abaa32..0000000000 --- a/src/main/java/goodgenerator/items/nuclear/IsotopeMaterialLoader.java +++ /dev/null @@ -1,177 +0,0 @@ -// package goodgenerator.items.nuclear; -// -// public class IsotopeMaterialLoader implements Runnable { -// -// protected static final int OffsetID = 0; -// -// public static final IsotopeMaterial Thorium232 = new IsotopeMaterial( -// OffsetID, -// "Thorium232", "Thorium", "Thorium-232", -// NuclearTextures.STABLE1, 59, 59, 59, -// 232 -// ); -// -// public static final IsotopeMaterial Thorium230 = new IsotopeMaterial( -// OffsetID + 1, -// "Thorium232", "Thorium", "Thorium-230", -// NuclearTextures.STABLE2, 59, 59, 59, -// 230 -// ); -// -// public static final IsotopeMaterial Uranium233 = new IsotopeMaterial( -// OffsetID + 2, -// "Uranium233", "Uranium", "Uranium-233", -// NuclearTextures.UNSTABLE4, 60, 167, 85, -// 233 -// ); -// -// public static final IsotopeMaterial Uranium235 = new IsotopeMaterial( -// OffsetID + 3, -// "Uranium235", "Uranium", "Uranium-235", -// NuclearTextures.UNSTABLE3, 60, 167, 85, -// 235 -// ); -// -// public static final IsotopeMaterial Uranium238 = new IsotopeMaterial( -// OffsetID + 4, -// "Uranium238", "Uranium", "Uranium-238", -// NuclearTextures.STABLE2, 60, 167, 85, -// 238 -// ); -// -// public static final IsotopeMaterial Neptunium236 = new IsotopeMaterial( -// OffsetID + 5, -// "Neptunium236", "Neptunium", "Neptunium-236", -// NuclearTextures.UNSTABLE1, 60, 170, 176, -// 236 -// ); -// -// public static final IsotopeMaterial Neptunium237 = new IsotopeMaterial( -// OffsetID + 6, -// "Neptunium237", "Neptunium", "Neptunium-237", -// NuclearTextures.STABLE2, 60, 170, 176, -// 237 -// ); -// -// public static final IsotopeMaterial Plutonium238 = new IsotopeMaterial( -// OffsetID + 7, -// "Plutonium238", "Plutonium", "Plutonium-238", -// NuclearTextures.STABLE1, 169, 169, 169, -// 238 -// ); -// -// public static final IsotopeMaterial Plutonium239 = new IsotopeMaterial( -// OffsetID + 8, -// "Plutonium239", "Plutonium", "Plutonium-239", -// NuclearTextures.UNSTABLE1, 169, 169, 169, -// 239 -// ); -// -// public static final IsotopeMaterial Plutonium241 = new IsotopeMaterial( -// OffsetID + 9, -// "Plutonium241", "Plutonium", "Plutonium-241", -// NuclearTextures.UNSTABLE2, 169, 169, 169, -// 241 -// ); -// -// public static final IsotopeMaterial Plutonium242 = new IsotopeMaterial( -// OffsetID + 10, -// "Plutonium242", "Plutonium", "Plutonium-242", -// NuclearTextures.STABLE2, 169, 169, 169, -// 242 -// ); -// -// public static final IsotopeMaterial Americium241 = new IsotopeMaterial( -// OffsetID + 11, -// "Americium241", "Americium", "Americium-241", -// NuclearTextures.STABLE1, 150, 120, 22, -// 241 -// ); -// -// public static final IsotopeMaterial Americium242 = new IsotopeMaterial( -// OffsetID + 12, -// "Americium242", "Americium", "Americium-242", -// NuclearTextures.UNSTABLE4, 150, 120, 22, -// 242 -// ); -// -// public static final IsotopeMaterial Americium243 = new IsotopeMaterial( -// OffsetID + 13, -// "Americium243", "Americium", "Americium-243", -// NuclearTextures.STABLE2, 150, 120, 22, -// 243 -// ); -// -// public static final IsotopeMaterial Curium243 = new IsotopeMaterial( -// OffsetID + 14, -// "Curium243", "Curium", "Curium-243", -// NuclearTextures.UNSTABLE1, 107, 6, 105, -// 243 -// ); -// -// public static final IsotopeMaterial Curium245 = new IsotopeMaterial( -// OffsetID + 15, -// "Curium245", "Curium", "Curium-245", -// NuclearTextures.UNSTABLE3, 107, 6, 105, -// 245 -// ); -// -// public static final IsotopeMaterial Curium246 = new IsotopeMaterial( -// OffsetID + 16, -// "Curium246", "Curium", "Curium-246", -// NuclearTextures.STABLE2, 107, 6, 105, -// 246 -// ); -// -// public static final IsotopeMaterial Curium247 = new IsotopeMaterial( -// OffsetID + 17, -// "Curium247", "Curium", "Curium-247", -// NuclearTextures.UNSTABLE4, 107, 6, 105, -// 247 -// ); -// -// public static final IsotopeMaterial Berkelium247 = new IsotopeMaterial( -// OffsetID + 18, -// "Berkelium247", "Berkelium", "Berkelium-247", -// NuclearTextures.STABLE2, 130, 54, 29, -// 247 -// ); -// -// public static final IsotopeMaterial Berkelium248 = new IsotopeMaterial( -// OffsetID + 19, -// "Berkelium248", "Berkelium", "Berkelium-248", -// NuclearTextures.UNSTABLE1, 130, 54, 29, -// 248 -// ); -// -// public static final IsotopeMaterial Californium249 = new IsotopeMaterial( -// OffsetID + 20, -// "Californium249", "Californium", "Californium-249", -// NuclearTextures.UNSTABLE2, 186, 55, 11, -// 249 -// ); -// -// public static final IsotopeMaterial Californium250 = new IsotopeMaterial( -// OffsetID + 21, -// "Californium250", "Californium", "Californium-250", -// NuclearTextures.STABLE1, 186, 55, 11, -// 250 -// ); -// -// public static final IsotopeMaterial Californium251 = new IsotopeMaterial( -// OffsetID + 22, -// "Californium251", "Californium", "Californium-251", -// NuclearTextures.UNSTABLE4, 186, 55, 11, -// 251 -// ); -// -// public static final IsotopeMaterial Californium252 = new IsotopeMaterial( -// OffsetID + 23, -// "Californium252", "Californium", "Californium-252", -// NuclearTextures.UNSTABLE1, 186, 55, 11, -// 252 -// ); -// -// @Override -// public void run() { } -// } diff --git a/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java b/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java deleted file mode 100644 index a0b71b52e5..0000000000 --- a/src/main/java/goodgenerator/items/nuclear/NuclearMetaItemGenerator.java +++ /dev/null @@ -1,110 +0,0 @@ -// package goodgenerator.items.nuclear; -// -// import com.github.bartimaeusnek.bartworks.util.Pair; -// import cpw.mods.fml.relauncher.Side; -// import cpw.mods.fml.relauncher.SideOnly; -// import goodgenerator.main.GoodGenerator; -// import gregtech.api.interfaces.IIconContainer; -// import gregtech.api.items.GT_MetaGenerated_Item; -// import gregtech.api.util.GT_LanguageManager; -// import gregtech.api.util.GT_OreDictUnificator; -// import net.minecraft.creativetab.CreativeTabs; -// import net.minecraft.item.Item; -// import net.minecraft.item.ItemStack; -// import net.minecraft.util.EnumChatFormatting; -// import net.minecraft.util.IIcon; -// -// import java.util.List; -// -// import static goodgenerator.items.nuclear.IsotopeMaterial.mIDMap; -// import static goodgenerator.items.nuclear.IsotopeMaterial.mIsotopeMaterial; -// -// public class NuclearMetaItemGenerator extends GT_MetaGenerated_Item { -// -// /** -// * <p>Full ingot - 1000 -// * <p>Tiny ingot - 2000 -// * <p>Full-Oxide - 3000 -// * <p>Tiny-Oxide - 4000 -// */ -// public static final Pair<Integer, String>[] TYPE_OFFSET = new Pair[] { -// new Pair<>(1000, "%s"), -// new Pair<>(2000, "Tiny of %s"), -// new Pair<>(3000, "%s Oxide"), -// new Pair<>(4000, "Tiny of %s Oxide"), -// }; -// public static final Pair<Integer, String>[] OREPREFIX = new Pair[] { -// new Pair<>(1000, "item%s"), -// new Pair<>(2000, "itemTiny%s"), -// new Pair<>(3000, "item%sOxide"), -// new Pair<>(4000, "itemTiny%sOxide"), -// }; -// -// public NuclearMetaItemGenerator() { -// super("nuclearIsotopeMaterial", (short) 32766, (short) 0); -// this.setCreativeTab(GoodGenerator.GG); -// for (IsotopeMaterial tIsotope : mIsotopeMaterial) { -// for (Pair<Integer, String> tType : TYPE_OFFSET) { -// int tOffset = tType.getKey(); -// String tOreName = tType.getValue(); -// ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + tOffset); -// GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".name", -// String.format(tOreName, tIsotope.mLocalizedName)); -// GT_LanguageManager.addStringLocalization(this.getUnlocalizedName(tStack) + ".tooltip", -// EnumChatFormatting.AQUA + String.format("%s's Isotope.", tIsotope.mMaterialName) + EnumChatFormatting.RESET); -// } -// for (Pair<Integer, String> tOreDict : OREPREFIX) { -// int tOffset = tOreDict.getKey(); -// String tOreName = tOreDict.getValue(); -// ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + tOffset); -// GT_OreDictUnificator.registerOre(String.format(tOreName, tIsotope.mName), tStack); -// } -// } -// } -// -// @Override -// public String getItemStackDisplayName(ItemStack aStack) { -// return GT_LanguageManager.getTranslation(this.getUnlocalizedName(aStack) + ".name"); -// } -// -// @Override -// public IIconContainer getIconContainer(int aMetaData) { -// int tID = aMetaData % 1000; -// int tType = aMetaData / 1000 - 1; -// IsotopeMaterial tMaterial = mIDMap.get(tID); -// if (tMaterial != null) { -// return tMaterial.mTexture.mTextures[tType]; -// } -// return null; -// } -// -// @Override -// @SideOnly(Side.CLIENT) -// public void getSubItems(Item var1, CreativeTabs aCreativeTab, List aList) { -// for (IsotopeMaterial tIsotope : mIsotopeMaterial) { -// for (int i = 1; i <= 4; i ++) { -// ItemStack tStack = new ItemStack(this, 1, tIsotope.mID + i * 1000); -// aList.add(tStack); -// } -// } -// } -// -// @Override -// public short[] getRGBa(ItemStack aStack) { -// int tID = aStack.getItemDamage() % 1000; -// int tType = aStack.getItemDamage() / 1000; -// IsotopeMaterial tMaterial = mIDMap.get(tID); -// if (tMaterial != null) { -// if (tType == 1 || tType == 2) -// return tMaterial.mRGB; -// else -// return tMaterial.mRGBO; -// } -// return null; -// } -// -// @Override -// public final IIcon getIconFromDamage(int aMetaData) { -// return this.getIconContainer(aMetaData).getIcon(); -// } -// } diff --git a/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java b/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java deleted file mode 100644 index 63314044cf..0000000000 --- a/src/main/java/goodgenerator/items/nuclear/NuclearTextures.java +++ /dev/null @@ -1,31 +0,0 @@ -// package goodgenerator.items.nuclear; -// -// import gregtech.api.enums.Textures; -// import gregtech.api.interfaces.IIconContainer; -// -// public class NuclearTextures { -// public static final NuclearTextures -// STABLE1 = new NuclearTextures("stable1"), -// STABLE2 = new NuclearTextures("stable2"), -// UNSTABLE1 = new NuclearTextures("unstable1"), -// UNSTABLE2 = new NuclearTextures("unstable2"), -// UNSTABLE3 = new NuclearTextures("unstable3"), -// UNSTABLE4 = new NuclearTextures("unstable4"); -// -// public final IIconContainer[] mTextures = new IIconContainer[4]; -// public final String mSetName; -// public static final String mTextureDir = "icons/isotope/"; -// public static final int -// FULL = 0, -// TINY = 1, -// FULL_OXIDE = 2, -// TINY_OXIDE = 3; -// -// public NuclearTextures(String aName) { -// mSetName = aName; -// mTextures[0] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName); -// mTextures[1] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName + "tiny"); -// mTextures[2] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName); -// mTextures[3] = new Textures.ItemIcons.CustomIcon(mTextureDir + aName + "tiny"); -// } -// } diff --git a/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java b/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java index f1b16089d9..a37b1ac329 100644 --- a/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java @@ -3,6 +3,7 @@ package goodgenerator.loader; import static goodgenerator.util.StackUtils.getTotalItems; import static goodgenerator.util.StackUtils.mergeStacks; import static goodgenerator.util.StackUtils.multiplyAndSplitIntoStacks; +import static gregtech.api.util.GT_RecipeConstants.COAL_CASING_TIER; import java.util.ArrayList; import java.util.Arrays; @@ -20,7 +21,7 @@ import net.minecraftforge.oredict.OreDictionary; import org.apache.commons.lang3.tuple.Pair; -import goodgenerator.util.MyRecipeAdder; +import goodgenerator.api.recipe.GoodGeneratorRecipeMaps; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -107,14 +108,17 @@ public class ComponentAssemblyLineRecipeLoader { replaceIntoFluids(fixedInputs, fixedFluids, 64); int tier = info.getRight(); int energy = (int) Math.min(Integer.MAX_VALUE - 7, GT_Values.VP[tier - 1]); - MyRecipeAdder.instance.addComponentAssemblyLineRecipe( - fixedInputs.toArray(new ItemStack[0]), - fixedFluids.toArray(new FluidStack[0]), - info.getLeft() - .get(OUTPUT_MULTIPLIER), - recipe.mDuration * INPUT_MULTIPLIER, - energy, - info.getRight()); + GT_Values.RA.stdBuilder() + .itemInputs(fixedInputs.toArray(new ItemStack[0])) + .itemOutputs( + info.getLeft() + .get(OUTPUT_MULTIPLIER)) + .fluidInputs(fixedFluids.toArray(new FluidStack[0])) + .duration(recipe.mDuration * INPUT_MULTIPLIER) + .eut(energy) + .metadata(COAL_CASING_TIER, info.getRight()) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.componentAssemblyLineRecipes); } } }); @@ -173,14 +177,17 @@ public class ComponentAssemblyLineRecipeLoader { if (addProgrammedCircuit) fixedInputs.add(GT_Utility.getIntegratedCircuit(componentCircuit)); addEternityForMHDCSM(fixedFluids); - MyRecipeAdder.instance.addComponentAssemblyLineRecipe( - fixedInputs.toArray(new ItemStack[0]), - fixedFluids.toArray(new FluidStack[0]), - info.getLeft() - .get(OUTPUT_MULTIPLIER), // The component output - recipe.mDuration * INPUT_MULTIPLIER, // Takes as long as this many - recipe.mEUt, - info.getRight()); // Casing tier + GT_Values.RA.stdBuilder() + .itemInputs(fixedInputs.toArray(new ItemStack[0])) + .itemOutputs( + info.getLeft() + .get(OUTPUT_MULTIPLIER)) + .fluidInputs(fixedFluids.toArray(new FluidStack[0])) + .duration(recipe.mDuration * INPUT_MULTIPLIER) + .eut(recipe.mEUt) + .metadata(COAL_CASING_TIER, info.getRight()) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.componentAssemblyLineRecipes); // Add a second recipe using Styrene-Butadiene // Rubber instead of Silicone Rubber. @@ -188,14 +195,17 @@ public class ComponentAssemblyLineRecipeLoader { // @allSyntheticRubber so it's quite fragile, but // it's also the least invasive change. if (swapSiliconeForStyreneButadiene(fixedFluids)) { - MyRecipeAdder.instance.addComponentAssemblyLineRecipe( - fixedInputs.toArray(new ItemStack[0]), - fixedFluids.toArray(new FluidStack[0]), - info.getLeft() - .get(OUTPUT_MULTIPLIER), // The component output - recipe.mDuration * INPUT_MULTIPLIER, // Takes as long as this many - recipe.mEUt, - info.getRight()); // Casing tier + GT_Values.RA.stdBuilder() + .itemInputs(fixedInputs.toArray(new ItemStack[0])) + .itemOutputs( + info.getLeft() + .get(OUTPUT_MULTIPLIER)) + .fluidInputs(fixedFluids.toArray(new FluidStack[0])) + .duration(recipe.mDuration * INPUT_MULTIPLIER) + .eut(recipe.mEUt) + .metadata(COAL_CASING_TIER, info.getRight()) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.componentAssemblyLineRecipes); } } } diff --git a/src/main/java/goodgenerator/loader/FuelRecipeLoader.java b/src/main/java/goodgenerator/loader/FuelRecipeLoader.java index 7a4f913521..c233f96ec0 100644 --- a/src/main/java/goodgenerator/loader/FuelRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/FuelRecipeLoader.java @@ -1,10 +1,14 @@ package goodgenerator.loader; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.naquadahFuelRefineFactoryRecipes; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.naquadahReactorFuels; import static goodgenerator.main.GG_Config_Loader.NaquadahFuelTime; import static goodgenerator.main.GG_Config_Loader.NaquadahFuelVoltage; import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.LNG_BASIC_OUTPUT; +import static gregtech.api.util.GT_RecipeConstants.NFR_COIL_TIER; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -12,7 +16,7 @@ import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import goodgenerator.items.MyMaterial; import goodgenerator.util.ItemRefer; -import goodgenerator.util.MyRecipeAdder; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; @@ -23,147 +27,158 @@ import gtPlusPlus.core.material.ELEMENT; public class FuelRecipeLoader { public static void RegisterFuel() { - // MyRecipeAdder.instance.addLiquidMentalFuel(Materials.NaquadahEnriched.getMolten(1L),Materials.Naquadah.getMolten(1L),32768,100); - // MyRecipeAdder.instance.addLiquidMentalFuel(Materials.Naquadria.getMolten(1L),Materials.Naquadah.getMolten(1L),262144,120); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.uraniumBasedLiquidFuelExcited.getFluidOrGas(1), - MyMaterial.uraniumBasedLiquidFuelDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[0], - NaquadahFuelTime[0]); - MyRecipeAdder.instance.addLiquidMentalFuel( + FluidStack[] inputs = new FluidStack[] { MyMaterial.uraniumBasedLiquidFuelExcited.getFluidOrGas(1), MyMaterial.thoriumBasedLiquidFuelExcited.getFluidOrGas(1), - MyMaterial.thoriumBasedLiquidFuelDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[1], - NaquadahFuelTime[1]); - MyRecipeAdder.instance.addLiquidMentalFuel( MyMaterial.plutoniumBasedLiquidFuelExcited.getFluidOrGas(1), + MyMaterial.naquadahBasedFuelMkI.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkII.getFluidOrGas(1), + MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(1), + MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(1) }; + + FluidStack[] outputs = new FluidStack[] { MyMaterial.uraniumBasedLiquidFuelDepleted.getFluidOrGas(1), + MyMaterial.thoriumBasedLiquidFuelDepleted.getFluidOrGas(1), MyMaterial.plutoniumBasedLiquidFuelDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[2], - NaquadahFuelTime[2]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkI.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[3], - NaquadahFuelTime[3]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkII.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIIDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[4], - NaquadahFuelTime[4]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIIIDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[5], - NaquadahFuelTime[5]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkIVDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[6], - NaquadahFuelTime[6]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(1), MyMaterial.naquadahBasedFuelMkVDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[7], - NaquadahFuelTime[7]); - MyRecipeAdder.instance.addLiquidMentalFuel( - MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(1), - MyMaterial.naquadahBasedFuelMkVIDepleted.getFluidOrGas(1), - NaquadahFuelVoltage[8], - NaquadahFuelTime[8]); + MyMaterial.naquadahBasedFuelMkVIDepleted.getFluidOrGas(1) }; + for (int i = 0; i < 9; i++) { + GT_Values.RA.stdBuilder() + .fluidInputs(inputs[i]) + .fluidOutputs(outputs[i]) + .duration(NaquadahFuelTime[i]) + .eut(0) + .metadata(LNG_BASIC_OUTPUT, NaquadahFuelVoltage[i]) + .addTo(naquadahReactorFuels); + } + // MK III Naquadah Fuel - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), - MyMaterial.lightNaquadahFuel.getFluidOrGas(1000), }, - new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 4), - WerkstoffLoader.Tiberium.get(OrePrefixes.dust, 27), ItemRefer.High_Density_Uranium.get(2), - ItemRefer.High_Density_Plutonium.get(1), }, - MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(100), - 1100000, - 100, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 4), + WerkstoffLoader.Tiberium.get(OrePrefixes.dust, 27), + ItemRefer.High_Density_Uranium.get(2), + ItemRefer.High_Density_Plutonium.get(1)) + .fluidInputs( + MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), + MyMaterial.lightNaquadahFuel.getFluidOrGas(1000)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(100)) + .duration(5 * SECONDS) + .eut(1_100_000) + .metadata(NFR_COIL_TIER, 1) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // Alternative higher tier recipe - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), - MyMaterial.lightNaquadahFuel.getFluidOrGas(1000), }, - new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 8), + GT_Values.RA.stdBuilder() + .itemInputs( + MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 8), GT_ModHandler.getModItem(GTPlusPlus.ID, "itemDustChromaticGlass", 9), - ItemRefer.High_Density_Uranium.get(2), ItemRefer.High_Density_Plutonium.get(1), }, - MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(200), - 2100000, - 100, - 1); + ItemRefer.High_Density_Uranium.get(2), + ItemRefer.High_Density_Plutonium.get(1)) + .fluidInputs( + MyMaterial.heavyNaquadahFuel.getFluidOrGas(800), + MyMaterial.lightNaquadahFuel.getFluidOrGas(1000)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(200)) + .duration(5 * SECONDS) + .eut(2_100_000) + .metadata(NFR_COIL_TIER, 1) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); + // MK IV Naquadah Fuel - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), - Materials.Praseodymium.getMolten(9216L) }, - new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 27), + GT_Values.RA.stdBuilder() + .itemInputs( + MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 27), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherStar, 64), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DraconiumAwakened, 64), - MyMaterial.orundum.get(OrePrefixes.dust, 32), }, - MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(250), - 46000000, - 160, - 2); + MyMaterial.orundum.get(OrePrefixes.dust, 32)) + .fluidInputs(MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), Materials.Praseodymium.getMolten(9216L)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(250)) + .duration(8 * SECONDS) + .eut(46_000_000) + .metadata(NFR_COIL_TIER, 2) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // Alternate higher tier recipe - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), - new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 1440) }, - new ItemStack[] { MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 27), + GT_Values.RA.stdBuilder() + .itemInputs( + MyMaterial.extremelyUnstableNaquadah.get(OrePrefixes.dust, 27), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bedrockium, 64), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DraconiumAwakened, 64), - MyMaterial.orundum.get(OrePrefixes.dust, 64), }, - MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(500), - 75000000, - 160, - 2); + MyMaterial.orundum.get(OrePrefixes.dust, 64)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkIII.getFluidOrGas(2000), + new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 1440)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(500)) + .duration(8 * SECONDS) + .eut(75_000_000) + .metadata(NFR_COIL_TIER, 2) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // MK V Naquadah Fuel - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(2000), - FluidRegistry.getFluidStack("heavyradox", 1000), }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 16), - MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 32), }, - MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(500), - 100000000, - 200, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 16), + MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 32)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(2000), + FluidRegistry.getFluidStack("heavyradox", 1000)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(500)) + .duration(100_000_000) + .eut(10 * SECONDS) + .metadata(NFR_COIL_TIER, 2) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // Alternate higher tier recipe - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(2000), - FluidRegistry.getFluidStack("heavyradox", 1000), }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.SpaceTime, 8), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.SpaceTime, 8), GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.TranscendentMetal, 16), - MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 48), }, - MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(750), - 300000000, - 200, - 3); + MyMaterial.atomicSeparationCatalyst.get(OrePrefixes.dust, 48)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkIV.getFluidOrGas(2000), + FluidRegistry.getFluidStack("heavyradox", 1000)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(750)) + .duration(10 * SECONDS) + .eut(300_000_000) + .metadata(NFR_COIL_TIER, 3) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // MK VI Naquadah Fuel - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(2000), - FluidRegistry.getFluidStack("molten.shirabon", 1440), }, - new ItemStack[] { ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(64), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tritanium, 32), }, - MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(500), - 320000000, - 240, - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(64), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tritanium, 32)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(2000), + FluidRegistry.getFluidStack("molten.shirabon", 1440)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(500)) + .duration(12 * SECONDS) + .eut(320_000_000) + .metadata(NFR_COIL_TIER, 3) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); // Alternate higher tier recipe - MyRecipeAdder.instance.addNaquadahFuelRefineRecipe( - new FluidStack[] { MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(2000), - FluidRegistry.getFluidStack("molten.shirabon", 1440), }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.WhiteDwarfMatter, 8), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.WhiteDwarfMatter, 8), ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(64), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tritanium, 48), }, - MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(750), - 530000000, - 240, - 4); - + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tritanium, 48)) + .fluidInputs( + MyMaterial.naquadahBasedFuelMkV.getFluidOrGas(2000), + FluidRegistry.getFluidStack("molten.shirabon", 1440)) + .fluidOutputs(MyMaterial.naquadahBasedFuelMkVI.getFluidOrGas(750)) + .duration(12 * SECONDS) + .eut(530_000_000) + .metadata(NFR_COIL_TIER, 4) + .noOptimize() + .addTo(naquadahFuelRefineFactoryRecipes); } } diff --git a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java index 9b28bb91fe..2354ec61c2 100644 --- a/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/NaquadahReworkRecipeLoader.java @@ -1,5 +1,6 @@ package goodgenerator.loader; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.neutronActivatorRecipes; import static goodgenerator.items.MyMaterial.P507; import static goodgenerator.items.MyMaterial.adamantine; import static goodgenerator.items.MyMaterial.concentratedEnrichedNaquadahSludge; @@ -34,6 +35,7 @@ import static goodgenerator.items.MyMaterial.towEthyl1Hexanol; import static goodgenerator.items.MyMaterial.triniumSulphate; import static goodgenerator.items.MyMaterial.wasteLiquid; import static goodgenerator.main.GG_Config_Loader.EnableNaquadahRework; +import static goodgenerator.util.MyRecipeAdder.computeRangeNKE; import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; @@ -47,8 +49,11 @@ import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; +import static gregtech.api.util.GT_RecipeConstants.NKE_RANGE; +import static gregtech.api.util.GT_RecipeConstants.QFT_FOCUS_TIER; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import static gregtech.common.items.GT_MetaGenerated_Item_01.registerCauldronCleaningFor; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.quantumForceTransformerRecipes; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -76,7 +81,6 @@ import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import goodgenerator.main.GoodGenerator; import goodgenerator.util.CrackRecipeAdder; import goodgenerator.util.ItemRefer; -import goodgenerator.util.MyRecipeAdder; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -91,7 +95,6 @@ import gregtech.common.items.CombType; import gregtech.loaders.misc.GT_Bees; import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; public class NaquadahReworkRecipeLoader { @@ -101,68 +104,97 @@ public class NaquadahReworkRecipeLoader { try { // Naquadah (UEV) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { naquadahEarth.get(OrePrefixes.dust, 32), Materials.Sodium.getDust(64), - Materials.Carbon.getDust(1), GT_Utility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst) }, - new FluidStack[] { Materials.Hydrogen.getGas(64000L), Materials.Fluorine.getGas(64000L), - Materials.Oxygen.getGas(100L) }, - new FluidStack[] {}, - new ItemStack[] { inertNaquadah.get(OrePrefixes.dust, 1), Materials.Titanium.getDust(64), - Materials.Adamantium.getDust(64), Materials.Gallium.getDust(64) }, - new int[] { 2500, 2500, 2500, 2500 }, - 10 * 20, - (int) GT_Values.VP[10], - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + naquadahEarth.get(OrePrefixes.dust, 32), + Materials.Sodium.getDust(64), + Materials.Carbon.getDust(1), + GT_Utility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst)) + .itemOutputs( + inertNaquadah.get(OrePrefixes.dust, 1), + Materials.Titanium.getDust(64), + Materials.Adamantium.getDust(64), + Materials.Gallium.getDust(64)) + .outputChances(2500, 2500, 2500, 2500) + .fluidInputs( + Materials.Hydrogen.getGas(64000L), + Materials.Fluorine.getGas(64000L), + Materials.Oxygen.getGas(100L)) + .duration(10 * SECONDS) + .eut(GT_Values.VP[10]) + .metadata(QFT_FOCUS_TIER, 2) + .addTo(quantumForceTransformerRecipes); // Enriched Naquadah (UIV) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { enrichedNaquadahEarth.get(OrePrefixes.dust, 32), Materials.Zinc.getDust(64), - Materials.Carbon.getDust(1), GT_Utility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst) }, - new FluidStack[] { Materials.SulfuricAcid.getFluid(16000), Materials.Oxygen.getGas(100L) }, - new FluidStack[] { wasteLiquid.getFluidOrGas(32000) }, - new ItemStack[] { inertEnrichedNaquadah.get(OrePrefixes.dust, 1), Materials.Trinium.getDust(64), }, - new int[] { 3300, 3300, 3300 }, - 10 * 20, - (int) GT_Values.VP[11], - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + enrichedNaquadahEarth.get(OrePrefixes.dust, 32), + Materials.Zinc.getDust(64), + Materials.Carbon.getDust(1), + GT_Utility.copyAmount(0, GenericChem.mSimpleNaquadahCatalyst)) + .itemOutputs(inertEnrichedNaquadah.get(OrePrefixes.dust, 1), Materials.Trinium.getDust(64)) + .outputChances(3300, 3300, 3300) + .fluidInputs(Materials.SulfuricAcid.getFluid(16000), Materials.Oxygen.getGas(100L)) + .fluidOutputs(wasteLiquid.getFluidOrGas(32000)) + .duration(10 * SECONDS) + .eut(GT_Values.VP[11]) + .metadata(QFT_FOCUS_TIER, 2) + .addTo(quantumForceTransformerRecipes); // Naquadria (UMV) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { naquadriaEarth.get(OrePrefixes.dust, 32), Materials.Magnesium.getDust(64), - GT_Utility.copyAmount(0, GenericChem.mAdvancedNaquadahCatalyst) }, - new FluidStack[] { Materials.PhosphoricAcid.getFluid(16000), Materials.SulfuricAcid.getFluid(16000), - Materials.Oxygen.getGas(100L) }, - new FluidStack[] {}, - new ItemStack[] { inertNaquadria.get(OrePrefixes.dust, 1), Materials.Barium.getDust(64), - Materials.Indium.getDust(64), ItemList.NaquadriaSupersolid.get(1) }, - new int[] { 2500, 2500, 2500, 2500 }, - 5 * 20, - (int) GT_Values.VP[12], - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + naquadriaEarth.get(OrePrefixes.dust, 32), + Materials.Magnesium.getDust(64), + GT_Utility.copyAmount(0, GenericChem.mAdvancedNaquadahCatalyst)) + .itemOutputs( + inertNaquadria.get(OrePrefixes.dust, 1), + Materials.Barium.getDust(64), + Materials.Indium.getDust(64), + ItemList.NaquadriaSupersolid.get(1)) + .outputChances(2500, 2500, 2500, 2500) + .fluidInputs( + Materials.PhosphoricAcid.getFluid(16000), + Materials.SulfuricAcid.getFluid(16000), + Materials.Oxygen.getGas(100L)) + .duration(5 * SECONDS) + .eut(GT_Values.VP[12]) + .metadata(QFT_FOCUS_TIER, 3) + .addTo(quantumForceTransformerRecipes); + // Activate Them - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { Materials.Nickel.getPlasma(144 * 16) }, - new ItemStack[] { inertNaquadah.get(OrePrefixes.dust, 64), inertNaquadah.get(OrePrefixes.dust, 32) }, - new FluidStack[] { Materials.Naquadah.getMolten(144 * 9216) }, - new ItemStack[] { Materials.Nickel.getDust(16) }, - 2000, - 600, - 500); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { Materials.Titanium.getPlasma(16 * 144) }, - new ItemStack[] { inertEnrichedNaquadah.get(OrePrefixes.dust, 64), - inertEnrichedNaquadah.get(OrePrefixes.dust, 32) }, - new FluidStack[] { Materials.NaquadahEnriched.getMolten(144 * 9216) }, - new ItemStack[] { Materials.Titanium.getDust(16) }, - 2000, - 900, - 850); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { Materials.Americium.getPlasma(144 * 16) }, - new ItemStack[] { inertNaquadria.get(OrePrefixes.dust, 64), inertNaquadria.get(OrePrefixes.dust, 32) }, - new FluidStack[] { Materials.Naquadria.getMolten(144 * 9216) }, - new ItemStack[] { Materials.Americium.getDust(16) }, - 2000, - 1100, - 1080); + + GT_Values.RA.stdBuilder() + .itemInputs(inertNaquadah.get(OrePrefixes.dust, 64), inertNaquadah.get(OrePrefixes.dust, 32)) + .itemOutputs(Materials.Nickel.getDust(16)) + .fluidInputs(Materials.Nickel.getPlasma(144 * 16)) + .fluidOutputs(Materials.Naquadah.getMolten(144 * 9216)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(600, 500)) + .noOptimize() + .addTo(neutronActivatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + inertEnrichedNaquadah.get(OrePrefixes.dust, 64), + inertEnrichedNaquadah.get(OrePrefixes.dust, 32)) + .itemOutputs(Materials.Titanium.getDust(16)) + .fluidInputs(Materials.Titanium.getPlasma(16 * 144)) + .fluidOutputs(Materials.NaquadahEnriched.getMolten(144 * 9216)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(900, 850)) + .noOptimize() + .addTo(neutronActivatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(inertNaquadria.get(OrePrefixes.dust, 64), inertNaquadria.get(OrePrefixes.dust, 32)) + .itemOutputs(Materials.Americium.getDust(16)) + .fluidInputs(Materials.Americium.getPlasma(144 * 16)) + .fluidOutputs(Materials.Naquadria.getMolten(144 * 9216)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(1100, 1080)) + .noOptimize() + .addTo(neutronActivatorRecipes); + } catch (Throwable t) { // Cry about it } @@ -252,15 +284,18 @@ public class NaquadahReworkRecipeLoader { 15 * SECONDS, TierEU.RECIPE_HV); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { naquadahAdamantiumSolution.getFluidOrGas(3000) }, - null, - new FluidStack[] { naquadahRichSolution.getFluidOrGas(2000) }, - new ItemStack[] { adamantine.get(OrePrefixes.dust, 4), naquadahEarth.get(OrePrefixes.dust, 2), - concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 1) }, - 100, - 230, - 200); + GT_Values.RA.stdBuilder() + .itemOutputs( + adamantine.get(OrePrefixes.dust, 4), + naquadahEarth.get(OrePrefixes.dust, 2), + concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 1)) + .fluidInputs(naquadahAdamantiumSolution.getFluidOrGas(3000)) + .fluidOutputs(naquadahRichSolution.getFluidOrGas(2000)) + .duration(5 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(230, 200)) + .noOptimize() + .addTo(neutronActivatorRecipes); GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 27)) @@ -326,19 +361,21 @@ public class NaquadahReworkRecipeLoader { .eut(TierEU.RECIPE_HV) .addTo(autoclaveRecipes); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - null, - new ItemStack[] { concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 16), }, - null, - new ItemStack[] { enrichedNaquadahSulphate.get(OrePrefixes.dust, 64), - enrichedNaquadahSulphate.get(OrePrefixes.dust, 64), enrichedNaquadahSulphate.get(OrePrefixes.dust, 37), + GT_Values.RA.stdBuilder() + .itemInputs(concentratedEnrichedNaquadahSludge.get(OrePrefixes.dust, 16)) + .itemOutputs( + enrichedNaquadahSulphate.get(OrePrefixes.dust, 64), + enrichedNaquadahSulphate.get(OrePrefixes.dust, 64), + enrichedNaquadahSulphate.get(OrePrefixes.dust, 37), WerkstoffLoader.Sodiumsulfate.get(OrePrefixes.dust, 64), WerkstoffLoader.Sodiumsulfate.get(OrePrefixes.dust, 64), WerkstoffLoader.Sodiumsulfate.get(OrePrefixes.dust, 12), - lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 2), }, - 120, - 480, - 460); + lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 2)) + .duration(6 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(480, 460)) + .noOptimize() + .addTo(neutronActivatorRecipes); // Nq+(SO4)2 + 2Zn = Nq+ + 2ZnSO4 GT_Values.RA.stdBuilder() @@ -406,15 +443,16 @@ public class NaquadahReworkRecipeLoader { .eut(TierEU.RECIPE_IV) .addTo(UniversalChemical); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { naquadriaRichSolution.getFluidOrGas(9000) }, - null, - null, - new ItemStack[] { naquadriaSulphate.get(OrePrefixes.dust, 44), - lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 6) }, - 100, - 1100, - 1050); + GT_Values.RA.stdBuilder() + .itemOutputs( + naquadriaSulphate.get(OrePrefixes.dust, 44), + lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 6)) + .fluidInputs(naquadriaRichSolution.getFluidOrGas(9000)) + .duration(5 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(1100, 1050)) + .noOptimize() + .addTo(neutronActivatorRecipes); GT_Values.RA.stdBuilder() .itemInputs(lowQualityNaquadriaSulphate.get(OrePrefixes.dust, 3), Materials.Water.getCells(3)) diff --git a/src/main/java/goodgenerator/loader/NeutronActivatorLoader.java b/src/main/java/goodgenerator/loader/NeutronActivatorLoader.java index 09c2f9ae47..6e07c53235 100644 --- a/src/main/java/goodgenerator/loader/NeutronActivatorLoader.java +++ b/src/main/java/goodgenerator/loader/NeutronActivatorLoader.java @@ -1,16 +1,18 @@ package goodgenerator.loader; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.neutronActivatorRecipes; import static goodgenerator.items.MyMaterial.plutoniumBasedLiquidFuel; import static goodgenerator.items.MyMaterial.plutoniumBasedLiquidFuelExcited; import static goodgenerator.items.MyMaterial.thoriumBasedLiquidFuelDepleted; import static goodgenerator.items.MyMaterial.thoriumBasedLiquidFuelExcited; import static goodgenerator.items.MyMaterial.uraniumBasedLiquidFuel; import static goodgenerator.items.MyMaterial.uraniumBasedLiquidFuelExcited; +import static goodgenerator.util.MyRecipeAdder.computeRangeNKE; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.NKE_RANGE; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import goodgenerator.util.MyRecipeAdder; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_OreDictUnificator; @@ -19,33 +21,32 @@ import gregtech.api.util.GT_Utility; public class NeutronActivatorLoader { public static void NARecipeLoad() { - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { thoriumBasedLiquidFuelExcited.getFluidOrGas(200) }, - null, - new FluidStack[] { thoriumBasedLiquidFuelDepleted.getFluidOrGas(200) }, - null, - 10000, - 700, - 500); - - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { uraniumBasedLiquidFuel.getFluidOrGas(100) }, - new ItemStack[] { - GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tungsten, 1)) }, - new FluidStack[] { uraniumBasedLiquidFuelExcited.getFluidOrGas(100) }, - null, - 80, - 550, - 450); + GT_Values.RA.stdBuilder() + .fluidInputs(thoriumBasedLiquidFuelExcited.getFluidOrGas(200)) + .fluidOutputs(thoriumBasedLiquidFuelDepleted.getFluidOrGas(200)) + .duration(8 * MINUTES + 20 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(700, 500)) + .noOptimize() + .addTo(neutronActivatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tungsten, 1))) + .fluidInputs(uraniumBasedLiquidFuel.getFluidOrGas(100)) + .fluidOutputs(uraniumBasedLiquidFuelExcited.getFluidOrGas(100)) + .duration(4 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(550, 450)) + .noOptimize() + .addTo(neutronActivatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 1))) + .fluidInputs(plutoniumBasedLiquidFuel.getFluidOrGas(100)) + .fluidOutputs(plutoniumBasedLiquidFuelExcited.getFluidOrGas(100)) + .duration(4 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(600, 500)) + .noOptimize() + .addTo(neutronActivatorRecipes); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - new FluidStack[] { plutoniumBasedLiquidFuel.getFluidOrGas(100) }, - new ItemStack[] { - GT_Utility.copyAmount(0, GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 1)) }, - new FluidStack[] { plutoniumBasedLiquidFuelExcited.getFluidOrGas(100) }, - null, - 80, - 600, - 500); } } diff --git a/src/main/java/goodgenerator/loader/RecipeLoader.java b/src/main/java/goodgenerator/loader/RecipeLoader.java index 9360eac50c..5e7450614c 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader.java @@ -24,6 +24,7 @@ import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; +import static gregtech.api.util.GT_RecipeConstants.PRECISE_ASSEMBLER_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; @@ -36,11 +37,11 @@ import net.minecraftforge.fluids.FluidStack; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; +import goodgenerator.api.recipe.GoodGeneratorRecipeMaps; import goodgenerator.items.MyMaterial; import goodgenerator.util.CrackRecipeAdder; import goodgenerator.util.ItemRefer; import goodgenerator.util.MaterialFix; -import goodgenerator.util.MyRecipeAdder; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -957,14 +958,19 @@ public class RecipeLoader { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.PolyvinylChloride, 1), 'C', GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Plastic, 1), 'D', "dyeCyan" }); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemList.Circuit_Board_Coated_Basic.get(1), ItemList.Circuit_Chip_ULPIC.get(1), - ItemList.ULV_Coil.get(2), ItemList.Battery_RE_ULV_Tantalum.get(1) }, - new FluidStack[] { Materials.RedAlloy.getMolten(144), Materials.Aluminium.getMolten(144) }, - ItemRefer.Micro_Heater.get(1), - 120, - 40, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Board_Coated_Basic.get(1), + ItemList.Circuit_Chip_ULPIC.get(1), + ItemList.ULV_Coil.get(2), + ItemList.Battery_RE_ULV_Tantalum.get(1)) + .itemOutputs(ItemRefer.Micro_Heater.get(1)) + .fluidInputs(Materials.RedAlloy.getMolten(144), Materials.Aluminium.getMolten(144)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.preciseAssemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -989,14 +995,19 @@ public class RecipeLoader { .eut(TierEU.RECIPE_LV) .addTo(autoclaveRecipes); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.Quartz_Wafer.get(1), ItemRefer.Special_Ceramics_Plate.get(2), - ItemRefer.Micro_Heater.get(1), ItemList.Circuit_Chip_ILC.get(4) }, - new FluidStack[] { Materials.EnergeticAlloy.getMolten(72), Materials.Silver.getMolten(18) }, - ItemRefer.Quartz_Crystal_Resonator.get(1), - 480, - 40, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.Quartz_Wafer.get(1), + ItemRefer.Special_Ceramics_Plate.get(2), + ItemRefer.Micro_Heater.get(1), + ItemList.Circuit_Chip_ILC.get(4)) + .itemOutputs(ItemRefer.Quartz_Crystal_Resonator.get(1)) + .fluidInputs(Materials.EnergeticAlloy.getMolten(72), Materials.Silver.getMolten(18)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.preciseAssemblerRecipes); for (Materials tMat : solderingMats) { int tMultiplier = tMat.contains(SubTag.SOLDERING_MATERIAL_GOOD) ? 1 @@ -1185,13 +1196,15 @@ public class RecipeLoader { GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Steel, 1), 'U', ItemRefer.High_Density_Uranium.get(1) }); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T2.get(2), ItemList.Emitter_EV.get(2), ItemRefer.Neutron_Source.get(1) }, - new FluidStack[] { Materials.StainlessSteel.getMolten(576), Materials.TungstenCarbide.getMolten(144) }, - Loaders.NA.copy(), - 7680, - 100, - 1); + GT_Values.RA.stdBuilder() + .itemInputs(ItemRefer.HiC_T2.get(2), ItemList.Emitter_EV.get(2), ItemRefer.Neutron_Source.get(1)) + .itemOutputs(Loaders.NA.copy()) + .fluidInputs(Materials.StainlessSteel.getMolten(576), Materials.TungstenCarbide.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(GoodGeneratorRecipeMaps.preciseAssemblerRecipes); } public static void InitLoadRecipe() { diff --git a/src/main/java/goodgenerator/loader/RecipeLoader_02.java b/src/main/java/goodgenerator/loader/RecipeLoader_02.java index 42568330bf..80e564a000 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader_02.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader_02.java @@ -1,6 +1,9 @@ package goodgenerator.loader; import static com.github.technus.tectech.loader.recipe.BaseRecipeLoader.getItemContainer; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.neutronActivatorRecipes; +import static goodgenerator.api.recipe.GoodGeneratorRecipeMaps.preciseAssemblerRecipes; +import static goodgenerator.util.MyRecipeAdder.computeRangeNKE; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; @@ -26,11 +29,12 @@ import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; +import static gregtech.api.util.GT_RecipeConstants.NKE_RANGE; +import static gregtech.api.util.GT_RecipeConstants.PRECISE_ASSEMBLER_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -1179,91 +1183,157 @@ public class RecipeLoader_02 { .eut(TierEU.RECIPE_IV) .addTo(assemblerRecipes); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T1.get(2), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_ZPM.get(3), + ItemList.Robot_Arm_EV.get(2), + GT_OreDictUnificator.get(OrePrefixes.cableGt04, MyMaterial.lumiium.getBridgeMaterial(), 2), + MyMaterial.marCeM200.get(OrePrefixes.plateDouble, 2), + ItemRefer.HiC_T1.get(1), + MyMaterial.signalium.get(OrePrefixes.bolt, 32), + MyMaterial.titaniumBetaC.get(OrePrefixes.gearGtSmall, 8)) + .fluidInputs(Materials.BlackSteel.getMolten(576)) + .itemOutputs(ItemRefer.Precise_Electronic_Unit_T1.get(2)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.HiC_T1.get(2), GT_ModHandler.getModItem("dreamcraft", "item.EngravedDiamondCrystalChip", 8), - ItemList.Circuit_Chip_NAND.get(16), GT_ModHandler.getIC2Item("reactorVentCore", 1L, 1) }, - new FluidStack[] { Materials.Plastic.getMolten(288), MyMaterial.signalium.getMolten(144), - MyMaterial.lumiium.getMolten(72), Materials.Enderium.getMolten(72) }, - ItemRefer.HiC_T2.get(1), - 30720, - 100, - 1); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T1.get(2), + ItemList.Circuit_Chip_NAND.get(16), + GT_ModHandler.getIC2Item("reactorVentCore", 1L, 1)) + .itemOutputs(ItemRefer.HiC_T2.get(1)) + .fluidInputs( + Materials.Plastic.getMolten(288), + MyMaterial.signalium.getMolten(144), + MyMaterial.lumiium.getMolten(72), + Materials.Enderium.getMolten(72)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(preciseAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.HiC_T1.get(2), GT_ModHandler.getModItem("dreamcraft", "item.EngravedDiamondCrystalChip", 8), ItemList.Circuit_Chip_NAND.get(16), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Aluminium, 2) }, - new FluidStack[] { Materials.Plastic.getMolten(288), MyMaterial.signalium.getMolten(144), - MyMaterial.lumiium.getMolten(72), Materials.Enderium.getMolten(72) }, - ItemRefer.HiC_T2.get(1), - 30720, - 100, - 1); - - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T2.get(2), ItemList.Circuit_Parts_Crystal_Chip_Master.get(8), - ItemList.Circuit_Chip_CrystalSoC2.get(1), GT_ModHandler.getIC2Item("reactorVentDiamond", 1L, 1) }, - new FluidStack[] { MyMaterial.adamantiumAlloy.getMolten(576), MyMaterial.signalium.getMolten(288), - MyMaterial.lumiium.getMolten(144), Materials.TungstenCarbide.getMolten(72) }, - ItemRefer.HiC_T3.get(1), - 122880, - 100, - 2); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T2.get(2), ItemList.Circuit_Parts_Crystal_Chip_Master.get(8), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Aluminium, 2)) + .itemOutputs(ItemRefer.HiC_T2.get(1)) + .fluidInputs( + Materials.Plastic.getMolten(288), + MyMaterial.signalium.getMolten(144), + MyMaterial.lumiium.getMolten(72), + Materials.Enderium.getMolten(72)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(preciseAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.HiC_T2.get(2), + ItemList.Circuit_Parts_Crystal_Chip_Master.get(8), ItemList.Circuit_Chip_CrystalSoC2.get(1), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 2) }, - new FluidStack[] { MyMaterial.adamantiumAlloy.getMolten(576), MyMaterial.signalium.getMolten(288), - MyMaterial.lumiium.getMolten(144), Materials.TungstenCarbide.getMolten(72) }, - ItemRefer.HiC_T3.get(1), - 122880, - 100, - 2); - - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T3.get(2), + GT_ModHandler.getIC2Item("reactorVentDiamond", 1L, 1)) + .itemOutputs(ItemRefer.HiC_T3.get(1)) + .fluidInputs( + MyMaterial.adamantiumAlloy.getMolten(576), + MyMaterial.signalium.getMolten(288), + MyMaterial.lumiium.getMolten(144), + Materials.TungstenCarbide.getMolten(72)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 2) + .noOptimize() + .addTo(preciseAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.HiC_T2.get(2), + ItemList.Circuit_Parts_Crystal_Chip_Master.get(8), + ItemList.Circuit_Chip_CrystalSoC2.get(1), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 2)) + .itemOutputs(ItemRefer.HiC_T3.get(1)) + .fluidInputs( + MyMaterial.adamantiumAlloy.getMolten(576), + MyMaterial.signalium.getMolten(288), + MyMaterial.lumiium.getMolten(144), + Materials.TungstenCarbide.getMolten(72)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 2) + .noOptimize() + .addTo(preciseAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.HiC_T3.get(2), GT_ModHandler.getModItem("dreamcraft", "item.EngravedEnergyChip", 8), - ItemList.Circuit_Chip_QuantumCPU.get(16), GT_ModHandler.getIC2Item("reactorVentGold", 1L, 1) }, - new FluidStack[] { MyMaterial.marM200.getMolten(1152), MyMaterial.signalium.getMolten(576), - MyMaterial.lumiium.getMolten(288), MyMaterial.artheriumSn.getMolten(144) }, - ItemRefer.HiC_T4.get(1), - 491520, - 100, - 3); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T3.get(2), + ItemList.Circuit_Chip_QuantumCPU.get(16), + GT_ModHandler.getIC2Item("reactorVentGold", 1L, 1)) + .itemOutputs(ItemRefer.HiC_T4.get(1)) + .fluidInputs( + MyMaterial.marM200.getMolten(1152), + MyMaterial.signalium.getMolten(576), + MyMaterial.lumiium.getMolten(288), + MyMaterial.artheriumSn.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 3) + .noOptimize() + .addTo(preciseAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.HiC_T3.get(2), GT_ModHandler.getModItem("dreamcraft", "item.EngravedEnergyChip", 8), ItemList.Circuit_Chip_QuantumCPU.get(16), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.EnergeticAlloy, 2) }, - new FluidStack[] { MyMaterial.marM200.getMolten(1152), MyMaterial.signalium.getMolten(576), - MyMaterial.lumiium.getMolten(288), MyMaterial.artheriumSn.getMolten(144) }, - ItemRefer.HiC_T4.get(1), - 491520, - 100, - 3); - - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T4.get(2), + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.EnergeticAlloy, 2)) + .itemOutputs(ItemRefer.HiC_T4.get(1)) + .fluidInputs( + MyMaterial.marM200.getMolten(1152), + MyMaterial.signalium.getMolten(576), + MyMaterial.lumiium.getMolten(288), + MyMaterial.artheriumSn.getMolten(144)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 3) + .noOptimize() + .addTo(preciseAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.HiC_T4.get(2), GT_ModHandler.getModItem("dreamcraft", "item.EngravedManyullynCrystalChip", 8), - ItemList.Circuit_Chip_BioCPU.get(1), Ic2Items.reactorVentSpread }, - new FluidStack[] { MyMaterial.titaniumBetaC.getMolten(1728), MyMaterial.signalium.getMolten(1152), - MyMaterial.lumiium.getMolten(576), MyMaterial.dalisenite.getMolten(288) }, - ItemRefer.HiC_T5.get(1), - 1966080, - 100, - 3); - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemRefer.HiC_T4.get(2), + ItemList.Circuit_Chip_BioCPU.get(1), + Ic2Items.reactorVentSpread) + .itemOutputs(ItemRefer.HiC_T5.get(1)) + .fluidInputs( + MyMaterial.titaniumBetaC.getMolten(1728), + MyMaterial.signalium.getMolten(1152), + MyMaterial.lumiium.getMolten(576), + MyMaterial.dalisenite.getMolten(288)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 3) + .noOptimize() + .addTo(preciseAssemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemRefer.HiC_T4.get(2), GT_ModHandler.getModItem("dreamcraft", "item.EngravedManyullynCrystalChip", 8), ItemList.Circuit_Chip_BioCPU.get(1), - GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TungstenCarbide, 2) }, - new FluidStack[] { MyMaterial.titaniumBetaC.getMolten(1728), MyMaterial.signalium.getMolten(1152), - MyMaterial.lumiium.getMolten(576), MyMaterial.dalisenite.getMolten(288) }, - ItemRefer.HiC_T5.get(1), - 1966080, - 100, - 3); + GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TungstenCarbide, 2)) + .itemOutputs(ItemRefer.HiC_T5.get(1)) + .fluidInputs( + MyMaterial.titaniumBetaC.getMolten(1728), + MyMaterial.signalium.getMolten(1152), + MyMaterial.lumiium.getMolten(576), + MyMaterial.dalisenite.getMolten(288)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 3) + .noOptimize() + .addTo(preciseAssemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -1342,34 +1412,45 @@ public class RecipeLoader_02 { } // Compact MK1 Fusion Coil - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemList.Casing_Coil_Superconductor.get(3), ItemRefer.HiC_T2.get(1), - ItemRefer.Special_Ceramics_Plate.get(2) }, - new FluidStack[] { MyMaterial.marM200.getMolten(1152), MyMaterial.zircaloy4.getMolten(288) }, - ItemRefer.Compact_Fusion_Coil_T0.get(1), - 9001, - 1200, - 1); - + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_Coil_Superconductor.get(3), + ItemRefer.HiC_T2.get(1), + ItemRefer.Special_Ceramics_Plate.get(2)) + .itemOutputs(ItemRefer.Compact_Fusion_Coil_T0.get(1)) + .fluidInputs(MyMaterial.marM200.getMolten(1152), MyMaterial.zircaloy4.getMolten(288)) + .duration(60 * SECONDS) + .eut(9001) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 1) + .noOptimize() + .addTo(preciseAssemblerRecipes); // Compact MK2 Fusion Coil - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemList.Casing_Fusion_Coil.get(3), ItemRefer.Quartz_Crystal_Resonator.get(2), - ItemRefer.HiC_T3.get(1), }, - new FluidStack[] { MyMaterial.artheriumSn.getMolten(576), MyMaterial.titaniumBetaC.getMolten(144) }, - ItemRefer.Compact_Fusion_Coil_T1.get(1), - 14000, - 800, - 2); - + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_Fusion_Coil.get(3), + ItemRefer.Quartz_Crystal_Resonator.get(2), + ItemRefer.HiC_T3.get(1)) + .itemOutputs(ItemRefer.Compact_Fusion_Coil_T1.get(1)) + .fluidInputs(MyMaterial.artheriumSn.getMolten(576), MyMaterial.titaniumBetaC.getMolten(144)) + .duration(40 * SECONDS) + .eut(14000) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 2) + .noOptimize() + .addTo(preciseAssemblerRecipes); // Compact MK3 Fusion Coil - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { ItemList.Casing_Fusion_Coil.get(3), ItemRefer.Radiation_Protection_Plate.get(2), - ItemList.QuantumStar.get(4), ItemRefer.HiC_T4.get(1) }, - new FluidStack[] { MyMaterial.dalisenite.getMolten(576), MyMaterial.hikarium.getMolten(144) }, - ItemRefer.Compact_Fusion_Coil_T2.get(1), - 114514, - 800, - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_Fusion_Coil.get(3), + ItemRefer.Radiation_Protection_Plate.get(2), + ItemList.QuantumStar.get(4), + ItemRefer.HiC_T4.get(1)) + .itemOutputs(ItemRefer.Compact_Fusion_Coil_T2.get(1)) + .fluidInputs(MyMaterial.dalisenite.getMolten(576), MyMaterial.hikarium.getMolten(144)) + .duration(40 * SECONDS) + .eut(114514) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 3) + .noOptimize() + .addTo(preciseAssemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -1435,15 +1516,20 @@ public class RecipeLoader_02 { .addTo(AssemblyLine); // Compact MK4 Fusion Coil - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { GT_ModHandler.getModItem(GTPlusPlus.ID, "gtplusplus.blockcasings.3", 3, 13), - ItemRefer.HiC_T5.get(1), GT_ModHandler.getModItem(GTPlusPlus.ID, "item.itemBufferCore4", 1), }, - new FluidStack[] { FluidRegistry.getFluidStack("molten.energycrystal", 1152), - FluidRegistry.getFluidStack("molten.laurenium", 144) }, - ItemRefer.Compact_Fusion_Coil_T3.get(1), - 520000, - 2000, - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getModItem(GTPlusPlus.ID, "gtplusplus.blockcasings.3", 3, 13), + ItemRefer.HiC_T5.get(1), + GT_ModHandler.getModItem(GTPlusPlus.ID, "item.itemBufferCore4", 1)) + .itemOutputs(ItemRefer.Compact_Fusion_Coil_T3.get(1)) + .fluidInputs( + FluidRegistry.getFluidStack("molten.energycrystal", 1152), + FluidRegistry.getFluidStack("molten.laurenium", 144)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(520000) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 3) + .noOptimize() + .addTo(preciseAssemblerRecipes); // Compact MK4 Fusion Disassembly Recipe GT_Values.RA.stdBuilder() @@ -1471,16 +1557,19 @@ public class RecipeLoader_02 { (int) TierEU.RECIPE_UV); // Compact MK5 Fusion Coil - MyRecipeAdder.instance.addPreciseAssemblerRecipe( - new ItemStack[] { GregtechItemList.Casing_Fusion_Internal2.get(3), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), ItemRefer.HiC_T5.get(4), - CI.getEnergyCore(5, 1), }, - new FluidStack[] { ALLOY.BLACK_TITANIUM.getFluidStack(1152), - MyMaterial.metastableOganesson.getMolten(576) }, - ItemRefer.Compact_Fusion_Coil_T4.get(1), - (int) TierEU.RECIPE_UHV, - 2000, - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + GregtechItemList.Casing_Fusion_Internal2.get(3), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Bio, 1), + ItemRefer.HiC_T5.get(4), + CI.getEnergyCore(5, 1)) + .itemOutputs(ItemRefer.Compact_Fusion_Coil_T4.get(1)) + .fluidInputs(ALLOY.BLACK_TITANIUM.getFluidStack(1152), MyMaterial.metastableOganesson.getMolten(576)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .metadata(PRECISE_ASSEMBLER_CASING_TIER, 3) + .noOptimize() + .addTo(preciseAssemblerRecipes); // Compact MK5 Computer TT_recipeAdder.addResearchableAssemblylineRecipe( @@ -1727,17 +1816,17 @@ public class RecipeLoader_02 { .fluidOutputs(MyMaterial.metastableOganesson.getMolten(36)) .duration(30 * SECONDS) .eut(TierEU.RECIPE_UV) - .metadata(FUSION_THRESHOLD, 1000000000) + .metadata(FUSION_THRESHOLD, 1_000_000_000) .addTo(fusionRecipes); - MyRecipeAdder.instance.addNeutronActivatorRecipe( - null, - new ItemStack[] { MyMaterial.metastableOganesson.get(OrePrefixes.dust) }, - new FluidStack[] { WerkstoffLoader.Oganesson.getFluidOrGas(250) }, - null, - 2000, - 1100, - 1000); + GT_Values.RA.stdBuilder() + .itemInputs(MyMaterial.metastableOganesson.get(OrePrefixes.dust)) + .fluidOutputs(WerkstoffLoader.Oganesson.getFluidOrGas(250)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(NKE_RANGE, computeRangeNKE(1100, 1000)) + .noOptimize() + .addTo(neutronActivatorRecipes); GT_Values.RA.stdBuilder() .itemInputs(ItemRefer.HiC_T5.get(0)) @@ -1748,7 +1837,7 @@ public class RecipeLoader_02 { MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(5000)) .fluidOutputs(MyMaterial.shirabon.getMolten(144)) .duration(10 * SECONDS) - .eut(1500000000) + .eut(1_500_000_000) .metadata(COIL_HEAT, 13500) .addTo(plasmaForgeRecipes); } diff --git a/src/main/java/goodgenerator/util/MyRecipeAdder.java b/src/main/java/goodgenerator/util/MyRecipeAdder.java index 6cc0eb585c..4f65eb6724 100644 --- a/src/main/java/goodgenerator/util/MyRecipeAdder.java +++ b/src/main/java/goodgenerator/util/MyRecipeAdder.java @@ -1,6 +1,5 @@ package goodgenerator.util; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import goodgenerator.api.recipe.ExtremeHeatExchangerRecipe; @@ -10,27 +9,16 @@ public class MyRecipeAdder { public static final MyRecipeAdder instance = new MyRecipeAdder(); - public void addLiquidMentalFuel(FluidStack input, FluidStack output, int EUt, int ticks) { - GoodGeneratorRecipeMaps.naquadahReactorFuels - .addRecipe(true, null, null, null, new FluidStack[] { input }, new FluidStack[] { output }, ticks, 0, EUt); - } - - public void addNaquadahFuelRefineRecipe(FluidStack[] input1, ItemStack[] input2, FluidStack output, int EUt, - int ticks, int tier) { - GoodGeneratorRecipeMaps.naquadahFuelRefineFactoryRecipes - .addRecipe(false, input2, null, null, input1, new FluidStack[] { output }, ticks, EUt, tier); - } - - public void addNeutronActivatorRecipe(FluidStack[] input1, ItemStack[] input2, FluidStack[] output1, - ItemStack[] output2, int ticks, int maxNKE, int minNKE) { + public static int computeRangeNKE(int maxNKE, int minNKE) { if (maxNKE <= 0) maxNKE = 1; if (maxNKE >= 1100) maxNKE = 1100; if (minNKE < 0) minNKE = 0; if (minNKE >= maxNKE) minNKE = maxNKE - 1; - GoodGeneratorRecipeMaps.neutronActivatorRecipes - .addRecipe(false, input2, output2, null, input1, output1, ticks, 0, maxNKE * 10000 + minNKE); + return maxNKE * 10000 + minNKE; } + // todo: understand why it needs a custom recipe class and migrate it on RA2 + @Deprecated public void addExtremeHeatExchangerRecipe(FluidStack HotFluid, FluidStack ColdFluid, FluidStack WorkFluid, FluidStack HeatedWorkFluid, FluidStack OverHeatedWorkFluid, int Threshold) { GoodGeneratorRecipeMaps.extremeHeatExchangerFuels.addRecipe( @@ -39,34 +27,4 @@ public class MyRecipeAdder { new FluidStack[] { HeatedWorkFluid, OverHeatedWorkFluid, ColdFluid }, Threshold)); } - - public void addPreciseAssemblerRecipe(ItemStack[] aItemInputs, FluidStack[] aFluidInputs, ItemStack aOutput, - int aEUt, int aDuration, int aTier) { - if (aOutput == null) return; - GoodGeneratorRecipeMaps.preciseAssemblerRecipes.addRecipe( - false, - aItemInputs, - new ItemStack[] { aOutput }, - null, - null, - aFluidInputs, - null, - aDuration, - aEUt, - aTier); - } - - public void addComponentAssemblyLineRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack OutputItem, int aDuration, int aEUt, int casingLevel) { - GoodGeneratorRecipeMaps.componentAssemblyLineRecipes.addRecipe( - false, - ItemInputArray, - new ItemStack[] { OutputItem }, - null, - FluidInputArray, - null, - aDuration, - aEUt, - casingLevel); - } } diff --git a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java index d13891f813..0222df057b 100644 --- a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java +++ b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java @@ -681,7 +681,12 @@ public enum MetaTileEntityIDs { RECIPE_FILTER_UHV(9339), INDUSTRIAL_APIARY(9399), Drone_Centre(9400), - DroneDownLink(9401); + DroneDownLink(9401), + sofc1(13101), + sofc2(13102), + tfft(13104), + lsc(13106), + tfftHatch(13109); public final int ID; diff --git a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java index e7abfea98f..e3c3a8cbaa 100644 --- a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java +++ b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java @@ -1,1069 +1,8 @@ package gregtech.api.interfaces.internal; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_RecipeBuilder; public interface IGT_RecipeAdder { - /** - * Adds a FusionreactorRecipe Does not work anymore! - */ - - @Deprecated - boolean addFusionReactorRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aFusionDurationInTicks, - int aFusionEnergyPerTick, int aEnergyNeededForStartingFusion); - - /** - * Adds a FusionreactorRecipe - * - * @param aInput1 = first Input (not null, and respects StackSize) - * @param aInput2 = second Input (not null, and respects StackSize) - * @param aOutput1 = Output of the Fusion (can be null, and respects StackSize) - * @param aFusionDurationInTicks = How many ticks the Fusion lasts (must be > 0) - * @param aFusionEnergyPerTick = The EU generated per Tick (can even be negative!) - * @param aEnergyNeededForStartingFusion = EU needed for heating the Reactor up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - @Deprecated - boolean addFusionReactorRecipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, - int aFusionDurationInTicks, int aFusionEnergyPerTick, int aEnergyNeededForStartingFusion); - - /** - * Adds a Fusion Reactor Recipe - * - * @param FluidInputArray Array of input fluids. Up to 16. - * @param FluidOutputArray Array of output fluids. Up to 16. - * @param aFusionDurationInTicks How many ticks the Fusion lasts (must be > 0). - * @param aFusionEnergyPerTick The EU consumed per tick to keep the reaction going. - * @param aEnergyNeededForStartingFusion EU needed to initialize the fusion reaction. (must be >= 0). - * @return true if the recipe got added, otherwise false. - */ - - @Deprecated - boolean addFusionReactorRecipe(FluidStack[] FluidInputArray, FluidStack[] FluidOutputArray, - int aFusionDurationInTicks, int aFusionEnergyPerTick, int aEnergyNeededForStartingFusion); - - /** - * Adds a Centrifuge Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - * @param aDuration must be > 0 - */ - - @Deprecated - boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration); - - @Deprecated - boolean addCentrifugeRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt); - - /** - * Adds a Centrifuge Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - * @param aDuration must be > 0 - */ - @Deprecated - 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); - - @Deprecated - 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); - - /** - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @return if the recipe was successfully added - */ - - @Deprecated - boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); - - /** - * Adds a Electrolyzer Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addElectrolyzerRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, ItemStack aOutput5, ItemStack aOutput6, int aDuration, int aEUt); - - /** - * Adds a Electrolyzer Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - 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); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration); - - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, int aDuration); - - /** - * Adds a Chemical Recipe Only use this when the recipe conflicts in MultiBlock! - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aOutput2 must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addChemicalRecipeForBasicMachineOnly(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aOutput2 must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, ItemStack aOutput2, int aDuration); - - /** - * Adds Recipes for creating a radically polymerized polymer from a base Material (for example Ethylene -> - * Polyethylene) - * - * @param aBasicMaterial The basic Material - * @param aBasicMaterialCell The corresponding Cell basic Material - * @param aPolymer The polymer - */ - void addDefaultPolymerizationRecipes(Fluid aBasicMaterial, ItemStack aBasicMaterialCell, Fluid aPolymer); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUtick must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, int aDuration, int aEUtick); - - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick, boolean aCleanroom); - - /** - * Adds a Chemical Recipe - * - * @param aInput1 must be != null - * @param aInput2 must be != null - * @param aOutput must be != null - * @param aOutput2 must be != null - * @param aDuration must be > 0 - * @param aEUtick must be > 0 - */ - @Deprecated - boolean addChemicalRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, ItemStack aOutput2, int aDuration, int aEUtick); - - /** - * Adds a Chemical Recipe that only exists in the Large Chemical Reactor - * - * @param aInputs item inputs - * @param aFluidInputs fluid inputs - * @param aFluidOutputs fluid outputs - * @param aOutputs item outputs - * @param aDuration must be > 0 - * @param aEUtick must be > 0 <br> - * aInputs and aFluidInputs must contain at least one valid input. <br> - * aOutputs and aFluidOutputs must contain at least one valid output. - * - */ - @Deprecated - boolean addMultiblockChemicalRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int aDuration, int aEUtick); - - /** - * Adds a Blast Furnace Recipe - * - * @param aInput1 must be != null - * @param aInput2 can be null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * @param aLevel should be > 0 is the minimum Heat Level needed for this Recipe - */ - @Deprecated - boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, int aDuration, - int aEUt, int aLevel); - - /** - * Adds a Blast Furnace Recipe - * - * @param aInput1 must be != null - * @param aInput2 can be null - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * @param aLevel should be > 0 is the minimum Heat Level needed for this Recipe - */ - @Deprecated - boolean addBlastRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, int aLevel); - - @Deprecated - 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); - - /** - * Adds a Plasma Forge Recipe - * - * @param ItemInputArray Array of input items. - * @param FluidInputArray Array of output items. - * @param OutputItemArray Array of input fluids. - * @param FluidOutputArray Array of output items. - * @param aDuration Must be > 0. Duration in ticks. - * @param aEUt Should be > 0. EU/t. - * @param coil_heat_level Should be > 0. Heat of the coils used. - */ - @Deprecated - boolean addPlasmaForgeRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] OutputItemArray, - FluidStack[] FluidOutputArray, int aDuration, int aEUt, int coil_heat_level); - - @Deprecated - boolean addPrimitiveBlastRecipe(ItemStack aInput1, ItemStack aInput2, int aCoalAmount, ItemStack aOutput1, - ItemStack aOutput2, int aDuration); - - /** - * Adds a Canning Machine Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0, 100 ticks is standard. - * @param aEUt should be > 0, 1 EU/t is standard. - */ - @Deprecated - boolean addCannerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, int aDuration, - int aEUt); - - /** - * Adds an Alloy Smelter Recipe - * - * @param aInput1 must be != null - * @param aInput2 can be null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt, - boolean hidden); - - /** - * Adds an Assembler Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aInput2 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, int aEUt); - - /** - * Adds an Assembler Recipe - * - * @param aInputs must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * - */ - @Deprecated - boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, - int aEUt); - - /** - * Adds an Assembler Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt); - - @Deprecated - boolean addAssemblerRecipe(ItemStack aInput1, Object aOreDict, int aAmount, FluidStack aFluidInput, - ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addAssemblerRecipe(ItemStack[] aInputs, Object aOreDict, int aAmount, FluidStack aFluidInput, - ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addAssemblerRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack aOutput1, - int aDuration, int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput1, int aDuration, int aEUt, - boolean aCleanroom); - - /** - * Adds an Circuit Assembler Recipe - * - * @param aInputs must be 1-6 ItemStacks - * @param aFluidInput 0-1 fluids - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addCircuitAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, int aDuration, - int aEUt); - - @Deprecated - boolean addCircuitAssemblerRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack aOutput, int aDuration, - int aEUt, boolean aCleanroom); - - /** - * Adds an Assemblyline Recipe - * - * @param aInputs must be != null, 4-16 inputs - * @param aFluidInputs 0-4 fluids - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt); - - /** - * Adds a Assemblyline Recipe - * - * @param aInputs elements should be: ItemStack for single item; ItemStack[] for multiple equivalent items; - * {OreDict, amount} for oredict. - */ - @Deprecated - boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt); - - /** - * Adds a Forge Hammer Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addForgeHammerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); - - // Allows fluids as well as multiple items. - @Deprecated - boolean addForgeHammerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray, - FluidStack[] FluidOutputArray, int aDuration, int aEUt); - - /** - * Adds a Wiremill Recipe - * - * @param aInput must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addWiremillRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addWiremillRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Polariser Recipe - * - * @param aInput must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addPolarizerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Plate Bending Machine Recipe - * - * @param aInput must be != null - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addBenderRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addBenderRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Extruder Machine Recipe - * - * @param aInput must be != null - * @param aShape must be != null, Set the stackSize to 0 if you don't want to let it consume this Item. - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addExtruderRecipe(ItemStack aInput, ItemStack aShape, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Slicer Machine Recipe - * - * @param aInput must be != null - * @param aShape must be != null, Set the stackSize to 0 if you don't want to let it consume this Item. - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addSlicerRecipe(ItemStack aInput, ItemStack aShape, ItemStack aOutput, int aDuration, int aEUt); - - /** - * @param aInput must be != null - * @param aFluidInput must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * @return if the recipe was successfully added - */ - @Deprecated - boolean addOreWasherRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - FluidStack aFluidInput, int aDuration, int aEUt); - - @Deprecated - boolean addOreWasherRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - FluidStack aFluidInput, int[] aChances, int aDuration, int aEUt); - - /** - * Adds an Implosion Compressor Recipe - * - * @param aInput1 must be != null - * @param aInput2 amount of ITNT, should be > 0 - * @param aOutput1 must be != null - * @param aOutput2 can be null - */ - @Deprecated - boolean addImplosionRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2); - - /** - * Adds a Grinder Recipe - * - * @param aInput1 must be != null - * @param aInput2 id for the Cell needed for this Recipe - * @param aOutput1 must be != null - * @param aOutput2 can be null - * @param aOutput3 can be null - * @param aOutput4 can be null - */ - @Deprecated - boolean addGrinderRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4); - - /** - * Adds a Distillation Tower Recipe - * - * @param aInput must be != null - * @param aOutputs must be != null 1-5 Fluids - * @param aOutput2 can be null - */ - @Deprecated - boolean addDistillationTowerRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, - int aEUt); - - @Deprecated - boolean addDistillationTowerRecipe(FluidStack aInput, ItemStack[] aCircuit, FluidStack[] aOutputs, - ItemStack aOutput2, int aDuration, int aEUt); - - @Deprecated - boolean addSimpleArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, - int aDuration, int aEUt); - - @Deprecated - boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, - int aDuration, int aEUt); - - @Deprecated - boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - FluidStack aFluidPutput, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Distillation Tower Recipe - */ - @Deprecated - boolean addDistillationRecipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, ItemStack aOutput4, int aDuration, int aEUt); - - /** - * Adds a Lathe Machine Recipe - */ - @Deprecated - boolean addLatheRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt); - - /** - * Adds a Cutter Recipe - */ - @Deprecated - boolean addCutterRecipe(ItemStack aInput, FluidStack aLubricant, ItemStack aOutput1, ItemStack aOutput2, - int aDuration, int aEUt); - - /** - * Adds Cutter Recipes with default Lubricants - */ - @Deprecated - boolean addCutterRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt); - - @Deprecated - boolean addCutterRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, - boolean aCleanroom); - - @Deprecated - boolean addCutterRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput1, ItemStack aOutput2, int aDuration, - int aEUt); - - @Deprecated - boolean addCutterRecipe(ItemStack aInput, ItemStack aCircuit, ItemStack aOutput1, ItemStack aOutput2, int aDuration, - int aEUt, boolean aCleanroom); - - @Deprecated - boolean addCutterRecipe(ItemStack[] aInputs, ItemStack[] aOutputs, int aDuration, int aEUt, int aSpecial); - - @Deprecated - boolean addCutterRecipe(ItemStack[] aInputs, ItemStack[] aOutputs, int aDuration, int aEUt, boolean aCleanroom); - - /** - * Adds a Boxing Recipe - */ - @Deprecated - boolean addBoxingRecipe(ItemStack aContainedItem, ItemStack aEmptyBox, ItemStack aFullBox, int aDuration, int aEUt); - - /** - * @param aInput must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - * @return if the recipe was successfully added - */ - @Deprecated - boolean addThermalCentrifugeRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - int aDuration, int aEUt); - - @Deprecated - boolean addThermalCentrifugeRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - int[] aChances, int aDuration, int aEUt); - - /** - * Adds an Unboxing Recipe - */ - @Deprecated - boolean addUnboxingRecipe(ItemStack aFullBox, ItemStack aContainedItem, ItemStack aEmptyBox, int aDuration, - int aEUt); - - /** - * Adds a Vacuum Freezer Recipe - * - * @param aInput1 must be != null - * @param aOutput1 must be != null - * @param aDuration must be > 0 - */ - @Deprecated - boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration); - - @Deprecated - boolean addVacuumFreezerRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addVacuumFreezerRecipe(FluidStack aInput1, FluidStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addVacuumFreezerRecipe(ItemStack[] aItemInput, FluidStack[] aFluidInput, ItemStack[] aItemOutput, - FluidStack[] aFluidOutput, int aDuration, int aEUt); - - /** - * Adds a Fuel for My Generators - * - * @param aInput1 must be != null - * @param aOutput1 can be null - * @param aEU EU per MilliBucket. If no Liquid Form of this Container is available, then it will give you - * EU*1000 per Item. - * @param aType 0 = Diesel; 1 = Gas Turbine; 2 = Thermal; 3 = Dense Fluid; 4 = Plasma; 5 = Magic; And if - * something is unclear or missing, then look at the GT_Recipe-Class - */ - @Deprecated - boolean addFuel(ItemStack aInput1, ItemStack aOutput1, int aEU, int aType); - - /** - * Adds an Amplifier Recipe for the Amplifabricator - */ - @Deprecated - boolean addAmplifier(ItemStack aAmplifierItem, int aDuration, int aAmplifierAmountOutputted); - - /** - * Adds a Recipe for the Brewing Machine (intentionally limited to Fluid IDs) - */ - @Deprecated - boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, boolean aHidden); - - @Deprecated - boolean addBrewingRecipe(ItemStack aIngredient, Fluid aInput, Fluid aOutput, int aDuration, int aEUt, - boolean aHidden); - - @Deprecated - boolean addBrewingRecipeCustom(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aDuration, - int aEUt, boolean aHidden); - - /** - * Adds a Recipe for the Fermenter - */ - @Deprecated - boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, boolean aHidden); - - @Deprecated - boolean addFermentingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUT, boolean aHidden); - - /** - * Adds a Recipe for the Fluid Heater - */ - @Deprecated - boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Distillery - */ - @Deprecated - boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, - int aDuration, int aEUt, boolean aHidden); - - @Deprecated - boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt, - boolean aHidden); - - @Deprecated - boolean addDistilleryRecipe(int circuitConfig, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, - int aDuration, int aEUt, boolean aHidden); - - @Deprecated - boolean addDistilleryRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt, - boolean aHidden); - - /** - * Adds a Recipe for the Fluid Solidifier - */ - @Deprecated - boolean addFluidSolidifierRecipe(ItemStack aMold, FluidStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Fluid Solidifier - */ - @Deprecated - boolean addFluidSolidifierRecipe(final ItemStack[] itemInputs, final FluidStack[] fluidInputs, - final ItemStack[] itemOutputs, final FluidStack[] fluidOutputs, final int EUPerTick, - final int aDurationInTicks); - - /** - * Adds a Recipe for Fluid Smelting - */ - @Deprecated - boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, - int aEUt); - - /** - * Adds a Recipe for Fluid Smelting - */ - @Deprecated - boolean addFluidSmelterRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, int aDuration, - int aEUt, boolean hidden); - - /** - * Adds a Recipe for Fluid Extraction - */ - @Deprecated - boolean addFluidExtractionRecipe(ItemStack aInput, ItemStack aRemains, FluidStack aOutput, int aChance, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Fluid Canner - */ - @Deprecated - boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput); - - @Deprecated - boolean addFluidCannerRecipe(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Chemical Bath - */ - @Deprecated - boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int[] aChances, int aDuration, int aEUt); - - @Deprecated - boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, FluidStack aFluidOutput, - ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Electromagnetic Separator - */ - @Deprecated - boolean addElectromagneticSeparatorRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Extractor - */ - @Deprecated - boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Printer - */ - @Deprecated - boolean addPrinterRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aSpecialSlot, ItemStack aOutput, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Autoclave - */ - @Deprecated - boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, int aDuration, - int aEUt); - - @Deprecated - boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, int aDuration, - int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluid, ItemStack aOutput, int aChance, - int aDuration, int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclaveRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, FluidStack aFluidOut, - ItemStack aOutput, int aChance, int aDuration, int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclaveSpaceRecipe(ItemStack aInput, FluidStack aFluid, ItemStack aOutput, int aChance, int aDuration, - int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclaveSpaceRecipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluid, ItemStack aOutput, - int aChance, int aDuration, int aEUt, boolean aCleanroom); - - @Deprecated - boolean addAutoclave4Recipe(ItemStack aInput, ItemStack aCircuit, FluidStack aFluidIn, FluidStack aFluidOut, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, boolean aCleanroom); - - /** - * Adds a Recipe for the Mixer - */ - @Deprecated - boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - ItemStack aInput5, ItemStack aInput6, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, - int aDuration, int aEUt); - - @Deprecated - 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); - - @Deprecated - 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); - - // Use me only from now on! - @Deprecated - boolean addMixerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray, - FluidStack[] FluidOutputArray, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Laser Engraver. - */ - @Deprecated - boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, int aDuration, - int aEUt); - - /** - * Adds a Recipe for the Laser Engraver. - */ - @Deprecated - boolean addLaserEngraverRecipe(ItemStack aItemToEngrave, ItemStack aLens, ItemStack aEngravedItem, int aDuration, - int aEUt, boolean aCleanroom); - - /** - * Adds a Generalised Laser Engraver Recipe. - * - * @param ItemInputArray Array of input items. - * @param FluidInputArray Array of output items. - * @param OutputItemArray Array of input fluids. - * @param FluidOutputArray Array of output items. - * @param aDuration Must be > 0. Duration in ticks. - * @param aEUt Should be > 0. EU/t. - * @param aCleanroom Boolean for usage of cleanroom in recipe. - */ - @Deprecated - boolean addLaserEngraverRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, - ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt, boolean aCleanroom); - - /** - * Adds a Recipe for the Forming Press - */ - @Deprecated - boolean addFormingPressRecipe(ItemStack aItemToImprint, ItemStack aForm, ItemStack aImprintedItem, int aDuration, - int aEUt); - - // Allows more than 2 inputs and multiple outputs - @Deprecated - boolean addFormingPressRecipe(ItemStack[] ItemInputArray, ItemStack[] OutputItemArray, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Sifter. (up to 9 Outputs) - */ - @Deprecated - boolean addSifterRecipe(ItemStack aItemToSift, ItemStack[] aSiftedItems, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Generalised Sifter Recipe. - * - * @param ItemInputArray Array of input items. - * @param FluidInputArray Array of output items. - * @param OutputItemArray Array of input fluids. - * @param FluidOutputArray Array of output items. - * @param aChances Array of output chances. - * @param aDuration Must be > 0. Duration in ticks. - * @param aEUt Should be > 0. EU/t. - * @param aCleanroom Boolean for usage of cleanroom in recipe. - */ - @Deprecated - boolean addSifterRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] OutputItemArray, - FluidStack[] FluidOutputArray, int[] aChances, int aDuration, int aEUt, boolean aCleanroom); - - /** - * Adds a Recipe for the Arc Furnace. (up to 4 Outputs) - */ - @Deprecated - boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Arc Furnace. (up to 4 Outputs) - */ - @Deprecated - boolean addArcFurnaceRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, - boolean hidden); - - /** - * Adds a Recipe for the GT Pulveriser. (up to 4 Outputs) - */ - @Deprecated - boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the GT Pulveriser. (up to 4 Outputs) - */ - @Deprecated - boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt, - boolean hidden); - - /** - * Adds a Distillation Tower Recipe Every Fluid also gets separate distillation recipes - * - * @param aInput must be != null - * @param aOutputs must be != null 1-5 Fluids - * @param aOutput2 can be null - */ - @Deprecated - boolean addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, - int aEUt); - - @Deprecated - boolean addUniversalDistillationRecipewithCircuit(FluidStack aInput, ItemStack[] aCircuit, FluidStack[] aOutputs, - ItemStack aOutput2, int aDuration, int aEUt); - - /** - * Adds Pyrolyse Recipe - * - * @param aInput input item stack - * @param aFluidInput fluid input - * @param intCircuit circuit index - * @param aOutput output item stack - * @param aFluidOutput fluid output - * @param aDuration recipe duration - * @param aEUt recipe EU/t expenditure - * - * @return if the recipe was successfully added - */ - @Deprecated - boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, - FluidStack aFluidOutput, int aDuration, int aEUt); - - /** - * Adds Oil Cracking Recipe - * - * @param aInput input item stack - * @param aOutput output item stack - * @param aDuration recipe duration - * @param aEUt recipe EU/t expenditure - */ - @Deprecated - boolean addCrackingRecipe(FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt); - - /** - * Adds Oil Cracking Recipe - * - * @param circuitConfig The circuit configuration to control cracking severity - * @param aInput The fluid to be cracked - * @param aInput2 The fluid to catalyze the cracking (typically Hydrogen or Steam) - * @param aOutput The cracked fluid - * @param aDuration recipe duration - * @param aEUt recipe EU/t expenditure - */ - @Deprecated - boolean addCrackingRecipe(int circuitConfig, FluidStack aInput, FluidStack aInput2, FluidStack aOutput, - int aDuration, int aEUt); - - /** - * Adds a Sound to the Sonictron9001 you should NOT call this in the preInit-Phase! - * - * @param aItemStack = The Item you want to display for this Sound - * @param aSoundName = The Name of the Sound in the resources/newsound-folder like Vanillasounds - * @return true if the Sound got added, otherwise false. - */ - @Deprecated - boolean addSonictronSound(ItemStack aItemStack, String aSoundName); - - @Deprecated - boolean addChemicalBathRecipe(ItemStack aInput, FluidStack aBathingFluid, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt); - - /** - * Add a Nano Forge Recipe. The Nano Forge's main use is to make nanites/nanorobots. Tier 1 Nano Forge - Can make - * partly biological, partly metal nanites TIer 2 Nano Forge - Can make mostly metal nanites with some biological - * aspects TIer 3 Nano Forge - Can make nanites entierly out of metal - * - * @param aInputs must not be null - * @param aFluidInputs can be null - * @param aOutputs must not be null, the nanite or other output - * @param aFluidOutputs can be null - * @param aChances can be null - * @param aDuration recipe duration - * @param aEUt recipe EU/t expenditure - * @param aSpecialValue defines the tier of nano forge required. - * - */ - @Deprecated - boolean addNanoForgeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int[] aChances, int aDuration, int aEUt, int aSpecialValue); - - /** - * Add a breeder cell. - * - * @param input raw stack. should be undamaged. - * @param output breed output - * @param heatMultiplier bonus progress per neutron pulse per heat step - * @param heatStep divisor for hull heat - * @param reflector true if also acts as a neutron reflector, false otherwise. - * @param requiredPulses progress required to complete breeding - * @return added fake recipe - */ - GT_Recipe addIC2ReactorBreederCell(ItemStack input, ItemStack output, boolean reflector, int heatStep, - int heatMultiplier, int requiredPulses); - - /** - * Add a fuel cell. - * - * @param input raw stack. should be undamaged. - * @param output depleted stack - * @param aMox true if has mox behavior, false if uranium behavior. - * @param aHeat inherent heat output multiplier of the fuel material. should not add the extra heat from being a - * multi-cell! - * @param aEnergy inherent energy output multiplier of the fuel material. should not add the extra energy from being - * a multi-cell! - * @param aCells cell count - * @return added fake recipe - */ - GT_Recipe addIC2ReactorFuelCell(ItemStack input, ItemStack output, boolean aMox, float aHeat, float aEnergy, - int aCells); - GT_RecipeBuilder stdBuilder(); } diff --git a/src/main/java/gregtech/api/items/GT_BreederCell_Item.java b/src/main/java/gregtech/api/items/GT_BreederCell_Item.java index 3d51415783..438b0f467e 100644 --- a/src/main/java/gregtech/api/items/GT_BreederCell_Item.java +++ b/src/main/java/gregtech/api/items/GT_BreederCell_Item.java @@ -14,6 +14,7 @@ import net.minecraft.world.World; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Utility; import ic2.api.reactor.IReactor; import ic2.api.reactor.IReactorComponent; @@ -43,13 +44,18 @@ public class GT_BreederCell_Item extends GT_Generic_Item implements IReactorComp GregTech_API.sAfterGTPostload.add(() -> { mProduct = aProduct.get(); if (!hidden && !neiAdded) { - GT_Values.RA.addIC2ReactorBreederCell( - new ItemStack(this), - mProduct, - deflector, - mHeatBonusStep, - mHeatBonusMultiplier, - getMaxDamage()); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(this)) + .itemOutputs(mProduct) + .setNEIDesc( + deflector ? "Neutron reflecting Breeder" : "Heat neutral Breeder", + String.format("Every %d reactor hull heat", mHeatBonusStep), + String.format("increase speed by %d00%%", mHeatBonusMultiplier), + String.format("Required pulses: %d", getMaxDamage())) + .duration(0) + .eut(0) + .addTo(RecipeMaps.ic2NuclearFakeRecipes); + neiAdded = true; } }); diff --git a/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java b/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java index 8698bac886..2509cf6261 100644 --- a/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java +++ b/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java @@ -8,10 +8,13 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import gregtech.api.enums.GT_Values; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Utility; import ic2.api.reactor.IReactor; import ic2.api.reactor.IReactorComponent; import ic2.core.IC2Potion; +import ic2.core.init.MainConfig; +import ic2.core.util.ConfigUtil; public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implements IReactorComponent { @@ -36,13 +39,33 @@ public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implement this.sMox = aMox; if (aDepleted != null && aEnergy > 0 && aHeat > 0) { // avoid adding depleted cells to recipe map - GT_Values.RA.addIC2ReactorFuelCell( - new ItemStack(this), - aDepleted, - aMox, - aHeat * MYSTERIOUS_MULTIPLIER_HEAT, - aEnergy, - aCellcount); + + int pulses = aCellcount / 2 + 1; + + // for the mysterious constant 5.0f, + // see ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric.getOfferedEnergy + // don't ask, just accept + float nukePowerMult = 5.0f * ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/nuclear"); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(this)) + .itemOutputs(aDepleted) + .setNEIDesc( + aMox ? "MOX Model" : "Uranium Model", + "Neutron Pulse: " + aCellcount, + aCellcount == 1 + ? String.format("Heat: %.1f * n1 * (n1 + 1)", (aHeat * MYSTERIOUS_MULTIPLIER_HEAT) / 2f) + : String.format( + "Heat: %.1f * (%d + n1) * (%d + n1)", + (aHeat * MYSTERIOUS_MULTIPLIER_HEAT) * aCellcount / 2f, + aCellcount, + aCellcount + 1), + String.format( + "Energy: %.1f + n2 * %.1f EU/t", + aEnergy * aCellcount * pulses * nukePowerMult, + aEnergy * nukePowerMult)) + .duration(0) + .eut(0) + .addTo(RecipeMaps.ic2NuclearFakeRecipes); } } diff --git a/src/main/java/gregtech/api/recipe/RecipeMap.java b/src/main/java/gregtech/api/recipe/RecipeMap.java index 2ee2d3cb94..70a5fcf3ba 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMap.java +++ b/src/main/java/gregtech/api/recipe/RecipeMap.java @@ -112,68 +112,13 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { } // region add recipe - - @Nullable - public GT_Recipe addRecipe(boolean aOptimize, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, - @Nullable Object aSpecial, @Nullable int[] aOutputChances, @Nullable FluidStack[] aFluidInputs, - @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { - return addRecipe( - new GT_Recipe( - aOptimize, - aInputs, - aOutputs, - aSpecial, - aOutputChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - } - - @Nullable - public GT_Recipe addRecipe(@Nullable int[] aOutputChances, @Nullable FluidStack[] aFluidInputs, - @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { - return addRecipe( - new GT_Recipe( - false, - null, - null, - null, - aOutputChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue), - false, - false, - false); - } - - @Nullable - public GT_Recipe addRecipe(boolean aOptimize, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, - @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, @Nullable FluidStack[] aFluidOutputs, - int aDuration, int aEUt, int aSpecialValue) { - return addRecipe( - new GT_Recipe( - aOptimize, - aInputs, - aOutputs, - aSpecial, - null, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - } - + @Deprecated @Nullable public GT_Recipe addRecipe(GT_Recipe aRecipe) { return addRecipe(aRecipe, true, false, false); } + @Deprecated @Nullable public GT_Recipe addRecipe(GT_Recipe aRecipe, boolean aCheckForCollisions, boolean aFakeRecipe, boolean aHidden) { aRecipe.mHidden = aHidden; @@ -188,30 +133,7 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes! * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes */ - @Nullable - public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, - @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable int[] aOutputChances, - @Nullable FluidStack[] aFluidInputs, @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, - int aSpecialValue) { - return addFakeRecipe( - aCheckForCollisions, - new GT_Recipe( - false, - aInputs, - aOutputs, - aSpecial, - aOutputChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - } - - /** - * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes! - * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes - */ + @Deprecated @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, @@ -231,26 +153,7 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { aSpecialValue)); } - @Nullable - public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, - @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, - @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue, boolean hidden) { - return addFakeRecipe( - aCheckForCollisions, - new GT_Recipe( - false, - aInputs, - aOutputs, - aSpecial, - null, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue), - hidden); - } - + @Deprecated @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, @@ -277,11 +180,13 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes! * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes */ + @Deprecated @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe) { return addRecipe(aRecipe, aCheckForCollisions, true, false); } + @Deprecated @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe, boolean hidden) { return addRecipe(aRecipe, aCheckForCollisions, true, hidden); diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index 409703fbad..c42b8725b4 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -1103,11 +1103,6 @@ public final class RecipeMaps { .maxIO(1, 1, 0, 0) .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE) .build(); - public static final RecipeMap<FuelBackend> fluidNaquadahReactorFuels = RecipeMapBuilder - .of("gt.recipe.fluidfuelnaquadahreactor", FuelBackend::new) - .maxIO(1, 1, 0, 0) - .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE) - .build(); public static final RecipeMap<RecipeMapBackend> electrolyzerNonCellRecipes = RecipeMapBuilder .of("gt.recipe.largeelectrolyzer") .maxIO(1, 6, 1, 6) diff --git a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java index dc579ebd9b..b5bfff9e29 100644 --- a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java +++ b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java @@ -1,16 +1,17 @@ package gregtech.api.util; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.fishPondRecipes; + import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomFishable; import net.minecraftforge.common.FishingHooks; -import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.GT_Values; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; @@ -49,7 +50,14 @@ public class FishPondFakeRecipe { ItemStack t = (ItemStack) ReflectionUtils .getField(WeightedRandomFishable.class, "field_150711_b") .get(u); - addNewFishPondLoot(mType, new ItemStack[] { t }, new int[] { 10000 }); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(mType)) + .itemOutputs(t) + .duration(5 * SECONDS) + .eut(0) + .ignoreCollision() + .addTo(fishPondRecipes); + Logger.INFO("Fishing [" + mType + "]: " + ItemUtils.getArrayStackNames(new ItemStack[] { t })); } catch (IllegalArgumentException | IllegalAccessException e1) { Logger.INFO("Error generating Fish Pond Recipes. [2]"); e1.printStackTrace(); @@ -61,20 +69,4 @@ public class FishPondFakeRecipe { return true; } - - public static void addNewFishPondLoot(int circuit, ItemStack[] outputItems, int[] chances) { - GT_Recipe x = new GT_Recipe( - true, - new ItemStack[] { CI.getNumberedCircuit(circuit) }, - outputItems, - null, - chances, - new FluidStack[] { null }, - new FluidStack[] { null }, - 100, // 1 Tick - 0, // No Eu produced - 0); - Logger.INFO("Fishing [" + circuit + "]: " + ItemUtils.getArrayStackNames(outputItems)); - GTPPRecipeMaps.fishPondRecipes.addRecipe(x, false, false, false); - } } diff --git a/src/main/java/gregtech/api/util/GT_Forestry_Compat.java b/src/main/java/gregtech/api/util/GT_Forestry_Compat.java index 427703e6f7..d383d643d7 100644 --- a/src/main/java/gregtech/api/util/GT_Forestry_Compat.java +++ b/src/main/java/gregtech/api/util/GT_Forestry_Compat.java @@ -1,9 +1,14 @@ package gregtech.api.util; +import static gregtech.api.recipe.RecipeMaps.centrifugeNonCellRecipes; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import java.util.Map; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import forestry.api.recipes.ICentrifugeRecipe; import forestry.api.recipes.ISqueezerRecipe; @@ -17,112 +22,112 @@ public class GT_Forestry_Compat { public static void populateFakeNeiRecipes() { if (ItemList.FR_Bee_Drone.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Bee_Drone.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Bee_Drone.getWithName(1L, "Scanned Drone") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Bee_Drone.getWildcard(1L)) + .itemOutputs(ItemList.FR_Bee_Drone.getWithName(1L, "Scanned Drone")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Bee_Princess.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Bee_Princess.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Bee_Princess.getWithName(1L, "Scanned Princess") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Bee_Princess.getWildcard(1L)) + .itemOutputs(ItemList.FR_Bee_Princess.getWithName(1L, "Scanned Princess")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Bee_Queen.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Bee_Queen.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Bee_Queen.getWithName(1L, "Scanned Queen") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Bee_Queen.getWildcard(1L)) + .itemOutputs(ItemList.FR_Bee_Queen.getWithName(1L, "Scanned Queen")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Tree_Sapling.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Tree_Sapling.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Tree_Sapling.getWithName(1L, "Scanned Sapling") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Tree_Sapling.getWildcard(1L)) + .itemOutputs(ItemList.FR_Tree_Sapling.getWithName(1L, "Scanned Sapling")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Butterfly.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Butterfly.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Butterfly.getWithName(1L, "Scanned Butterfly") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Butterfly.getWildcard(1L)) + .itemOutputs(ItemList.FR_Butterfly.getWithName(1L, "Scanned Butterfly")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Larvae.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Larvae.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Larvae.getWithName(1L, "Scanned Larvae") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Larvae.getWildcard(1L)) + .itemOutputs(ItemList.FR_Larvae.getWithName(1L, "Scanned Larvae")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Serum.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Serum.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Serum.getWithName(1L, "Scanned Serum") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Serum.getWildcard(1L)) + .itemOutputs(ItemList.FR_Serum.getWithName(1L, "Scanned Serum")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_Caterpillar.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_Caterpillar.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_Caterpillar.getWithName(1L, "Scanned Caterpillar") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_Caterpillar.getWildcard(1L)) + .itemOutputs(ItemList.FR_Caterpillar.getWithName(1L, "Scanned Caterpillar")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } if (ItemList.FR_PollenFertile.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.FR_PollenFertile.getWildcard(1L) }, - new ItemStack[] { ItemList.FR_PollenFertile.getWithName(1L, "Scanned Pollen") }, - null, - new FluidStack[] { Materials.Honey.getFluid(100L) }, - null, - 500, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.FR_PollenFertile.getWildcard(1L)) + .itemOutputs(ItemList.FR_PollenFertile.getWithName(1L, "Scanned Pollen")) + .fluidInputs(Materials.Honey.getFluid(100L)) + .duration(25 * SECONDS) + .eut(2) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } } @@ -139,28 +144,21 @@ public class GT_Forestry_Compat { .copy(); i++; } - RecipeMaps.centrifugeRecipes.addRecipe( - true, - new ItemStack[] { tRecipe.getInput() }, - tOutputs, - null, - tChances, - null, - null, - 128, - 5, - 0); - RecipeMaps.centrifugeNonCellRecipes.addRecipe( - true, - new ItemStack[] { tRecipe.getInput() }, - tOutputs, - null, - tChances, - null, - null, - 128, - 5, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(tRecipe.getInput()) + .itemOutputs(tOutputs) + .outputChances(tChances) + .duration(6 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(tRecipe.getInput()) + .itemOutputs(tOutputs) + .outputChances(tChances) + .duration(6 * SECONDS + 8 * TICKS) + .eut(5) + .addTo(centrifugeNonCellRecipes); } } catch (Throwable e) { if (GT_Values.D1) { @@ -172,18 +170,17 @@ public class GT_Forestry_Compat { public static void transferSqueezerRecipes() { try { for (ISqueezerRecipe tRecipe : RecipeManagers.squeezerManager.recipes()) { - if ((tRecipe.getResources().length == 1) && (tRecipe.getFluidOutput() != null)) { - RecipeMaps.fluidExtractionRecipes.addRecipe( - true, - new ItemStack[] { tRecipe.getResources()[0] }, - new ItemStack[] { tRecipe.getRemnants() }, - null, - new int[] { (int) (tRecipe.getRemnantsChance() * 10000) }, - null, - new FluidStack[] { tRecipe.getFluidOutput() }, - 32, - 8, - 0); + if ((tRecipe.getResources().length == 1) && (tRecipe.getFluidOutput() != null) + && (tRecipe.getResources()[0] != null) + && (tRecipe.getRemnants() != null)) { + GT_Values.RA.stdBuilder() + .itemInputs(tRecipe.getResources()[0]) + .itemOutputs(tRecipe.getRemnants()) + .outputChances((int) (tRecipe.getRemnantsChance() * 10000)) + .fluidOutputs(tRecipe.getFluidOutput()) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(RecipeMaps.fluidExtractionRecipes); } } } catch (Throwable e) { diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java index 70dc2f30b0..8c43a5334b 100644 --- a/src/main/java/gregtech/api/util/GT_ModHandler.java +++ b/src/main/java/gregtech/api/util/GT_ModHandler.java @@ -10,7 +10,6 @@ import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.GT_Values.V; import static gregtech.api.enums.GT_Values.W; import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; -import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -576,184 +575,6 @@ public class GT_ModHandler { } /** - * LiquidTransposer Recipe for both directions - */ - @Deprecated - public static boolean addLiquidTransposerRecipe(ItemStack aEmptyContainer, FluidStack aLiquid, - ItemStack aFullContainer, int aMJ) { - return true; - } - - /** - * LiquidTransposer Recipe for filling Containers - */ - @Deprecated - public static boolean addLiquidTransposerFillRecipe(ItemStack aEmptyContainer, FluidStack aLiquid, - ItemStack aFullContainer, int aMJ) { - return true; - } - - /** - * LiquidTransposer Recipe for emptying Containers - */ - @Deprecated - public static boolean addLiquidTransposerEmptyRecipe(ItemStack aFullContainer, FluidStack aLiquid, - ItemStack aEmptyContainer, int aMJ) { - return true; - } - - /** - * IC2-Extractor Recipe. Overloads old Recipes automatically - */ - @Deprecated - public static boolean addExtractionRecipe(ItemStack aInput, ItemStack aOutput) { - aOutput = GT_OreDictUnificator.get(true, aOutput); - if (aInput == null || aOutput == null) return false; - RA.stdBuilder() - .itemInputs(aInput) - .itemOutputs(aOutput) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - return true; - } - - /** - * RC-BlastFurnace Recipes - */ - @Deprecated - public static boolean addRCBlastFurnaceRecipe(ItemStack aInput, ItemStack aOutput, int aTime) { - return true; - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1) { - return addPulverisationRecipe(aInput, aOutput1, null, 0, false); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2) { - return addPulverisationRecipe(aInput, aOutput1, aOutput2, 100, false); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - int aChance) { - return addPulverisationRecipe(aInput, aOutput1, aOutput2, aChance, false); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, boolean aOverwrite) { - return addPulverisationRecipe(aInput, aOutput1, null, 0, aOverwrite); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - boolean aOverwrite) { - return addPulverisationRecipe(aInput, aOutput1, aOutput2, 100, aOverwrite); - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance, - boolean aOverwrite) { - return addPulverisationRecipe(aInput, aOutput1, aOutput2, aChance, null, 0, aOverwrite); - } - - /** - * Adds Several Pulverizer-Type Recipes. - */ - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2, - ItemStack aOutput3, int aChance3, boolean aOverwrite) { - aOutput1 = GT_OreDictUnificator.get(true, aOutput1); - aOutput2 = GT_OreDictUnificator.get(true, aOutput2); - if (GT_Utility.isStackInvalid(aInput) || GT_Utility.isStackInvalid(aOutput1)) return false; - - if (GT_Utility.getContainerItem(aInput, false) == null) { - RA.addPulveriserRecipe( - aInput, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - new int[] { 10000, aChance2 <= 0 ? 1000 : 100 * aChance2, aChance3 <= 0 ? 1000 : 100 * aChance3 }, - 400, - 2); - } - return true; - } - - @Deprecated - public static boolean addPulverisationRecipe(ItemStack aInputItem, ItemStack[] aOutputArray, int[] aChanceArray, - int aEUt, int aRecipeDurationInTicks) { - - ItemStack[] aUnifiedOutputArray = new ItemStack[aOutputArray.length]; - int counter = 0; - - for (ItemStack item : aOutputArray) { - aUnifiedOutputArray[counter] = GT_OreDictUnificator.get(true, item); - counter++; - } - - RA.addPulveriserRecipe(aInputItem, aOutputArray, aChanceArray, aRecipeDurationInTicks, aEUt); - - return true; - } - - @Deprecated - public static boolean addImmersiveEngineeringRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - int aChance2, ItemStack aOutput3, int aChance3) { - return true; - } - - @Deprecated - public static boolean addMagneticraftRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, int aChance2, - ItemStack aOutput3, int aChance3) { - return true; - } - - /** - * Adds a Recipe to the Sawmills of ThermalCraft - */ - @Deprecated - public static boolean addSawmillRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2) { - return true; - } - - /** - * Induction Smelter Recipes and Alloy Smelter Recipes - */ - @Deprecated - public static boolean addAlloySmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, int aDuration, - int aEUt, boolean aAllowSecondaryInputEmpty) { - if (aInput1 == null || (aInput2 == null && !aAllowSecondaryInputEmpty) || aOutput1 == null) return false; - aOutput1 = GT_OreDictUnificator.get(true, aOutput1); - RA.stdBuilder() - .itemInputs(aInput1, aInput2) - .itemOutputs(aOutput1) - .duration(aDuration) - .eut(aEUt) - .addTo(alloySmelterRecipes); - return true; - } - - /** - * Induction Smelter Recipes for TE - */ - public static boolean addInductionSmelterRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aOutput1, - ItemStack aOutput2, int aEnergy, int aChance) { - return true; - } - - /** - * Smelts Ores to Ingots - */ - public static boolean addOreToIngotSmeltingRecipe(ItemStack aInput, ItemStack aOutput) { - aOutput = GT_OreDictUnificator.get(true, aOutput); - if (aInput == null || aOutput == null) return false; - FurnaceRecipes.smelting() - .func_151394_a(aInput, GT_Utility.copyOrNull(aOutput), 0.0F); - return true; - } - - /** * Adds GT versions of the IC2 recipes from the supplied IC2RecipeList. */ public static void addIC2RecipesToGT(Map<IRecipeInput, RecipeOutput> aIC2RecipeList, RecipeMap<?> aGTRecipeMap, @@ -781,35 +602,27 @@ public class GT_ModHandler { .contains("ic2.itemPurifiedCrushed")))) continue; switch (aGTRecipeMap.unlocalizedName) { - case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> aGTRecipeMap - .addRecipe( - true, - new ItemStack[] { GT_Utility.copyAmount( + case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> GT_Values.RA + .stdBuilder() + .itemInputs( + GT_Utility.copyAmount( iRecipeInputRecipeOutputEntry.getKey() .getAmount(), - tStack) }, - iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0]), - null, - null, - null, - null, - 300, - 2, - 0); - case "gt.recipe.thermalcentrifuge" -> aGTRecipeMap.addRecipe( - true, - new ItemStack[] { GT_Utility.copyAmount( - iRecipeInputRecipeOutputEntry.getKey() - .getAmount(), - tStack) }, - iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0]), - null, - null, - null, - null, - 500, - 48, - 0); + tStack)) + .itemOutputs(iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0])) + .duration(15 * SECONDS) + .eut(2) + .addTo(aGTRecipeMap); + case "gt.recipe.thermalcentrifuge" -> GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount( + iRecipeInputRecipeOutputEntry.getKey() + .getAmount(), + tStack)) + .itemOutputs(iRecipeInputRecipeOutputEntry.getValue().items.toArray(new ItemStack[0])) + .duration(25 * SECONDS) + .eut(48) + .addTo(aGTRecipeMap); } } catch (Exception e) { System.err.println(e); @@ -870,48 +683,10 @@ public class GT_ModHandler { return emptyRecipeMap; } - public static Map<IRecipeInput, RecipeOutput> getMassFabricatorList() { - try { - return ic2.api.recipe.Recipes.matterAmplifier.getRecipes(); - } catch (Throwable e) { - /* Do nothing */ - } - return emptyRecipeMap; - } - - /** - * IC2-ThermalCentrifuge Recipe. Overloads old Recipes automatically - */ - @Deprecated - public static boolean addThermalCentrifugeRecipe(ItemStack aInput, int[] aChances, int aHeat, Object... aOutput) { - if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false; - RA.addThermalCentrifugeRecipe( - aInput, - (ItemStack) aOutput[0], - aOutput.length >= 2 ? (ItemStack) aOutput[1] : null, - aOutput.length >= 3 ? (ItemStack) aOutput[2] : null, - aChances, - 500, - 48); - return true; - } - - @Deprecated - public static boolean addThermalCentrifugeRecipe(ItemStack aInput, int aHeat, Object... aOutput) { - if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false; - RA.addThermalCentrifugeRecipe( - aInput, - (ItemStack) aOutput[0], - aOutput.length >= 2 ? (ItemStack) aOutput[1] : null, - aOutput.length >= 3 ? (ItemStack) aOutput[2] : null, - 500, - 48); - return true; - } - /** * IC2-OreWasher Recipe. Overloads old Recipes automatically */ + @Deprecated public static boolean addOreWasherRecipe(ItemStack aInput, int[] aChances, int aWaterAmount, Object... aOutput) { if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false; RA.stdBuilder() @@ -934,76 +709,6 @@ public class GT_ModHandler { return true; } - public static boolean addOreWasherRecipe(ItemStack aInput, int aWaterAmount, Object... aOutput) { - if (aInput == null || aOutput == null || aOutput.length == 0 || aOutput[0] == null) return false; - RA.stdBuilder() - .itemInputs(aInput) - .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2]) - .fluidInputs(GT_ModHandler.getWater(aWaterAmount)) - .duration(25 * SECONDS) - .eut(16) - .addTo(oreWasherRecipes); - - RA.stdBuilder() - .itemInputs(aInput) - .itemOutputs((ItemStack) aOutput[0], (ItemStack) aOutput[1], (ItemStack) aOutput[2]) - .fluidInputs(GT_ModHandler.getDistilledWater(aWaterAmount / 5)) - .duration(15 * SECONDS) - .eut(16) - .addTo(oreWasherRecipes); - return true; - } - - /** - * IC2-Compressor Recipe. Overloads old Recipes automatically - */ - @Deprecated - public static boolean addCompressionRecipe(ItemStack aInput, ItemStack aOutput) { - return addCompressionRecipe(aInput, aOutput, 300, 2); - } - - /** - * IC2-Compressor Recipe. Overloads old Recipes automatically - */ - @Deprecated - public static boolean addCompressionRecipe(ItemStack aInput, ItemStack aOutput, int duration, int EUPerTick) { - aOutput = GT_OreDictUnificator.get(true, aOutput); - if (aInput == null || aOutput == null || GT_Utility.areStacksEqual(aInput, aOutput, true)) return false; - RA.addCompressorRecipe(aInput, aOutput, duration, EUPerTick); - return true; - } - - /** - * @param aValue Scrap = 5000, Scrapbox = 45000, Diamond Dust 125000 - */ - public static boolean addIC2MatterAmplifier(ItemStack aAmplifier, int aValue) { - if (aAmplifier == null || aValue <= 0) return false; - try { - NBTTagCompound tNBT = new NBTTagCompound(); - tNBT.setInteger("amplification", aValue); - GT_Utility - .callMethod(ic2.api.recipe.Recipes.matterAmplifier, "addRecipe", false, false, false, aAmplifier, tNBT); - } catch (Throwable e) { - /* Do nothing */ - } - return true; - } - - /** - * Rolling Machine Crafting Recipe - */ - public static boolean addRollingMachineRecipe(ItemStack aResult, Object[] aRecipe) { - aResult = GT_OreDictUnificator.get(true, aResult); - if (aResult == null || aRecipe == null || aResult.stackSize <= 0) return false; - try { - mods.railcraft.api.crafting.RailcraftCraftingManager.rollingMachine.getRecipeList() - .add(new ShapedOreRecipe(GT_Utility.copyOrNull(aResult), aRecipe)); - } catch (Throwable e) { - return addCraftingRecipe(GT_Utility.copyOrNull(aResult), aRecipe); - } - return true; - } - public static void stopBufferingCraftingRecipes() { sBufferCraftingRecipes = false; @@ -2498,54 +2203,4 @@ public class GT_ModHandler { */ public static long DONT_REMOVE_SHAPELESS = B[13]; } - - /** - * Copy of the original Helper Class of Thermal Expansion, just to make sure it works even when other Mods include - * TE-APIs - */ - public static class ThermalExpansion { - - public static void addFurnaceRecipe(int energy, ItemStack input, ItemStack output) {} - - public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput) {} - - public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput, - ItemStack secondaryOutput) {} - - public static void addPulverizerRecipe(int energy, ItemStack input, ItemStack primaryOutput, - ItemStack secondaryOutput, int secondaryChance) {} - - public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput) {} - - public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput, - ItemStack secondaryOutput) {} - - public static void addSawmillRecipe(int energy, ItemStack input, ItemStack primaryOutput, - ItemStack secondaryOutput, int secondaryChance) {} - - public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput, - ItemStack primaryOutput) {} - - public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput, - ItemStack primaryOutput, ItemStack secondaryOutput) {} - - public static void addSmelterRecipe(int energy, ItemStack primaryInput, ItemStack secondaryInput, - ItemStack primaryOutput, ItemStack secondaryOutput, int secondaryChance) {} - - public static void addSmelterBlastOre(Materials aMaterial) {} - - public static void addCrucibleRecipe(int energy, ItemStack input, FluidStack output) {} - - public static void addTransposerFill(int energy, ItemStack input, ItemStack output, FluidStack fluid, - boolean reversible) {} - - public static void addTransposerExtract(int energy, ItemStack input, ItemStack output, FluidStack fluid, - int chance, boolean reversible) {} - - public static void addMagmaticFuel(String fluidName, int energy) {} - - public static void addCompressionFuel(String fluidName, int energy) {} - - public static void addCoolant(String fluidName, int energy) {} - } } diff --git a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java index 6f7c9a81bb..66bc11444a 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java +++ b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java @@ -334,14 +334,6 @@ public class GT_RecipeBuilder { return this; } - /** - * Really just {@link #special(Object)}, but with a different signature to make it less confusing. WARNING: only for - * legacy recipe map. do not abuse. - */ - public GT_RecipeBuilder specialItem(ItemStack specialItem) { - return special(specialItem); - } - public GT_RecipeBuilder duration(int duration) { this.duration = duration; return this; diff --git a/src/main/java/gregtech/api/util/GT_RecipeConstants.java b/src/main/java/gregtech/api/util/GT_RecipeConstants.java index d9d6c7d7d2..0828112fc7 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeConstants.java +++ b/src/main/java/gregtech/api/util/GT_RecipeConstants.java @@ -97,6 +97,88 @@ public class GT_RecipeConstants { public static final RecipeMetadataKey<Boolean> ON_FIRE = SimpleRecipeMetadataKey.create(Boolean.class, "on_fire"); /** + * Nano Forge Tier. + */ + public static final RecipeMetadataKey<Integer> NANO_FORGE_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "nano_forge_tier"); + + /** + * FOG Exotic recipe tier. + */ + public static final RecipeMetadataKey<Integer> FOG_EXOTIC_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "fog_exotic_tier"); + + /** + * FOG Plasma recipe tier. + */ + public static final RecipeMetadataKey<Integer> FOG_PLASMA_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "fog_plasma_tier"); + + /** + * DEFC Casing tier. + */ + public static final RecipeMetadataKey<Integer> DEFC_CASING_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "defc_casing_tier"); + + /** + * Chemplant Casing tier. Beware, codewise index starts at 0, but it is tier 1. + */ + public static final RecipeMetadataKey<Integer> CHEMPLANT_CASING_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "chemplant_casing_tier"); + + /** + * QFT Focus tier. + */ + public static final RecipeMetadataKey<Integer> QFT_FOCUS_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "qft_focus_tier"); + + /** + * Dissolution Tank Ratio. + */ + public static final RecipeMetadataKey<Integer> DISSOLUTION_TANK_RATIO = SimpleRecipeMetadataKey + .create(Integer.class, "dissolution_tank_ratio"); + + /** + * Duration in days for the RTG. + */ + public static final RecipeMetadataKey<Integer> RTG_DURATION_IN_DAYS = SimpleRecipeMetadataKey + .create(Integer.class, "rtg_duration_in_days"); + + /** + * Basic output for the Large Naquadah Generator. + */ + public static final RecipeMetadataKey<Integer> LNG_BASIC_OUTPUT = SimpleRecipeMetadataKey + .create(Integer.class, "lng_basic_output"); + + /** + * Coil tier for the Naquadah Fuel Refinery. + */ + public static final RecipeMetadataKey<Integer> NFR_COIL_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "nfr_coil_tier"); + + /** + * NKE range for the neutron activator. + */ + public static final RecipeMetadataKey<Integer> NKE_RANGE = SimpleRecipeMetadataKey + .create(Integer.class, "nke_range"); + /** + * Precise Assembler casing tier. + */ + public static final RecipeMetadataKey<Integer> PRECISE_ASSEMBLER_CASING_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "precise_assembler_casing_tier"); + /** + * CoAL casing tier. + */ + public static final RecipeMetadataKey<Integer> COAL_CASING_TIER = SimpleRecipeMetadataKey + .create(Integer.class, "coal_casing_tier"); + + /** + * LFTR output power. + */ + public static final RecipeMetadataKey<Integer> LFTR_OUTPUT_POWER = SimpleRecipeMetadataKey + .create(Integer.class, "lftr_output_power"); + + /** * Add a arc furnace recipe. Adds to both normal arc furnace and plasma arc furnace. * Will override the fluid input with oxygen/plasma for the respective recipe maps, so there is no point setting it. */ @@ -328,5 +410,19 @@ public class GT_RecipeConstants { GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(COIL_HEAT); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(FUSION_THRESHOLD); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(FUEL_VALUE); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(NANO_FORGE_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(FOG_EXOTIC_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(FOG_PLASMA_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(DEFC_CASING_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(CHEMPLANT_CASING_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(QFT_FOCUS_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(DISSOLUTION_TANK_RATIO); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(RTG_DURATION_IN_DAYS); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(LNG_BASIC_OUTPUT); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(NFR_COIL_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(NKE_RANGE); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(PRECISE_ASSEMBLER_CASING_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(COAL_CASING_TIER); + } } diff --git a/src/main/java/gregtech/api/util/GasSpargingRecipe.java b/src/main/java/gregtech/api/util/GasSpargingRecipe.java index 667cc78d85..527359e0e8 100644 --- a/src/main/java/gregtech/api/util/GasSpargingRecipe.java +++ b/src/main/java/gregtech/api/util/GasSpargingRecipe.java @@ -2,10 +2,10 @@ package gregtech.api.util; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.TierEU; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.util.data.ArrayUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; public class GasSpargingRecipe implements Comparable<GasSpargingRecipe> { @@ -29,7 +29,7 @@ public class GasSpargingRecipe implements Comparable<GasSpargingRecipe> { mFluidOutputs = aOutputs; mMaxOutputQuantity = aMaxOutputQuantity; mDuration = 500; - mEUt = MaterialUtils.getVoltageForTier(5); + mEUt = (int) TierEU.RECIPE_IV; } @Override diff --git a/src/main/java/gregtech/api/util/HotFuel.java b/src/main/java/gregtech/api/util/HotFuel.java deleted file mode 100644 index 6054a57b84..0000000000 --- a/src/main/java/gregtech/api/util/HotFuel.java +++ /dev/null @@ -1,40 +0,0 @@ -package gregtech.api.util; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gtPlusPlus.api.recipe.GTPPRecipeMaps; - -public class HotFuel { - - public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, ItemStack[] outputItems, int[] chances, - int aSpecialValue) { - GTPPRecipeMaps.thermalBoilerRecipes.addRecipe( - true, - null, - outputItems, - null, - chances, - new FluidStack[] { aInput1 }, - new FluidStack[] { aOutput1 }, - 1, // 1 Tick - 0, // No Eu produced - aSpecialValue // Magic Number - ); - } - - public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, FluidStack aOutput2, int aSpecialValue) { - GTPPRecipeMaps.thermalBoilerRecipes.addRecipe( - false, - null, - null, - null, - null, - new FluidStack[] { aInput1 }, - new FluidStack[] { aOutput1, aOutput2 }, - 20, // 1 Second - 0, // No Eu produced - aSpecialValue // Magic Number - ); - } -} diff --git a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java index e3baa9ac90..aa983a5804 100644 --- a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java +++ b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java @@ -1,5 +1,6 @@ package gregtech.api.util; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels; import java.util.HashMap; @@ -8,6 +9,7 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.GT_Values; import gregtech.api.recipe.RecipeMaps; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.Pair; @@ -15,45 +17,6 @@ import gtPlusPlus.core.util.minecraft.FluidUtils; public class SemiFluidFuelHandler { - public static boolean addSemiFluidFuel(ItemStack aFuelItem, int aFuelValue) { - FluidStack p = FluidContainerRegistry.getFluidForFilledItem(aFuelItem); - if (p != null && aFuelValue > 0) { - return addSemiFluidFuel(p, aFuelValue); - } else { - Logger.INFO("Fuel value for " + aFuelItem.getDisplayName() + " is <= 0, ignoring."); - } - return false; - } - - public static boolean addSemiFluidFuel(FluidStack aFuel, int aFuelValue) { - FluidStack p = aFuel; - if (p != null && aFuelValue > 0) { - GT_Recipe aRecipe = new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { p }, - null, - 0, - 0, - aFuelValue); - if (aRecipe.mSpecialValue > 0) { - Logger.INFO( - "Added " + aRecipe.mFluidInputs[0].getLocalizedName() - + " to the Semi-Fluid Generator fuel map. Fuel Produces " - + (aRecipe.mSpecialValue * 1000) - + "EU per 1000L."); - semiFluidFuels.add(aRecipe); - return true; - } - } else { - Logger.INFO("Fuel value for " + p != null ? p.getLocalizedName() : "NULL Fluid" + " is <= 0, ignoring."); - } - return false; - } - public static boolean generateFuels() { final FluidStack aCreosote = FluidUtils.getFluidStack("creosote", 1000); final FluidStack aHeavyFuel = FluidUtils.getFluidStack("liquid_heavy_fuel", 1000); @@ -89,46 +52,45 @@ public class SemiFluidFuelHandler { } } for (Pair<FluidStack, Integer> p : aFoundFluidsFromItems.values()) { - if (p != null) { - int aFuelValue = p.getValue(); - if (p.getKey() - .isFluidEqual(aCreosote)) { - aFuelValue *= 6; - } else if (p.getKey() - .isFluidEqual(aHeavyFuel) - || p.getKey() - .isFluidEqual(aHeavyOil)) { - aFuelValue *= 1.5; - } else { - aFuelValue *= 2; - } + if (p == null) { + continue; + } - if (aFuelValue <= (128 * 3)) { - GT_Recipe aRecipe = new GT_Recipe( - true, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - new FluidStack[] { p.getKey() }, - null, - 0, - 0, - aFuelValue); - if (aRecipe.mSpecialValue > 0) { - Logger.INFO( - "Added " + aRecipe.mFluidInputs[0].getLocalizedName() - + " to the Semi-Fluid Generator fuel map. Fuel Produces " - + (aRecipe.mSpecialValue * 1000) - + "EU per 1000L."); - semiFluidFuels.add(aRecipe); + int aFuelValue = p.getValue(); + if (p.getKey() + .isFluidEqual(aCreosote)) { + aFuelValue *= 6; + } else if (p.getKey() + .isFluidEqual(aHeavyFuel) + || p.getKey() + .isFluidEqual(aHeavyOil)) { + aFuelValue *= 1.5; + } else { + aFuelValue *= 2; } - } else { - Logger.INFO( - "Boosted Fuel value for " + p.getKey() - .getLocalizedName() + " exceeds 512k, ignoring."); - } + + if (aFuelValue <= (128 * 3)) { + + GT_Values.RA.stdBuilder() + .fluidInputs(p.getKey()) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, aFuelValue) + .addTo(semiFluidFuels); + + Logger.INFO( + "Added " + p.getKey() + .getLocalizedName() + + " to the Semi-Fluid Generator fuel map. Fuel Produces " + + (aFuelValue * 1000) + + "EU per 1000L."); + + } else { + Logger.INFO( + "Boosted Fuel value for " + p.getKey() + .getLocalizedName() + " exceeds 512k, ignoring."); } + } return !semiFluidFuels.getAllRecipes() .isEmpty(); 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(); } diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java index 809c73c2e7..d603d7b004 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java @@ -1,5 +1,6 @@ package gregtech.common.items; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.Textures.BlockIcons.COVER_WOOD_PLATE; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR; @@ -34,6 +35,7 @@ import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_ZPM; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.cannerRecipes; import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.packagerRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -518,9 +520,6 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { public static GT_MetaGenerated_Item_01 INSTANCE; private final String mToolTipPurify = GT_LanguageManager .addStringLocalization("metaitem.01.tooltip.purify", "Throw into Cauldron to get clean Dust"); - private static final String aTextArrow = " A"; - private static final String aTextStick = " S "; - private static final String aTextFeather = "F "; private static final String aTextEmptyRow = " "; private static final String aTextShape = " P "; private static final String PartCoverText = " L/t ("; @@ -3287,7 +3286,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void compressorRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 8L)) .itemOutputs(new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID)) .duration(15 * SECONDS) @@ -3642,7 +3641,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void assemblerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L), @@ -3652,7 +3651,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(1) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Aluminium, 2L), @@ -3662,7 +3661,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(1) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Steel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.AnyBronze, 4L), @@ -3672,7 +3671,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.TungstenSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Platinum, 4L), @@ -3682,7 +3681,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Aluminium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Silver, 4L), @@ -3692,7 +3691,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(64) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.StainlessSteel, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Electrum, 4L), @@ -3702,7 +3701,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Titanium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.RoseGold, 4L), @@ -3712,7 +3711,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(256) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Chrome, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Palladium, 4L), @@ -3722,7 +3721,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(1024) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Naquadah, 4L), @@ -3732,7 +3731,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_EV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Osmium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.ElectrumFlux, 4L), @@ -3742,7 +3741,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(4096) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 4L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Draconium, 4L), @@ -3752,7 +3751,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_IV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), ItemList.Large_Fluid_Cell_Aluminium.get(1), @@ -3762,7 +3761,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(1) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Phosphorus, 1L), @@ -3771,7 +3770,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(16 * TICKS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.TricalciumPhosphate, 1L), @@ -3780,7 +3779,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(16 * TICKS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1L), @@ -3789,7 +3788,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(3 * SECONDS + 4 * TICKS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TricalciumPhosphate, 1L), @@ -3799,7 +3798,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Invar, 2L), new ItemStack(Items.flint, 1), @@ -3809,7 +3808,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Platinum, 2L), new ItemStack(Items.flint, 1), @@ -3819,7 +3818,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(256) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L), @@ -3828,7 +3827,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L), @@ -3837,7 +3836,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L), @@ -3846,7 +3845,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L), @@ -3855,7 +3854,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plastic, 2L), @@ -3864,7 +3863,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L), @@ -3873,7 +3872,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L), @@ -3882,7 +3881,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * MINUTES + 20 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L), @@ -3891,7 +3890,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * MINUTES + 20 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L), @@ -3901,7 +3900,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Sensor_EV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1L), @@ -3911,7 +3910,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), ItemList.Cover_Drain.get(1L), @@ -3920,7 +3919,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), ItemList.Cover_Drain.get(1L), @@ -3929,7 +3928,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), ItemList.Cover_Drain.get(1L), @@ -3938,7 +3937,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L), new ItemStack(Blocks.iron_bars, 2), @@ -3947,7 +3946,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 2L), new ItemStack(Blocks.iron_bars, 2), @@ -3956,7 +3955,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 2L), new ItemStack(Blocks.iron_bars, 2), @@ -3965,7 +3964,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), new ItemStack(Blocks.crafting_table, 1), @@ -3974,7 +3973,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), new ItemStack(Blocks.crafting_table, 1), @@ -3983,7 +3982,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), new ItemStack(Blocks.crafting_table, 1), @@ -3992,7 +3991,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(40 * SECONDS) .eut(16) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_Screen.get(1L), ItemList.Cover_FluidDetector.get(1L), @@ -4002,14 +4001,14 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(4) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Sensor_LV.get(1L), ItemList.Emitter_LV.get(1L), GT_Utility.getIntegratedCircuit(1)) .itemOutputs(ItemList.NC_SensorKit.get(1L)) .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Emitter_EV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 1L), @@ -4018,7 +4017,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Sensor_EV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 1L), @@ -4028,7 +4027,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Emitter_MV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L), @@ -4038,7 +4037,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 2L), ItemList.Component_Filter.get(1L), @@ -4048,7 +4047,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * SECONDS) .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 2L), ItemList.Component_Filter.get(1L), @@ -4061,7 +4060,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void cannerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 2L), ItemList.Battery_Hull_LV.get(1L)) @@ -4069,7 +4068,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 2L), ItemList.Battery_Hull_LV.get(1L)) @@ -4077,7 +4076,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 2L), ItemList.Battery_Hull_LV.get(1L)) @@ -4085,7 +4084,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(5 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 8L), ItemList.Battery_Hull_MV.get(1L)) @@ -4093,7 +4092,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 8L), ItemList.Battery_Hull_MV.get(1L)) @@ -4101,7 +4100,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 8L), ItemList.Battery_Hull_MV.get(1L)) @@ -4109,7 +4108,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 32L), ItemList.Battery_Hull_HV.get(1L)) @@ -4117,7 +4116,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 32L), ItemList.Battery_Hull_HV.get(1L)) @@ -4125,7 +4124,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(1 * MINUTES + 20 * SECONDS) .eut(2) .addTo(cannerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 32L), ItemList.Battery_Hull_HV.get(1L)) @@ -4136,7 +4135,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void packagerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Tool_Matches.get(16L), GT_OreDictUnificator.get(OrePrefixes.plateDouble, Materials.Paper, 1L)) @@ -4144,7 +4143,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { .duration(3 * SECONDS + 4 * TICKS) .eut(16) .addTo(packagerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Tool_MatchBox_Full.get(1L)) .itemOutputs(ItemList.Tool_Matches.get(16L)) .duration(1 * SECONDS + 12 * TICKS) @@ -4153,24 +4152,96 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { } private void extractorRecipes() { - GT_ModHandler - .addExtractionRecipe(ItemList.Battery_SU_LV_SulfuricAcid.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_SU_LV_Mercury.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler - .addExtractionRecipe(ItemList.Battery_SU_MV_SulfuricAcid.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_SU_MV_Mercury.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler - .addExtractionRecipe(ItemList.Battery_SU_HV_SulfuricAcid.get(1L), ItemList.Battery_Hull_HV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_SU_HV_Mercury.get(1L), ItemList.Battery_Hull_HV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_LV_Cadmium.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_LV_Lithium.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_LV_Sodium.get(1L), ItemList.Battery_Hull_LV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_MV_Cadmium.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_MV_Lithium.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_MV_Sodium.get(1L), ItemList.Battery_Hull_MV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_HV_Cadmium.get(1L), ItemList.Battery_Hull_HV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_HV_Lithium.get(1L), ItemList.Battery_Hull_HV.get(1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Battery_RE_HV_Sodium.get(1L), ItemList.Battery_Hull_HV.get(1L)); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_LV_SulfuricAcid.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_LV_Mercury.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_MV_SulfuricAcid.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_MV_Mercury.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_HV_SulfuricAcid.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_SU_HV_Mercury.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_LV_Cadmium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_LV_Lithium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_LV_Sodium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_LV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_MV_Cadmium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_MV_Lithium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_MV_Sodium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_MV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_HV_Cadmium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_HV_Lithium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Battery_RE_HV_Sodium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); } private void craftingShapedRecipes() { diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java index f7a2a37a2d..d1e657c2c8 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java @@ -1,5 +1,6 @@ package gregtech.common.items; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ADVANCED_REDSTONE_RECEIVER; @@ -10,6 +11,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_ITEM_DETEC import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_MAINTENANCE_DETECTOR; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -2526,7 +2528,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { } public void initAssemblerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_RedstoneTransmitterExternal.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L), @@ -2535,7 +2537,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_RedstoneReceiverExternal.get(1L), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 1L), @@ -2544,7 +2546,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_FluidDetector.get(1L), ItemList.Emitter_EV.get(1L), @@ -2553,7 +2555,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_ItemDetector.get(1L), ItemList.Emitter_EV.get(1L), @@ -2562,7 +2564,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_NeedsMaintainance.get(1L), ItemList.Emitter_EV.get(1L), @@ -2571,7 +2573,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .duration(2 * MINUTES + 40 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemList.Cover_ActivityDetector.get(1L), ItemList.Emitter_EV.get(1L), @@ -2598,117 +2600,208 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { } public void initExtractorRecipes() { - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 0), new ItemStack(Items.dye, 2, 1)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 1), new ItemStack(Items.dye, 2, 12)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 2), new ItemStack(Items.dye, 2, 13)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 3), new ItemStack(Items.dye, 2, 7)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 4), new ItemStack(Items.dye, 2, 1)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 5), new ItemStack(Items.dye, 2, 14)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 6), new ItemStack(Items.dye, 2, 7)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 7), new ItemStack(Items.dye, 2, 9)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.red_flower, 1, 8), new ItemStack(Items.dye, 2, 7)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.yellow_flower, 1, 0), new ItemStack(Items.dye, 2, 11)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.double_plant, 1, 0), new ItemStack(Items.dye, 3, 11)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.double_plant, 1, 1), new ItemStack(Items.dye, 3, 13)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.double_plant, 1, 4), new ItemStack(Items.dye, 3, 1)); - GT_ModHandler.addExtractionRecipe(new ItemStack(Blocks.double_plant, 1, 5), new ItemStack(Items.dye, 3, 9)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_Plumbilia.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_Argentia.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1L)); - GT_ModHandler.addExtractionRecipe(ItemList.Crop_Drop_Indigo.get(1L), ItemList.Dye_Indigo.get(1L)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_MilkWart.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_Coppon.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L)); - GT_ModHandler.addExtractionRecipe( - ItemList.Crop_Drop_Tine.get(1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1L)); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 2, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 1)) + .itemOutputs(new ItemStack(Items.dye, 2, 12)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 2)) + .itemOutputs(new ItemStack(Items.dye, 2, 13)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 3)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 4)) + .itemOutputs(new ItemStack(Items.dye, 2, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 5)) + .itemOutputs(new ItemStack(Items.dye, 2, 14)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 6)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 7)) + .itemOutputs(new ItemStack(Items.dye, 2, 9)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 8)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.yellow_flower, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 2, 11)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 3, 11)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 1)) + .itemOutputs(new ItemStack(Items.dye, 3, 13)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 4)) + .itemOutputs(new ItemStack(Items.dye, 3, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 5)) + .itemOutputs(new ItemStack(Items.dye, 3, 9)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Plumbilia.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Argentia.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Indigo.get(1L)) + .itemOutputs(ItemList.Dye_Indigo.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_MilkWart.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Coppon.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Tine.get(1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + } public void initCompressorRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Coppon.get(4L)) .itemOutputs(new ItemStack(Blocks.wool, 1, 1)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Plumbilia.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Argentia.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Indigo.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Ferru.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Aurelia.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_OilBerry.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_BobsYerUncleRanks.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Tine.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Rape.get(4L)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Blocks.red_flower, 8, 32767)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Blocks.yellow_flower, 8, 32767)) .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) .duration(15 * SECONDS) @@ -2717,56 +2810,56 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { } public void initMaceratorRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Food_Sliced_Cheese.get(1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cheese, 1L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Dye_Cocoa.get(1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Crop_Drop_Tine.get(1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Blocks.pumpkin, 1, 0)) .itemOutputs(new ItemStack(Items.pumpkin_seeds, 4, 0)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Items.melon, 1, 0)) .itemOutputs(new ItemStack(Items.melon_seeds, 1, 0)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_ModHandler.getIC2Item("crop", 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Items.stick, 1)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(new ItemStack(Blocks.wool, 1, WILDCARD)) .itemOutputs(new ItemStack(Items.string, 2), new ItemStack(Items.string, 1)) .outputChances(10000, 5000) @@ -2774,7 +2867,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { .eut(2) .addTo(maceratorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.Tesseract.get(1)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.TranscendentMetal, 8L)) .duration(5 * SECONDS) diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java index 0343362c77..bed97ca010 100644 --- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java +++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java @@ -3,6 +3,12 @@ package gregtech.loaders.load; import static gregtech.api.enums.Mods.BloodMagic; import static gregtech.api.enums.Mods.EnderIO; import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.extremeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.hugeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.largeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.magicFuels; +import static gregtech.api.recipe.RecipeMaps.smallNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.ultraHugeNaquadahReactorFuels; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; @@ -16,11 +22,9 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.fluid.GT_FluidFactory; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_RecipeConstants; public class GT_FuelLoader implements Runnable { @@ -39,117 +43,79 @@ public class GT_FuelLoader implements Runnable { ItemList.sLeadZincSolution = GT_FluidFactory .of("leadzincsolution", "Lead-Zinc solution", null, FluidState.LIQUID, 295); ItemList.sRocketFuel = GT_FluidFactory.of("rocket_fuel", "Rocket Fuel", null, FluidState.LIQUID, 295); - new GT_Recipe( - new ItemStack(Items.lava_bucket), - new ItemStack(Blocks.obsidian), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L), - GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1L), - 30, - 2); - RecipeMaps.smallNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 50000); - RecipeMaps.largeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 250000); - RecipeMaps.hugeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 500000); - RecipeMaps.extremeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 250000); - RecipeMaps.ultraHugeNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 1000000); - RecipeMaps.fluidNaquadahReactorFuels.addRecipe( - true, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NaquadahEnriched, 1L) }, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naquadah, 1L) }, - null, - null, - null, - 0, - 0, - 1400000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 50_000) + .addTo(smallNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 250_000) + .addTo(largeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 500_000) + .addTo(hugeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 250_000) + .addTo(extremeNaquadahReactorFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 1_000_000) + .addTo(ultraHugeNaquadahReactorFuels); // BloodMagic - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L) }, - null, - null, - null, - 0, - 0, - 400); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, - null, - null, - null, - 0, - 0, - 1000); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, - null, - null, - null, - 0, - 0, - 8000); - RecipeMaps.magicFuels.addRecipe( - true, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27) }, - new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, - null, - null, - null, - 0, - 0, - 20000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 400) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 1000) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 8000) + .addTo(magicFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27)) + .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 20000) + .addTo(magicFuels); GT_Values.RA.stdBuilder() .itemInputs(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4)) diff --git a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java index 26534f5414..a44b411ba0 100644 --- a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java +++ b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java @@ -240,10 +240,6 @@ public class GT_ItemIterator implements Runnable { .duration(20 * SECONDS) .eut(2) .addTo(maceratorRecipes); - GT_ModHandler.addSawmillRecipe( - new ItemStack(tItem, 1, 0), - new ItemStack(Items.stick, 4), - new ItemStack(Items.stick, 2)); GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(tItem, 1, 1)) .itemOutputs(new ItemStack(Items.stick, 4)) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java index 5a6bdfcf13..f7057065eb 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java @@ -1,8 +1,11 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; @@ -11,7 +14,6 @@ import java.util.ArrayList; import net.minecraft.item.ItemStack; -import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -39,11 +41,16 @@ public class ProcessingCell implements IOreRecipeRegistrator { if (aMaterial == Materials.Empty) { GT_ModHandler.removeRecipeByOutputDelayed(aStack); if (aModName.equalsIgnoreCase("AtomicScience")) { - GT_ModHandler.addExtractionRecipe(ItemList.Cell_Empty.get(1L), aStack); + RA.stdBuilder() + .itemInputs(ItemList.Cell_Empty.get(1L)) + .itemOutputs(aStack) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); } } else { if (aMaterial.mFuelPower > 0) { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); recipeBuilder.itemInputs(GT_Utility.copyAmount(1, aStack)); if (GT_Utility.getFluidForFilledItem(aStack, true) == null && GT_Utility.getContainerItem(aStack, true) != null) { @@ -122,7 +129,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { // Electrolyzer recipe if (GT_Utility.getFluidForFilledItem(aStack, true) == null) { // dust stuffed cell e.g. Phosphate, Phosphorous Pentoxide - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCapsuleCount > 0L) { recipeBuilder.itemInputs( GT_Utility.copyAmount(tItemAmount, aStack), @@ -140,7 +147,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { .addTo(electrolyzerRecipes); } else { long tCellBalance = tCapsuleCount + tItemAmount - 1; - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCellBalance > 0L) { recipeBuilder.itemInputs(aStack, ItemList.Cell_Empty.get(tCellBalance)); } else { @@ -157,7 +164,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { } } if ((aMaterial.mExtraData & 0x2) != 0) { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); if (tCapsuleCount > 0L) { recipeBuilder.itemInputs( GT_Utility.copyAmount(tItemAmount, aStack), @@ -180,7 +187,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { if (aMaterial == Materials.Empty) { GT_ModHandler.removeRecipeByOutputDelayed(aStack); } else { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GT_RecipeBuilder recipeBuilder = RA.stdBuilder(); recipeBuilder.itemInputs(GT_Utility.copyAmount(1, aStack)); if (GT_Utility.getFluidForFilledItem(aStack, true) == null && GT_Utility.getContainerItem(aStack, true) != null) { @@ -426,7 +433,7 @@ public class ProcessingCell implements IOreRecipeRegistrator { .addTo(GT_RecipeConstants.Fuel); } if (GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L) != null) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.copyAmount(1, aStack)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L)) .duration(((int) Math.max(aMaterial.getMass() * 2L, 1L)) * TICKS) diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java index 7cb26f7c36..c8a3af1130 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java @@ -290,16 +290,12 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1L)); break; case "Oilsands": - centrifugeRecipes.addRecipe( - true, - new ItemStack[] { GT_Utility.copyAmount(1, aStack) }, - null, - null, - null, - new FluidStack[] { Materials.OilHeavy.getFluid(1000) }, - 660, - 8, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack)) + .fluidOutputs(Materials.OilHeavy.getFluid(1000)) + .duration(33 * SECONDS) + .eut(8) + .addTo(centrifugeRecipes); break; case "HydratedCoal": GT_ModHandler.addSmeltingRecipe( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java index f3e82c0b0e..9661033e6a 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java @@ -1,8 +1,11 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import java.util.Locale; @@ -59,21 +62,21 @@ public class ProcessingDye implements IOreRecipeRegistrator { } public void registerAlloySmelter(ItemStack stack, Dyes dye) { - GT_ModHandler.addAlloySmelterRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L), - GT_Utility.copyAmount(1, stack), - new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex), - 200, - 8, - false); + RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 8L), + GT_Utility.copyAmount(1, stack)) + .itemOutputs(new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex)) + .duration(10 * SECONDS) + .eut(8) + .addTo(alloySmelterRecipes); - GT_ModHandler.addAlloySmelterRecipe( - new ItemStack(Blocks.glass, 8, 32767), - GT_Utility.copyAmount(1, stack), - new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex), - 200, - 8, - false); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.glass, 8, WILDCARD), GT_Utility.copyAmount(1, stack)) + .itemOutputs(new ItemStack(Blocks.stained_glass, 8, 15 - dye.mIndex)) + .duration(10 * SECONDS) + .eut(8) + .addTo(alloySmelterRecipes); } public void registerChemicalReactor(ItemStack stack, Dyes dye) { diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java index 737ef4682a..5985e24dc7 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java @@ -187,10 +187,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra .duration(10 * SECONDS) .eut(8) .addTo(cutterRecipes); - GT_ModHandler.addSawmillRecipe( - new ItemStack(aStack.getItem(), 1, i), - tPlanks, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)); GT_ModHandler.removeRecipeDelayed(new ItemStack(aStack.getItem(), 1, i)); GT_ModHandler.addCraftingRecipe( GT_Utility.copyAmount( @@ -260,10 +256,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra .duration(10 * SECONDS) .eut(8) .addTo(cutterRecipes); - GT_ModHandler.addSawmillRecipe( - GT_Utility.copyAmount(1, aStack), - tPlanks, - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)); GT_ModHandler.removeRecipeDelayed(GT_Utility.copyAmount(1, aStack)); GT_ModHandler.addCraftingRecipe( GT_Utility.copyAmount( diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java index be8322f30c..801eaa8354 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java @@ -2,6 +2,7 @@ package gregtech.loaders.oreprocessing; import static gregtech.api.enums.GT_Values.L; import static gregtech.api.enums.GT_Values.NI; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.GT_Values.W; import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; @@ -15,6 +16,7 @@ import static gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLIS import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_Utility.calculateRecipeEU; @@ -552,20 +554,18 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist .addTo(alloySmelterRecipes); } case "plateAlloyAdvanced" -> { - GT_ModHandler.addAlloySmelterRecipe( - GT_Utility.copyAmount(1, aStack), - new ItemStack(Blocks.glass, 3, W), - GT_ModHandler.getIC2Item("reinforcedGlass", 4L), - 400, - 4, - false); - GT_ModHandler.addAlloySmelterRecipe( - GT_Utility.copyAmount(1, aStack), - Materials.Glass.getDust(3), - GT_ModHandler.getIC2Item("reinforcedGlass", 4L), - 400, - 4, - false); + RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack), new ItemStack(Blocks.glass, 3, WILDCARD)) + .itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L)) + .duration(20 * SECONDS) + .eut(4) + .addTo(alloySmelterRecipes); + RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack), Materials.Glass.getDust(3)) + .itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L)) + .duration(20 * SECONDS) + .eut(4) + .addTo(alloySmelterRecipes); } case "plateAlloyIridium" -> diff --git a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java index 92221025bd..d4e653dba2 100644 --- a/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_FakeRecipeLoader.java @@ -1,18 +1,23 @@ package gregtech.loaders.postload; import gregtech.api.enums.GT_Values; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; public class GT_FakeRecipeLoader implements Runnable { @Override public void run() { - GT_Values.RA.addIC2ReactorBreederCell( - GT_ModHandler.getIC2Item("reactorLithiumCell", 1), - GT_ModHandler.getIC2Item("TritiumCell", 1), - true, - 3000, - 1, - 10000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("reactorLithiumCell", 1)) + .itemOutputs(GT_ModHandler.getIC2Item("TritiumCell", 1)) + .setNEIDesc( + "Neutron reflecting Breeder", + String.format("Every %d reactor hull heat", 3_000), + String.format("increase speed by %d00%%", 1), + String.format("Required pulses: %d", 10_000)) + .duration(0) + .eut(0) + .addTo(RecipeMaps.ic2NuclearFakeRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java index dabcd93a8d..1765d9693a 100644 --- a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java +++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java @@ -4,11 +4,13 @@ import static gregtech.api.enums.Mods.BartWorks; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.GoodGenerator; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.recipe.RecipeMaps.nanoForgeRecipes; import static gregtech.api.util.GT_ModHandler.getModItem; import static gregtech.api.util.GT_RecipeBuilder.HOURS; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.NANO_FORGE_TIER; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; @@ -23,9 +25,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_RecipeBuilder; public class GT_NaniteChain { @@ -86,135 +86,143 @@ public class GT_NaniteChain { */ // Carbon Nanites - Used to make more Nano Forge Controllers - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUVTierLens, getModItem(BartWorks.ID, "bw.werkstoffblockscasingadvanced.01", 8, 31776), - ItemList.Circuit_Chip_SoC.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(200_000) }, - new ItemStack[] { Materials.Carbon.getNanite(64), }, - null, - null, - 500 * 20, - 10_000_000, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + aUVTierLens, + getModItem(BartWorks.ID, "bw.werkstoffblockscasingadvanced.01", 8, 31776), + ItemList.Circuit_Chip_SoC.get(64)) + .itemOutputs(Materials.Carbon.getNanite(64)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 1) + .duration(8 * MINUTES + 20 * SECONDS) + .eut(10_000_000) + .addTo(nanoForgeRecipes); // Silver Nanites - Used in Tier 2 PCB Factory to improve board production - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16) }, - new FluidStack[] { Materials.UUMatter.getFluid(200000) }, - new ItemStack[] { Materials.Silver.getNanite(1) }, - null, - null, - 750 * 20, - 10_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(aUEVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)) + .itemOutputs(Materials.Silver.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(37 * MINUTES + 30 * SECONDS) + .eut(10_000_000) + .addTo(nanoForgeRecipes); // Neutronium Nanites - Used to upgrade the Nano Forge to Tier 2 - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUHVTierLens, Materials.Neutronium.getBlocks(8), ItemList.Circuit_Chip_SoC2.get(64), - ItemList.Circuit_Chip_SoC2.get(32) }, - new FluidStack[] { Materials.UUMatter.getFluid(200000) }, - new ItemStack[] { Materials.Neutronium.getNanite(1) }, - null, - null, - 100 * 20, - 100_000_000, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + aUHVTierLens, + Materials.Neutronium.getBlocks(8), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(32)) + .itemOutputs(Materials.Neutronium.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(200_000)) + .metadata(NANO_FORGE_TIER, 1) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(100_000_000) + .addTo(nanoForgeRecipes); // Glowstone Nanites - Used in the optical circuit line - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUEVTierLens, getModItem(GTPlusPlus.ID, "blockCompressedObsidian", 8, 7), // Double - // compressed - // glowstone - // blocks - // (yes, it's - // not - // obsidian) - ItemList.Circuit_Chip_SoC2.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(50000) }, - new ItemStack[] { Materials.Glowstone.getNanite(64) }, - null, - null, - 200 * 20, - 50_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + aUEVTierLens, + getModItem(GTPlusPlus.ID, "blockCompressedObsidian", 8, 7), // Double compressed glowstone blocks (yes, + // it's not obsidian) + ItemList.Circuit_Chip_SoC2.get(64)) + .itemOutputs(Materials.Glowstone.getNanite(64)) + .fluidInputs(Materials.UUMatter.getFluid(50_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(50_000_000) + .addTo(nanoForgeRecipes); // Gold Nanites - Used in Tier 3 PCB Factory to improve board production - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16) }, - new FluidStack[] { Materials.UUMatter.getFluid(300000) }, - new ItemStack[] { Materials.Gold.getNanite(1) }, - null, - null, - 1_000 * 20, - 100_000_000, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)) + .itemOutputs(Materials.Gold.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(300_000)) + .metadata(NANO_FORGE_TIER, 3) + .duration(16 * MINUTES + 40 * SECONDS) + .eut(100_000_000) + .addTo(nanoForgeRecipes); // Transcendent Metal Nanites - Used to upgrade the Nano Forge to Tier 3 - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUIVTierLens, MaterialsUEVplus.TranscendentMetal.getBlocks(8), - ItemList.Circuit_Chip_SoC2.get(64), ItemList.Circuit_Chip_SoC2.get(64), - ItemList.Circuit_Chip_SoC2.get(64) }, - new FluidStack[] { Materials.UUMatter.getFluid(2000000) }, - new ItemStack[] { MaterialsUEVplus.TranscendentMetal.getNanite(1) }, - null, - null, - 750 * 20, - 1_000_000_000, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + aUIVTierLens, + MaterialsUEVplus.TranscendentMetal.getBlocks(8), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(64), + ItemList.Circuit_Chip_SoC2.get(64)) + .itemOutputs(MaterialsUEVplus.TranscendentMetal.getNanite(1)) + .fluidInputs(Materials.UUMatter.getFluid(2_000_000)) + .metadata(NANO_FORGE_TIER, 2) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(1_000_000_000) + .addTo(nanoForgeRecipes); // White Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto - // lens - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any - // better naming - MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8), getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, + getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto lens + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any better + // naming + MaterialsUEVplus.WhiteDwarfMatter.getBlocks(8), + getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { Materials.UUMatter.getFluid(500_000), MaterialsUEVplus.RawStarMatter.getFluid(50_000), - MaterialsUEVplus.Space.getMolten(720), }, - new ItemStack[] { MaterialsUEVplus.WhiteDwarfMatter.getNanite(4) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.WhiteDwarfMatter.getNanite(4)) + .fluidInputs( + Materials.UUMatter.getFluid(500_000), + MaterialsUEVplus.RawStarMatter.getFluid(50_000), + MaterialsUEVplus.Space.getMolten(720)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Black Dwarf Matter Nanites. Used to make Magnetohydrodynamically constrained star matter. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto - // lens - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any - // better naming - MaterialsUEVplus.BlackDwarfMatter.getBlocks(8), getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, + getModItem(BartWorks.ID, "gt.bwMetaGeneratedlens", 0, 36), // Magneto lens + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), // Quantum Anomaly, couldn't find any better + // naming + MaterialsUEVplus.BlackDwarfMatter.getBlocks(8), + getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { Materials.UUMatter.getFluid(500_000), MaterialsUEVplus.RawStarMatter.getFluid(50_000), - MaterialsUEVplus.Time.getMolten(720), }, - new ItemStack[] { MaterialsUEVplus.BlackDwarfMatter.getNanite(4) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.BlackDwarfMatter.getNanite(4)) + .fluidInputs( + Materials.UUMatter.getFluid(500_000), + MaterialsUEVplus.RawStarMatter.getFluid(50_000), + MaterialsUEVplus.Time.getMolten(720)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Universium nanites. - GT_Values.RA.addNanoForgeRecipe( - new ItemStack[] { aUMVTierLens, + GT_Values.RA.stdBuilder() + .itemInputs( + aUMVTierLens, // Quantum Anomaly, couldn't find any better naming. - getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), MaterialsUEVplus.Universium.getBlocks(8), - - ItemList.Optically_Perfected_CPU.get(16), ItemList.Optically_Compatible_Memory.get(16), + getModItem(GTPlusPlus.ID, "MU-metaitem.01", 0, 32105), + MaterialsUEVplus.Universium.getBlocks(8), + ItemList.Optically_Perfected_CPU.get(16), + ItemList.Optically_Compatible_Memory.get(16), getModItem(GoodGenerator.ID, "huiCircuit", 1, 4) // Paradox circuit - }, - new FluidStack[] { MaterialsUEVplus.SpaceTime.getMolten(144), Materials.Infinity.getMolten(576), - MaterialsUEVplus.PrimordialMatter.getFluid(64_000), }, - new ItemStack[] { MaterialsUEVplus.Universium.getNanite(2) }, - null, - null, - 750 * 20, - 2_000_000_000, - 3); + ) + .itemOutputs(MaterialsUEVplus.Universium.getNanite(2)) + .fluidInputs( + MaterialsUEVplus.SpaceTime.getMolten(144), + Materials.Infinity.getMolten(576), + MaterialsUEVplus.PrimordialMatter.getFluid(64_000)) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) + .eut(2_000_000_000) + .addTo(nanoForgeRecipes); // Eternity nanites GT_Values.RA.stdBuilder() @@ -229,12 +237,12 @@ public class GT_NaniteChain { .itemOutputs(MaterialsUEVplus.Eternity.getNanite(4)) .fluidInputs( MaterialsUEVplus.Space.getMolten(1152), - MaterialsUEVplus.ExcitedDTSC.getFluid(50000), + MaterialsUEVplus.ExcitedDTSC.getFluid(50_000), MaterialsUEVplus.PrimordialMatter.getFluid(64_000)) - .duration(750 * GT_RecipeBuilder.SECONDS) + .metadata(NANO_FORGE_TIER, 3) + .duration(12 * MINUTES + 30 * SECONDS) .eut(TierEU.RECIPE_MAX) - .specialValue(3) - .addTo(RecipeMaps.nanoForgeRecipes); + .addTo(nanoForgeRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java index e8a52dd1f8..e700ee0730 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java @@ -28,7 +28,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(ItemList.Paper_Punch_Card_Empty.get(1L)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Punch Card Data")) .itemOutputs(ItemList.Paper_Punch_Card_Encoded.get(1L)) .fluidInputs(getFluidStack("squidink", 36)) .duration(5 * SECONDS) @@ -37,7 +37,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3L)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Book Data")) .itemOutputs(ItemList.Paper_Printed_Pages.get(1L)) .fluidInputs(getFluidStack("squidink", 144)) .duration(20 * SECONDS) @@ -46,7 +46,7 @@ public class PrinterRecipes implements Runnable { GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.map, 1, 32767)) - .specialItem(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data")) + .special(ItemList.Tool_DataStick.getWithName(0L, "With Scanned Map Data")) .itemOutputs(new ItemStack(Items.filled_map, 1, 0)) .fluidInputs(getFluidStack("squidink", 144)) .duration(20 * SECONDS) diff --git a/src/main/java/gtPlusPlus/core/block/ModBlocks.java b/src/main/java/gtPlusPlus/core/block/ModBlocks.java index 634a073b02..417b342f7e 100644 --- a/src/main/java/gtPlusPlus/core/block/ModBlocks.java +++ b/src/main/java/gtPlusPlus/core/block/ModBlocks.java @@ -53,12 +53,6 @@ public final class ModBlocks { public static Block blockWitherGuard; public static Block blockCompressedObsidian; - public static Block blockPlayerDoorWooden; - public static Block blockPlayerDoorIron; - public static Block blockPlayerDoorCustom_Glass; - public static Block blockPlayerDoorCustom_Ice; - public static Block blockPlayerDoorCustom_Cactus; - public static Block blockCustomJukebox; public static Block blockPooCollector; diff --git a/src/main/java/gtPlusPlus/core/common/CommonProxy.java b/src/main/java/gtPlusPlus/core/common/CommonProxy.java index d52b3aa112..5d93141c56 100644 --- a/src/main/java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/main/java/gtPlusPlus/core/common/CommonProxy.java @@ -39,7 +39,6 @@ import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.preloader.CORE_Preloader; import gtPlusPlus.xmod.gregtech.api.util.SpecialBehaviourTooltipHandler; -import gtPlusPlus.xmod.gregtech.recipes.GregtechRecipeAdder; import gtPlusPlus.xmod.ic2.CustomInternalName; public class CommonProxy { @@ -51,8 +50,6 @@ public class CommonProxy { public void preInit(final FMLPreInitializationEvent e) { Logger.INFO("Doing some house cleaning."); - CORE.RA = new GregtechRecipeAdder(); - Logger.INFO("Created Gregtech recipe handler."); if (!CORE_Preloader.DEBUG_MODE) { Logger.WARNING("Development mode not enabled."); } else if (CORE_Preloader.DEBUG_MODE) { diff --git a/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java b/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java index 90235a18b3..3452816357 100644 --- a/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java +++ b/src/main/java/gtPlusPlus/core/item/base/ore/BaseItemMilledOre.java @@ -1,17 +1,63 @@ package gtPlusPlus.core.item.base.ore; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.millingRecipes; + import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; -import gtPlusPlus.core.lib.CORE; +import gregtech.api.util.GT_Utility; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.util.minecraft.MaterialUtils; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; public class BaseItemMilledOre extends BaseOreComponent { - public BaseItemMilledOre(final Material material, int aMaterialEU) { + public BaseItemMilledOre(final Material material, int materialEU) { super(material, BaseOreComponent.ComponentTypes.MILLED); - CORE.RA.addMillingRecipe(material, aMaterialEU); + + ItemStack oreStack = material.getOre(16); + ItemStack crushedStack = material.getCrushed(16); + + ItemStack milledStackOres1 = material.getMilled(64); + ItemStack milledStackCrushed1 = material.getMilled(32); + ItemStack milledStackOres2 = material.getMilled(48); + ItemStack milledStackCrushed2 = material.getMilled(16); + + ItemStack millingBall_Alumina = GregtechItemList.Milling_Ball_Alumina.get(0); + ItemStack millingBall_Soapstone = GregtechItemList.Milling_Ball_Soapstone.get(0); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(10), oreStack, millingBall_Alumina) + .itemOutputs(milledStackOres1) + .duration(2 * MINUTES) + .eut(materialEU) + .noOptimize() + .addTo(millingRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(11), oreStack, millingBall_Soapstone) + .itemOutputs(milledStackOres2) + .duration(2 * MINUTES + 30 * SECONDS) + .eut(materialEU) + .noOptimize() + .addTo(millingRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(10), crushedStack, millingBall_Alumina) + .itemOutputs(milledStackCrushed1) + .duration(1 * MINUTES) + .eut(materialEU) + .noOptimize() + .addTo(millingRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(11), crushedStack, millingBall_Soapstone) + .itemOutputs(milledStackCrushed2) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(materialEU) + .noOptimize() + .addTo(millingRecipes); } public static Item generate(Materials aMat, int aMaterialEU) { diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java index e14d9f7f08..2459e08bfc 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java @@ -7,7 +7,10 @@ import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.compressorRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels; import java.lang.reflect.Field; import java.util.ArrayList; @@ -30,7 +33,6 @@ import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -555,16 +557,16 @@ public class AgriculturalChem extends ItemPackage { Object aItemInstance = aFertField.get(aItemRegInstance); if (aItemInstance instanceof Item aForestryFert) { aFertForestry = ItemUtils.getSimpleStack((Item) aItemInstance); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(11), - ItemUtils.getSimpleStack(aDustOrganicFert, 4) }, - null, - null, - new ItemStack[] { ItemUtils.getSimpleStack(aForestryFert, 3), aManureByprod, - aManureByprod }, - new int[] { 10000, 2000, 2000 }, - 20 * 20, - 240); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(11), + ItemUtils.getSimpleStack(aDustOrganicFert, 4)) + .itemOutputs(ItemUtils.getSimpleStack(aForestryFert, 3), aManureByprod, aManureByprod) + .outputChances(100_00, 20_00, 20_00) + .eut(240) + .duration(20 * SECONDS) + .addTo(chemicalDehydratorRecipes); } } } catch (IllegalArgumentException | IllegalAccessException e) { @@ -576,14 +578,13 @@ public class AgriculturalChem extends ItemPackage { * IC2 Support */ aFertIC2 = ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 1); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(12), ItemUtils.getSimpleStack(aDustOrganicFert, 4) }, - null, - null, - new ItemStack[] { ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 3), aManureByprod, aManureByprod }, - new int[] { 10000, 2000, 2000 }, - 20 * 20, - 240); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(12), ItemUtils.getSimpleStack(aDustOrganicFert, 4)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("IC2:itemFertilizer", 3), aManureByprod, aManureByprod) + .outputChances(100_00, 20_00, 20_00) + .eut(240) + .duration(20 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Dirt Production GT_Values.RA.stdBuilder() @@ -613,9 +614,26 @@ public class AgriculturalChem extends ItemPackage { .addTo(centrifugeRecipes); // Add Fuel Usages - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(PoopJuice, 1000), 12); - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(ManureSlurry, 1000), 24); - CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(FertileManureSlurry, 1000), 32); + GT_Values.RA.stdBuilder() + .fluidInputs(FluidUtils.getFluidStack(PoopJuice, 1000)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 12) + .addTo(semiFluidFuels); + + GT_Values.RA.stdBuilder() + .fluidInputs(FluidUtils.getFluidStack(ManureSlurry, 1000)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 24) + .addTo(semiFluidFuels); + + GT_Values.RA.stdBuilder() + .fluidInputs(FluidUtils.getFluidStack(FertileManureSlurry, 1000)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 32) + .addTo(semiFluidFuels); // Red Slurry / Tailings Processing GT_Values.RA.stdBuilder() diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java index 1fafbb5088..b9f5e58eef 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/CoalTar.java @@ -2,26 +2,31 @@ package gtPlusPlus.core.item.chemistry; import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; +import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeConstants; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; -import gtPlusPlus.core.lib.CORE; 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.reflect.AddGregtechRecipe; public class CoalTar extends ItemPackage { @@ -43,27 +48,25 @@ public class CoalTar extends ItemPackage { // C2H6O = C2H4 + H2O if (bioEth1 != null) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(17), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1) }, - bioEth1, - FluidUtils.getWater(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1) }, - new int[] { 10000 }, - 120 * 20, - 80); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(17), ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1)) + .fluidInputs(bioEth1) + .fluidOutputs(FluidUtils.getWater(1000)) + .eut(80) + .duration(2 * MINUTES) + .addTo(chemicalDehydratorRecipes); } if (bioEth2 != null) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(18), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1) }, - bioEth2, - FluidUtils.getWater(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1) }, - new int[] { 10000 }, - 120 * 20, - 80); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(18), ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 1)) + .fluidInputs(bioEth2) + .fluidOutputs(FluidUtils.getWater(1000)) + .eut(80) + .duration(2 * MINUTES) + .addTo(chemicalDehydratorRecipes); } } @@ -82,62 +85,69 @@ public class CoalTar extends ItemPackage { public static void recipeCreateEthylbenzene() { // C2H4 + C6H6 = C8H10 - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 2), - ItemUtils.getGregtechCircuit(1), - FluidUtils.getFluidStack("benzene", 2000), - FluidUtils.getFluidStack("fluid.ethylbenzene", 2000), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), - 300); - - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellBenzene", 2), - ItemUtils.getGregtechCircuit(1), - FluidUtils.getFluidStack("ethylene", 2000), - FluidUtils.getFluidStack("fluid.ethylbenzene", 2000), - ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2), - 300); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("cellEthylene", 2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2)) + .fluidInputs(FluidUtils.getFluidStack("benzene", 2000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellBenzene", 2), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 2)) + .fluidInputs(FluidUtils.getFluidStack("ethylene", 2000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 2000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); } public static void recipeCoalToCoalTar() { // Charcoal - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 32L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDirt", 2), - FluidUtils.getFluidStack("fluid.coaltar", 800), - 15, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 32L)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDirt", 2)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coaltar", 800)) + .duration(18 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(pyrolyseRecipes); + // Lignite - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 16L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2), - FluidUtils.getFluidStack("fluid.coaltar", 800), - 45, - 60); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 16L)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coaltar", 800)) + .duration(54 * SECONDS) + .eut(60) + .addTo(pyrolyseRecipes); // Coal - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2), - FluidUtils.getFluidStack("fluid.coaltar", 2200), - 30, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(8), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallDarkAsh", 2)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coaltar", 2200)) + .duration(36 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(pyrolyseRecipes); // Coke - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 8), - 8, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallAsh", 3), - FluidUtils.getFluidStack("fluid.coaltar", 3400), - 15, - 240); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(8), ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 8)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSmallAsh", 3)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coaltar", 3400)) + .duration(18 * SECONDS) + .eut(240) + .addTo(pyrolyseRecipes); } private static void recipeCoalTarToCoalTarOil() { @@ -166,21 +176,22 @@ public class CoalTar extends ItemPackage { private static void recipeCoalTarOilToSulfuricOilToNaphthalene() { // SulfuricCoalTarOil - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 8), - ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 8), - null, - null, - ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 16), - 20 * 16); - GT_Values.RA.addDistilleryRecipe( - CI.getNumberedCircuit(6), // Circuit - FluidUtils.getFluidStack("fluid.sulfuriccoaltaroil", 1000), // aInput - FluidUtils.getFluidStack("fluid.naphthalene", 1000), // aOutput - 1200, // aDuration - 30, // aEUt - false // Hidden? - ); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 8), + ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricAcid", 8)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 16)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(6)) + .fluidInputs(FluidUtils.getFluidStack("fluid.sulfuriccoaltaroil", 1000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.naphthalene", 1000)) + .eut(TierEU.RECIPE_LV) + .duration(60 * SECONDS) + .addTo(distilleryRecipes); } private static void recipeNaphthaleneToPhthalicAcid() { @@ -196,14 +207,13 @@ public class CoalTar extends ItemPackage { } private static void recipePhthalicAcidToPhthalicAnhydride() { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(15) }, - Materials.PhthalicAcid.getFluid(1000), - null, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15) }, - new int[] { 10000 }, - 60 * 20, - 120); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(15)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15)) + .fluidInputs(Materials.PhthalicAcid.getFluid(1000)) + .eut(TierEU.RECIPE_MV) + .duration(60 * SECONDS) + .addTo(chemicalDehydratorRecipes); } @Override @@ -224,11 +234,40 @@ public class CoalTar extends ItemPackage { recipePhthalicAcidToPhthalicAnhydride(); // Burn the coal gas! - GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalGas", 1), null, 96, 1); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 1), 64); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 1), 32); - CORE.RA.addSemifluidFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTar", 1), 16); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalGas", 1)) + .metadata(FUEL_VALUE, 96) + .metadata(FUEL_TYPE, GT_RecipeConstants.FuelType.GasTurbine.ordinal()) + .duration(0) + .eut(0) + .addTo(GT_RecipeConstants.Fuel); + + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidContainerRegistry + .getFluidForFilledItem(ItemUtils.getItemStackOfAmountFromOreDict("cellSulfuricCoalTarOil", 1))) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 64) + .addTo(semiFluidFuels); + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidContainerRegistry + .getFluidForFilledItem(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTarOil", 1))) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 32) + .addTo(semiFluidFuels); + + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidContainerRegistry + .getFluidForFilledItem(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalTar", 1))) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 16) + .addTo(semiFluidFuels); return true; } diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java index 31ea030c64..8f3bff8a8b 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java @@ -4,17 +4,18 @@ import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; @@ -29,7 +30,6 @@ import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; import gtPlusPlus.core.item.circuit.GTPP_IntegratedCircuit_Item; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MISC_MATERIALS; import gtPlusPlus.core.material.Material; @@ -382,51 +382,57 @@ public class GenericChem extends ItemPackage { private void recipeSodiumEthoxide() { // C2H5OH + Na → C2H5ONa + H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(16), ELEMENT.getInstance().SODIUM.getDust(1) }, - new FluidStack[] { Materials.Ethanol.getFluid(1000) }, - new ItemStack[] { ItemUtils.getSimpleStack(mSodiumEthoxide, 9) }, - new FluidStack[] { ELEMENT.getInstance().HYDROGEN.getFluidStack(1000) }, - 20 * 20, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(16), ELEMENT.getInstance().SODIUM.getDust(1)) + .itemOutputs(ItemUtils.getSimpleStack(mSodiumEthoxide, 9)) + .fluidInputs(Materials.Ethanol.getFluid(1000)) + .fluidOutputs(ELEMENT.getInstance().HYDROGEN.getFluidStack(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); } private void recipePotassiumHydroxide() { // Ca(OH)2 + K2O + CO2 → CaCO3 + 2 KOH - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(18), Materials.Potash.getDust(3), - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), }, - new FluidStack[] { Materials.CarbonDioxide.getGas(1000) }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5), - ItemUtils.getSimpleStack(mPotassiumHydroxide, 6) }, - new FluidStack[] {}, - 20 * 30, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(18), + Materials.Potash.getDust(3), + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5), + ItemUtils.getSimpleStack(mPotassiumHydroxide, 6)) + .fluidInputs(Materials.CarbonDioxide.getGas(1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeEthylXanthates() { // Potassium ethyl xanthate - CH3CH2OH + CS2 + KOH → C3H5KOS2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(mPotassiumHydroxide, 3), }, - new FluidStack[] { Materials.Ethanol.getFluid(1000), FluidUtils.getFluidStack(Carbon_Disulfide, 1000), }, - new ItemStack[] { ItemUtils.getSimpleStack(mPotassiumEthylXanthate, 12) }, - new FluidStack[] { FluidUtils.getWater(1000) }, - 20 * 60, - 120, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(17), ItemUtils.getSimpleStack(mPotassiumHydroxide, 3)) + .itemOutputs(ItemUtils.getSimpleStack(mPotassiumEthylXanthate, 12)) + .fluidInputs(Materials.Ethanol.getFluid(1000), FluidUtils.getFluidStack(Carbon_Disulfide, 1000)) + .fluidOutputs(FluidUtils.getWater(1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); // Sodium ethyl xanthate - CH3CH2ONa + CS2 → CH3CH2OCS2Na - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(mSodiumEthoxide, 9) }, - new FluidStack[] { FluidUtils.getFluidStack(Carbon_Disulfide, 1000), }, - new ItemStack[] { ItemUtils.getSimpleStack(mSodiumEthylXanthate, 12) }, - new FluidStack[] {}, - 20 * 60, - 120, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(17), ItemUtils.getSimpleStack(mSodiumEthoxide, 9)) + .itemOutputs(ItemUtils.getSimpleStack(mSodiumEthylXanthate, 12)) + .fluidInputs(FluidUtils.getFluidStack(Carbon_Disulfide, 1000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); } private void recipeCarbonDisulfide() { @@ -442,31 +448,39 @@ public class GenericChem extends ItemPackage { .metadata(COIL_HEAT, 1500) .addTo(blastFurnaceRecipes); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(mBrownCatalyst, 0), - ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 4) }, - new FluidStack[] { FluidUtils.getFluidStack(CoalTar.Coal_Gas, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Carbon_Disulfide, 2000) }, - 20 * 60 * 5, - 30, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(20), + ItemUtils.getSimpleStack(mBrownCatalyst, 0), + ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 4)) + .fluidInputs(FluidUtils.getFluidStack(CoalTar.Coal_Gas, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(Carbon_Disulfide, 2000)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeMutatedLivingSolder() { // Endgame soldering alloy meant for the bioware circuit line and beyond. - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 0), - ItemList.Circuit_Chip_Biocell.get(64), ItemList.Gravistar.get(8), - Materials.InfinityCatalyst.getDust(2) }, - new FluidStack[] { FluidUtils.getFluidStack("plasma.tin", 18000), - FluidUtils.getFluidStack("plasma.bismuth", 18000), FluidUtils.getFluidStack("cryotheum", 4000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 280) }, - 20 * 800, - 3842160, - 7); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 0), + ItemList.Circuit_Chip_Biocell.get(64), + ItemList.Gravistar.get(8), + Materials.InfinityCatalyst.getDust(2)) + .fluidInputs( + FluidUtils.getFluidStack("plasma.tin", 18000), + FluidUtils.getFluidStack("plasma.bismuth", 18000), + FluidUtils.getFluidStack("cryotheum", 4000)) + .fluidOutputs(MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 280)) + .duration(13 * MINUTES + 20 * SECONDS) + .eut(3842160) + .metadata(CHEMPLANT_CASING_TIER, 7) + .addTo(chemicalPlantRecipes); + } private static void registerFuels() { @@ -508,36 +522,37 @@ public class GenericChem extends ItemPackage { private void recipeCyclohexane() { // C6H6 + 6H = C6H12 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(mBrownCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(Benzene, 1000), FluidUtils.getFluidStack("hydrogen", 6000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), }, - 20 * 120, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(getTierTwoChip(), ItemUtils.getSimpleStack(mBrownCatalyst, 0)) + .fluidInputs(FluidUtils.getFluidStack(Benzene, 1000), FluidUtils.getFluidStack("hydrogen", 6000)) + .fluidOutputs(FluidUtils.getFluidStack(Cyclohexane, 1000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeCyclohexanone() { // C6H12 + 2O(Air) = C6H10O + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("air", 4000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexanone, 1000), }, - 20 * 120, - 120, - 2); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), }, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("oxygen", 2000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cyclohexanone, 1000), }, - 20 * 120, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(getTierTwoChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0)) + .fluidInputs(FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("air", 4000)) + .fluidOutputs(FluidUtils.getFluidStack(Cyclohexanone, 1000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(getTierTwoChip()) + .fluidInputs(FluidUtils.getFluidStack(Cyclohexane, 1000), FluidUtils.getFluidStack("oxygen", 2000)) + .fluidOutputs(FluidUtils.getFluidStack(Cyclohexanone, 1000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeCatalystRed() { @@ -682,81 +697,91 @@ public class GenericChem extends ItemPackage { private void recipeCadaverineAndPutrescine() { // Basic Recipe - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierOneChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 64) }, - new FluidStack[] { FluidUtils.getHotWater(2000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cadaverine, 250), FluidUtils.getFluidStack(Putrescine, 250), }, - 20 * 120, - 120, - 1); - + GT_Values.RA.stdBuilder() + .itemInputs(getTierOneChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 64)) + .fluidInputs(FluidUtils.getHotWater(2000)) + .fluidOutputs(FluidUtils.getFluidStack(Cadaverine, 250), FluidUtils.getFluidStack(Putrescine, 250)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); // Advanced Recipe - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierTwoChip(), ItemUtils.getSimpleStack(Items.rotten_flesh, 128), - ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 8, 32) }, - new FluidStack[] { FluidUtils.getHotWater(3000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Cadaverine, 750), FluidUtils.getFluidStack(Putrescine, 750), }, - 20 * 120, - 240, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + getTierTwoChip(), + ItemUtils.getSimpleStack(Items.rotten_flesh, 128), + ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 8, 32)) + .fluidInputs(FluidUtils.getHotWater(3000)) + .fluidOutputs(FluidUtils.getFluidStack(Cadaverine, 750), FluidUtils.getFluidStack(Putrescine, 750)) + .duration(2 * MINUTES) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeAniline() { // C6H5NO2 + 6H = C6H7N + 2H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierThreeChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack(NitroBenzene, 1000), - FluidUtils.getFluidStack("hydrogen", 6000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Aniline, 1000), }, - 20 * 30, - 500, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(getTierThreeChip(), ItemUtils.getSimpleStack(mBlueCatalyst, 0)) + .fluidInputs(FluidUtils.getFluidStack(NitroBenzene, 1000), FluidUtils.getFluidStack("hydrogen", 6000)) + .fluidOutputs(FluidUtils.getFluidStack(Aniline, 1000)) + .duration(30 * SECONDS) + .eut(500) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + } private void recipeNitroBenzene() { // C6H6 + HNO3 =H2SO4= C6H5NO2 +H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getTierThreeChip(), }, - new FluidStack[] { FluidUtils.getFluidStack(Benzene, 5000), FluidUtils.getFluidStack("sulfuricacid", 1000), - FluidUtils.getFluidStack("nitricacid", 5000), FluidUtils.getDistilledWater(10000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(NitroBenzene, 5000), }, - 20 * 30, - 500, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(getTierThreeChip()) + .fluidInputs( + FluidUtils.getFluidStack(Benzene, 5000), + FluidUtils.getFluidStack("sulfuricacid", 1000), + FluidUtils.getFluidStack("nitricacid", 5000), + FluidUtils.getDistilledWater(10000)) + .fluidOutputs(FluidUtils.getFluidStack(NitroBenzene, 5000)) + .duration(30 * SECONDS) + .eut(500) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); + } private void recipe2Ethylanthraquinone() { // C6H4(CO)2O + C6H5CH2CH3 = C6H4(CO)2C6H3CH2CH3 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), - ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15), }, - new FluidStack[] { FluidUtils.getFluidStack(CoalTar.Ethylbenzene, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 1000), }, - 20 * 15, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(4), + ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 15)) + .fluidInputs(FluidUtils.getFluidStack(CoalTar.Ethylbenzene, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(Ethylanthraquinone2, 1000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipe2Ethylanthrahydroquinone() { // C6H4(CO)2C6H3CH2CH3 + 2H = C6H4(COH)2C6H3CH2CH3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), ItemUtils.getSimpleStack(mOrangeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 1000), - FluidUtils.getFluidStack("hydrogen", 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 1000), }, - 20 * 40, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4), ItemUtils.getSimpleStack(mOrangeCatalyst, 0)) + .fluidInputs( + FluidUtils.getFluidStack(Ethylanthraquinone2, 1000), + FluidUtils.getFluidStack("hydrogen", 2000)) + .fluidOutputs(FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 1000)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private void recipeLithiumPeroxide() { @@ -774,43 +799,48 @@ public class GenericChem extends ItemPackage { private void recipeLithiumHydroperoxide() { // LiOH + H2O2 = HLiO2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3), }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000), }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroperoxide", 4), }, - new FluidStack[] {}, - 20 * 30, - 240, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(4), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroperoxide", 4)) + .fluidInputs(FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000)) + .duration(30 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); } private void recipeHydrogenPeroxide() { // C6H4(COH)2C6H3CH2CH3 + 2O =(C6H4CH)2= H2O2 + C6H4(CO)2C6H3CH2CH3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), }, - new FluidStack[] { FluidUtils.getFluidStack("air", 20000), + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs( + FluidUtils.getFluidStack("air", 20000), + FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000), + FluidUtils.getFluidStack("fluid.anthracene", 50)) + .fluidOutputs( + FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), + FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000)) + .duration(30 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs( + Materials.Oxygen.getGas(10000), FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000), - FluidUtils.getFluidStack("fluid.anthracene", 50), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), - FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000), }, - 20 * 30, - 240, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), }, - new FluidStack[] { Materials.Oxygen.getGas(10000), FluidUtils.getFluidStack(Ethylanthrahydroquinone2, 5000), - FluidUtils.getFluidStack("fluid.anthracene", 50), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), - FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000), }, - 20 * 5, - 240, - 1); + FluidUtils.getFluidStack("fluid.anthracene", 50)) + .fluidOutputs( + FluidUtils.getFluidStack(Ethylanthraquinone2, 5000), + FluidUtils.getFluidStack("fluid.hydrogenperoxide", 5000)) + .duration(5 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); } @@ -838,124 +868,100 @@ public class GenericChem extends ItemPackage { long bits = 0; BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 1L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 1L), bits, - new Object[] { "d ", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "d ", " P ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 2L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 2L), bits, - new Object[] { " d ", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d ", " P ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 3L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 3L), bits, - new Object[] { " d", " P ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d", " P ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 4L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 4L), bits, - new Object[] { " ", " Pd", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " Pd", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 5L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 5L), bits, - new Object[] { " ", " P ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", " d", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 6L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 6L), bits, - new Object[] { " ", " P ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", " d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 7L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 7L), bits, - new Object[] { " ", " P ", "d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", "d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 8L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 8L), bits, - new Object[] { " ", "dP ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", "dP ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 9L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 9L), bits, - new Object[] { "P d", " ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P d", " ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 10L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 10L), bits, - new Object[] { "P ", " d", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " d", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 11L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 11L), bits, - new Object[] { "P ", " ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " ", " d", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 12L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 12L), bits, - new Object[] { "P ", " ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " ", " d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 13L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 13L), bits, - new Object[] { " P", " ", " d", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", " ", " d", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 14L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 14L), bits, - new Object[] { " P", " ", " d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", " ", " d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 15L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 15L), bits, - new Object[] { " P", " ", "d ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", " ", "d ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 16L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 16L), bits, - new Object[] { " P", "d ", " ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", "d ", " ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 17L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 17L), bits, - new Object[] { " ", " ", "d P", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " ", "d P", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 18L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 18L), bits, - new Object[] { " ", "d ", " P", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", "d ", " P", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 19L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 19L), bits, - new Object[] { "d ", " ", " P", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "d ", " ", " P", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 20L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 20L), bits, - new Object[] { " d ", " ", " P", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d ", " ", " P", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 21L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 21L), bits, - new Object[] { "d ", " ", "P ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "d ", " ", "P ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 22L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 22L), bits, - new Object[] { " d ", " ", "P ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d ", " ", "P ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 23L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 23L), bits, - new Object[] { " d", " ", "P ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d", " ", "P ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); BioRecipes.addCraftingRecipe( - GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 24L, new Object[0]), + GregtechItemList.Circuit_T3RecipeSelector.getWithDamage(1L, 24L), bits, - new Object[] { " ", " d", "P ", 'P', - GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " d", "P ", 'P', GregtechItemList.Circuit_T3RecipeSelector.getWildcard(1L) }); } } diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java b/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java index 5a848d2616..f31e2b9d0c 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java @@ -2,15 +2,22 @@ package gtPlusPlus.core.item.chemistry; import static gregtech.api.enums.Mods.BiomesOPlenty; import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.flotationCellRecipes; import java.util.HashMap; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; @@ -19,7 +26,6 @@ import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.api.objects.data.Quad; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.core.item.base.ore.BaseItemMilledOre; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.NONMATERIAL; @@ -30,6 +36,7 @@ import gtPlusPlus.core.util.minecraft.MaterialUtils; import gtPlusPlus.core.util.minecraft.NBTUtils; import gtPlusPlus.xmod.bop.HANDLER_BiomesOPlenty; import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator; +import gtPlusPlus.xmod.gregtech.common.helpers.FlotationRecipeHandler; public class MilledOreProcessing extends ItemPackage { @@ -92,18 +99,18 @@ public class MilledOreProcessing extends ItemPackage { @Override public void items() { - milledSphalerite = BaseItemMilledOre.generate(Materials.Sphalerite, MaterialUtils.getVoltageForTier(6)); - milledChalcopyrite = BaseItemMilledOre.generate(Materials.Chalcopyrite, MaterialUtils.getVoltageForTier(5)); - milledNickel = BaseItemMilledOre.generate(Materials.Nickel, MaterialUtils.getVoltageForTier(5)); - milledPlatinum = BaseItemMilledOre.generate(Materials.Platinum, MaterialUtils.getVoltageForTier(6)); - milledPentlandite = BaseItemMilledOre.generate(Materials.Pentlandite, MaterialUtils.getVoltageForTier(6)); - - milledRedstone = BaseItemMilledOre.generate(Materials.Redstone, MaterialUtils.getVoltageForTier(5)); - milledSpessartine = BaseItemMilledOre.generate(Materials.Spessartine, MaterialUtils.getVoltageForTier(6)); - milledGrossular = BaseItemMilledOre.generate(Materials.Grossular, MaterialUtils.getVoltageForTier(6)); - milledAlmandine = BaseItemMilledOre.generate(Materials.Almandine, MaterialUtils.getVoltageForTier(6)); - milledPyrope = BaseItemMilledOre.generate(Materials.Pyrope, MaterialUtils.getVoltageForTier(4)); - milledMonazite = BaseItemMilledOre.generate(Materials.Monazite, MaterialUtils.getVoltageForTier(7)); + milledSphalerite = BaseItemMilledOre.generate(Materials.Sphalerite, (int) TierEU.RECIPE_LuV); + milledChalcopyrite = BaseItemMilledOre.generate(Materials.Chalcopyrite, (int) TierEU.RECIPE_IV); + milledNickel = BaseItemMilledOre.generate(Materials.Nickel, (int) TierEU.RECIPE_IV); + milledPlatinum = BaseItemMilledOre.generate(Materials.Platinum, (int) TierEU.RECIPE_LuV); + milledPentlandite = BaseItemMilledOre.generate(Materials.Pentlandite, (int) TierEU.RECIPE_LuV); + + milledRedstone = BaseItemMilledOre.generate(Materials.Redstone, (int) TierEU.RECIPE_IV); + milledSpessartine = BaseItemMilledOre.generate(Materials.Spessartine, (int) TierEU.RECIPE_LuV); + milledGrossular = BaseItemMilledOre.generate(Materials.Grossular, (int) TierEU.RECIPE_LuV); + milledAlmandine = BaseItemMilledOre.generate(Materials.Almandine, (int) TierEU.RECIPE_LuV); + milledPyrope = BaseItemMilledOre.generate(Materials.Pyrope, (int) TierEU.RECIPE_EV); + milledMonazite = BaseItemMilledOre.generate(Materials.Monazite, (int) TierEU.RECIPE_ZPM); } @Override @@ -344,8 +351,7 @@ public class MilledOreProcessing extends ItemPackage { public boolean generateRecipes() { addMiscRecipes(); addPineOilExtraction(); - addFlotationRecipes1(); - addFlotationRecipes2(); + addFlotationRecipes(); addVacuumFurnaceRecipes(); return true; } @@ -353,201 +359,285 @@ public class MilledOreProcessing extends ItemPackage { private void addVacuumFurnaceRecipes() { int aCircuitID = 1; - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(SphaleriteFlotationFroth, 4000) }, - getOutputsFromMap(SphaleriteFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(ChalcopyriteFlotationFroth, 4000) }, - getOutputsFromMap(ChalcopyriteFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(5), - 4500); - - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(NickelFlotationFroth, 4000) }, - getOutputsFromMap(NickelFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(5), - 4500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(PlatinumFlotationFroth, 4000) }, - getOutputsFromMap(PlatinumFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(PentlanditeFlotationFroth, 4000) }, - getOutputsFromMap(PentlanditeFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(RedstoneFlotationFroth, 4000) }, - getOutputsFromMap(RedstoneFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(5), - 4500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(SpessartineFlotationFroth, 4000) }, - getOutputsFromMap(SpessartineFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(GrossularFlotationFroth, 4000) }, - getOutputsFromMap(GrossularFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(AlmandineFlotationFroth, 4000) }, - getOutputsFromMap(AlmandineFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(6), - 5500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(PyropeFlotationFroth, 4000) }, - getOutputsFromMap(PyropeFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(4), - 3500); - CORE.RA.addVacuumFurnaceRecipe( - new ItemStack[] { CI.getNumberedCircuit(aCircuitID++) }, - new FluidStack[] { FluidUtils.getFluidStack(MonaziteFlotationFroth, 4000) }, - getOutputsFromMap(MonaziteFlotationFroth), - new FluidStack[] { FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000) }, - 20 * 120, - MaterialUtils.getVoltageForTier(7), - 7500); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(SphaleriteFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(SphaleriteFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_LuV) + .eut(5500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(ChalcopyriteFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(ChalcopyriteFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_IV) + .eut(4500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(NickelFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(NickelFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_IV) + .eut(4500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(PlatinumFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(PlatinumFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_LuV) + .eut(5500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(PentlanditeFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(PentlanditeFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_LuV) + .eut(5500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(RedstoneFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(RedstoneFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_IV) + .eut(4500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(SpessartineFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(SpessartineFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_LuV) + .eut(5500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(GrossularFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(GrossularFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_LuV) + .eut(5500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(AlmandineFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(AlmandineFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_LuV) + .eut(5500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(PyropeFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(PyropeFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_EV) + .eut(3500) + .addTo(vacuumFreezerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(aCircuitID++)) + .itemOutputs(getOutputsFromMap(MonaziteFlotationFroth)) + .fluidInputs(FluidUtils.getFluidStack(MonaziteFlotationFroth, 4000)) + .fluidOutputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 2000), FluidUtils.getWater(2000)) + .duration((int) TierEU.RECIPE_ZPM) + .eut(7500) + .addTo(vacuumFreezerRecipes); + } - private void addFlotationRecipes1() { + private void addFlotationRecipes() { // Sphalerite - CORE.RA.addFlotationRecipe( - Materials.Sphalerite, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 14000), }, - new FluidStack[] { FluidUtils.getFluidStack(SphaleriteFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); + Material aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Sphalerite); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 14000)) + .fluidOutputs(FluidUtils.getFluidStack(SphaleriteFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .addTo(flotationCellRecipes); // Chalcopyrite - CORE.RA.addFlotationRecipe( - Materials.Chalcopyrite, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 12000), }, - new FluidStack[] { FluidUtils.getFluidStack(ChalcopyriteFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(5)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Chalcopyrite); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 12000)) + .fluidOutputs(FluidUtils.getFluidStack(ChalcopyriteFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_IV) + .noOptimize() + .addTo(flotationCellRecipes); // Nickel - CORE.RA.addFlotationRecipe( - Materials.Nickel, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 25000), }, - new FluidStack[] { FluidUtils.getFluidStack(NickelFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(5)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Nickel); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 25000)) + .fluidOutputs(FluidUtils.getFluidStack(NickelFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_IV) + .noOptimize() + .addTo(flotationCellRecipes); // Platinum - CORE.RA.addFlotationRecipe( - Materials.Platinum, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 35000), }, - new FluidStack[] { FluidUtils.getFluidStack(PlatinumFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Platinum); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 35000)) + .fluidOutputs(FluidUtils.getFluidStack(PlatinumFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .addTo(flotationCellRecipes); // Pentlandite - CORE.RA.addFlotationRecipe( - Materials.Pentlandite, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 14000), }, - new FluidStack[] { FluidUtils.getFluidStack(PentlanditeFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); - } - - private void addFlotationRecipes2() { + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Pentlandite); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 14000)) + .fluidOutputs(FluidUtils.getFluidStack(PentlanditeFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .addTo(flotationCellRecipes); // Redstone - CORE.RA.addFlotationRecipe( - Materials.Redstone, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 13000), }, - new FluidStack[] { FluidUtils.getFluidStack(RedstoneFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(5)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Redstone); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 13000)) + .fluidOutputs(FluidUtils.getFluidStack(RedstoneFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_IV) + .noOptimize() + .addTo(flotationCellRecipes); // Spessartine - CORE.RA.addFlotationRecipe( - Materials.Spessartine, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 35000), }, - new FluidStack[] { FluidUtils.getFluidStack(SpessartineFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Spessartine); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 35000)) + .fluidOutputs(FluidUtils.getFluidStack(SpessartineFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .addTo(flotationCellRecipes); // Grossular - CORE.RA.addFlotationRecipe( - Materials.Grossular, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 28000), }, - new FluidStack[] { FluidUtils.getFluidStack(GrossularFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Grossular); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 28000)) + .fluidOutputs(FluidUtils.getFluidStack(GrossularFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .addTo(flotationCellRecipes); // Almandine - CORE.RA.addFlotationRecipe( - Materials.Almandine, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 18000), }, - new FluidStack[] { FluidUtils.getFluidStack(AlmandineFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(5)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Almandine); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 18000)) + .fluidOutputs(FluidUtils.getFluidStack(AlmandineFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_IV) + .noOptimize() + .addTo(flotationCellRecipes); // Pyrope - CORE.RA.addFlotationRecipe( - Materials.Pyrope, - ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 8000), }, - new FluidStack[] { FluidUtils.getFluidStack(PyropeFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(4)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Pyrope); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mSodiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 8000)) + .fluidOutputs(FluidUtils.getFluidStack(PyropeFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_EV) + .noOptimize() + .addTo(flotationCellRecipes); // Monazite - CORE.RA.addFlotationRecipe( - Materials.Monazite, - ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 1), - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 30000), }, - new FluidStack[] { FluidUtils.getFluidStack(MonaziteFlotationFroth, 1000) }, - 20 * 480, - MaterialUtils.getVoltageForTier(6)); + aMat = MaterialUtils.generateMaterialFromGtENUM(Materials.Monazite); + FlotationRecipeHandler.registerOreType(aMat); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mPotassiumEthylXanthate, 32), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64), + aMat.getMilled(64)) + .fluidInputs(FluidUtils.getFluidStack(PineOil, 30000)) + .fluidOutputs(FluidUtils.getFluidStack(MonaziteFlotationFroth, 1000)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .noOptimize() + .addTo(flotationCellRecipes); } private void addPineOilExtraction() { @@ -600,31 +690,33 @@ public class MilledOreProcessing extends ItemPackage { addRecipe(aCone, ItemUtils.getSimpleStack(aCrushedPine, 1), new int[] { 7500, 7500, 5000, 2500 }, 10, 60); } - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), ItemUtils.getSimpleStack(aCrushedPine, 64) }, - new FluidStack[] { FluidUtils.getSteam(5000), }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(16), ItemUtils.getSimpleStack(aCrushedPine, 64)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5) }, - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 500) }, - new int[] { 2000, 2000, 2000, 2000 }, - 20 * 60, - 120, - 3); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemUtils.getSimpleStack(aCrushedPine, 64) }, - new FluidStack[] { FluidUtils.getSuperHeatedSteam(5000), }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5)) + .fluidInputs(FluidUtils.getSteam(5000)) + .fluidOutputs(FluidUtils.getFluidStack(PineOil, 500)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(18), ItemUtils.getSimpleStack(aCrushedPine, 64)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAsh", 5), ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5) }, - new FluidStack[] { FluidUtils.getFluidStack(PineOil, 1500) }, - new int[] { 3000, 3000, 3000, 3000 }, - 20 * 45, - 120, - 4); + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyDarkAsh", 5)) + .fluidInputs(FluidUtils.getSuperHeatedSteam(5000)) + .fluidOutputs(FluidUtils.getFluidStack(PineOil, 1500)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); + } public boolean addRecipe(ItemStack aInput, ItemStack aOutput1, int[] aChances, int aTime, int aEU) { @@ -639,15 +731,15 @@ public class MilledOreProcessing extends ItemPackage { return false; } - return CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(14), aInput }, - new FluidStack[] {}, - aOutputs, - new FluidStack[] {}, - aChances, - aTime * 20, - aEU, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(14), aInput) + .itemOutputs(aOutputs) + .duration(aTime * 20) + .eut(aEU) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + + return true; } public static ItemStack[] cleanArray(ItemStack[] input) { diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java index 3fc682e7cc..6cf0dcd09b 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java @@ -3,7 +3,11 @@ package gtPlusPlus.core.item.chemistry; import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; import java.util.HashMap; import java.util.HashSet; @@ -25,7 +29,6 @@ import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.item.base.BaseItemComponent; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -105,43 +108,48 @@ public class RocketFuels extends ItemPackage { public static void createNitrogenTetroxide() { // 2HNO3 + Cu = N2O4 + H2O + CuO - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1), - ItemUtils.getSimpleStack(GenericChem.mOrangeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 2000) }, - new ItemStack[] { Materials.CupricOxide.getDust(2), }, - new FluidStack[] { FluidUtils.getFluidStack(Nitrogen_Tetroxide, 1000), }, - new int[] { 100, 100, 50, 50 }, - 20 * 30, - MaterialUtils.getVoltageForTier(3), - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1), + ItemUtils.getSimpleStack(GenericChem.mOrangeCatalyst, 0)) + .itemOutputs(Materials.CupricOxide.getDust(2)) + .fluidInputs(FluidUtils.getFluidStack("nitricacid", 2000)) + .fluidOutputs(FluidUtils.getFluidStack(Nitrogen_Tetroxide, 1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + } public static void createHydrazine() { // H2O2 + 2NH3 = N2H4 + 2H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(21) }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000), - FluidUtils.getFluidStack("ammonia", 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Hydrazine, 1000), }, - 20 * 30, - MaterialUtils.getVoltageForTier(2), - 1); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(21)) + .fluidInputs( + FluidUtils.getFluidStack("fluid.hydrogenperoxide", 1000), + FluidUtils.getFluidStack("ammonia", 2000)) + .fluidOutputs(FluidUtils.getFluidStack(Hydrazine, 1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } public static void createMonomethylhydrazine() { // C + 2H + N2H4 = CH6N2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(21), ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1) }, - new FluidStack[] { FluidUtils.getFluidStack("hydrogen", 2000), FluidUtils.getFluidStack(Hydrazine, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Monomethylhydrazine, 1000), }, - 20 * 48, - 240, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(21), ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 1)) + .fluidInputs(FluidUtils.getFluidStack("hydrogen", 2000), FluidUtils.getFluidStack(Hydrazine, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(Monomethylhydrazine, 1000)) + .duration(48 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private static void createLOH() { @@ -156,41 +164,42 @@ public class RocketFuels extends ItemPackage { private static void createHydratedAmmoniumNitrateSlurry() { // NH3 + HNO3 = NH4NO3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(21), }, - new FluidStack[] { FluidUtils.getFluidStack("ammonia", 4000), - FluidUtils.getFluidStack("nitricacid", 4000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 5184), }, - 20 * 60, - 120, - 1); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(21)) + .fluidInputs(FluidUtils.getFluidStack("ammonia", 4000), FluidUtils.getFluidStack("nitricacid", 4000)) + .fluidOutputs(FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 5184)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void createAmmoniumNitrateDust() { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(8) }, - FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 8 * 144), - FluidUtils.getWater(2000), - new ItemStack[] { ItemUtils.getSimpleStack(Ammonium_Nitrate_Dust, 8) }, - new int[] { 10000 }, - 90 * 20, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(ItemUtils.getSimpleStack(Ammonium_Nitrate_Dust, 8)) + .fluidInputs(FluidUtils.getFluidStack(Hydrated_Ammonium_Nitrate_Slurry, 8 * 144)) + .fluidOutputs(FluidUtils.getWater(2000)) + .eut(TierEU.RECIPE_HV) + .duration(1 * MINUTES + 30 * SECONDS) + .addTo(chemicalDehydratorRecipes); } private static void createFormaldehyde() { // O + CH4O = CH2O + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(21), - ItemUtils.getSimpleStack(GenericChem.mFormaldehydeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack("oxygen", 32000), - FluidUtils.getFluidStack("methanol", 32000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Formaldehyde, 32000), }, - 20 * 90, - 120, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(21), + ItemUtils.getSimpleStack(GenericChem.mFormaldehydeCatalyst, 0)) + .fluidInputs(FluidUtils.getFluidStack("oxygen", 32000), FluidUtils.getFluidStack("methanol", 32000)) + .fluidOutputs(FluidUtils.getFluidStack(Formaldehyde, 32000)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void createFormaldehydeCatalyst() { @@ -207,17 +216,20 @@ public class RocketFuels extends ItemPackage { private static void createUnsymmetricalDimethylhydrazine() { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(21), - ItemUtils.getSimpleStack(GenericChem.mFormaldehydeCatalyst, 0), }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.hydrazine", 2000), - FluidUtils.getFluidStack(Formaldehyde, 2000), FluidUtils.getFluidStack("hydrogen", 4000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000), - FluidUtils.getWater(2000) }, - 20 * 60, - 120, - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(21), + ItemUtils.getSimpleStack(GenericChem.mFormaldehydeCatalyst, 0)) + .fluidInputs( + FluidUtils.getFluidStack("fluid.hydrazine", 2000), + FluidUtils.getFluidStack(Formaldehyde, 2000), + FluidUtils.getFluidStack("hydrogen", 4000)) + .fluidOutputs(FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000), FluidUtils.getWater(2000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + } private static void addRocketFuelsToMap() { @@ -296,47 +308,46 @@ public class RocketFuels extends ItemPackage { private static void createRocketFuels() { // RP1_Plus_Liquid_Oxygen - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(1), }, - new FluidStack[] { FluidUtils.getFluidStack(Liquid_Oxygen, 2000), FluidUtils.getFluidStack(RP1, 500), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 1500), }, - 20 * 15, - 240, - 3); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(FluidUtils.getFluidStack(Liquid_Oxygen, 2000), FluidUtils.getFluidStack(RP1, 500)) + .fluidOutputs(FluidUtils.getFluidStack(RP1_Plus_Liquid_Oxygen, 1500)) + .duration(15 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); // Dense_Hydrazine_Mix - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(2), }, - new FluidStack[] { FluidUtils.getFluidStack(Hydrazine, 4000), FluidUtils.getFluidStack("methanol", 6000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000), }, - 20 * 30, - 240, - 4); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(FluidUtils.getFluidStack(Hydrazine, 4000), FluidUtils.getFluidStack("methanol", 6000)) + .fluidOutputs(FluidUtils.getFluidStack(Dense_Hydrazine_Mix, 10000)) + .duration(30 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); // Monomethylhydrazine_Plus_Nitric_Acid - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(3), }, - new FluidStack[] { FluidUtils.getFluidStack(Monomethylhydrazine, 2000), - FluidUtils.getFluidStack("nitricacid", 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 2000), }, - 20 * 45, - 480, - 5); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .fluidInputs( + FluidUtils.getFluidStack(Monomethylhydrazine, 2000), + FluidUtils.getFluidStack("nitricacid", 1000)) + .fluidOutputs(FluidUtils.getFluidStack(Monomethylhydrazine_Plus_Nitric_Acid, 2000)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(CHEMPLANT_CASING_TIER, 5) + .addTo(chemicalPlantRecipes); // Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(4), }, - new FluidStack[] { FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000), - FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000), }, - new ItemStack[] {}, - new FluidStack[] { - FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 5000), }, - 20 * 60, - 480, - 6); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(4)) + .fluidInputs( + FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine, 2000), + FluidUtils.getFluidStack(Nitrogen_Tetroxide, 2000)) + .fluidOutputs(FluidUtils.getFluidStack(Unsymmetrical_Dimethylhydrazine_Plus_Nitrogen_Tetroxide, 5000)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(CHEMPLANT_CASING_TIER, 6) + .addTo(chemicalPlantRecipes); + } @Override diff --git a/src/main/java/gtPlusPlus/core/lib/CORE.java b/src/main/java/gtPlusPlus/core/lib/CORE.java index eb1143f74e..088923895d 100644 --- a/src/main/java/gtPlusPlus/core/lib/CORE.java +++ b/src/main/java/gtPlusPlus/core/lib/CORE.java @@ -25,7 +25,6 @@ import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.util.reflect.ReflectionUtils; import gtPlusPlus.preloader.CORE_Preloader; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; -import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator; import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal; @@ -77,11 +76,6 @@ public class CORE { // BookMap public static final Map<String, ItemStack> sBookList = new ConcurrentHashMap<>(); - /** - * Some Gregtech Material and Recipe Variables - */ - public static IGregtech_RecipeAdder RA; - public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000]; public static class ConfigSwitches { diff --git a/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java b/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java index df2abd0acb..8b07e29a52 100644 --- a/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java @@ -1,5 +1,7 @@ package gtPlusPlus.core.material; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; + import java.util.Set; import net.minecraft.block.Block; @@ -7,6 +9,8 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; @@ -36,10 +40,8 @@ import gtPlusPlus.core.item.base.rods.BaseItemRod; import gtPlusPlus.core.item.base.rods.BaseItemRodLong; import gtPlusPlus.core.item.base.rotors.BaseItemRotor; import gtPlusPlus.core.item.base.screws.BaseItemScrew; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -245,14 +247,13 @@ public class MaterialGenerator { public static void generateNuclearDusts(final Material matInfo, boolean generateDehydratorRecipe) { generateNuclearMaterial(matInfo, false, true, false, false, true); if (generateDehydratorRecipe && matInfo.getFluid() != null && matInfo.getDust(0) != null) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(20) }, - matInfo.getFluidStack(144), - null, - new ItemStack[] { matInfo.getDust(1), }, - new int[] { 10000 }, - 10 * (matInfo.vVoltageMultiplier / 5), // Time in ticks - matInfo.vVoltageMultiplier); // EU + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(20)) + .itemOutputs(matInfo.getDust(1)) + .fluidInputs(matInfo.getFluidStack(144)) + .eut(matInfo.vVoltageMultiplier) + .duration(10 * (matInfo.vVoltageMultiplier / 5)) + .addTo(chemicalDehydratorRecipes); } else { Logger.INFO( "Nuclear Dehydrator: Did not generate recipe for " + matInfo.getLocalizedName() diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index a40bd29c1b..f2a4509988 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -1,5 +1,6 @@ package gtPlusPlus.core.recipe; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.enums.Mods.Backpack; import static gregtech.api.enums.Mods.Baubles; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; @@ -13,6 +14,7 @@ import static gregtech.api.recipe.RecipeMaps.cutterRecipes; import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.extruderRecipes; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes; @@ -28,6 +30,7 @@ import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; @@ -35,6 +38,10 @@ import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.alloyBlastSmelterRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.cyclotronRecipes; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.thermalBoilerRecipes; import net.minecraft.init.Blocks; @@ -61,7 +68,6 @@ import gtPlusPlus.core.item.chemistry.GenericChem; import gtPlusPlus.core.item.chemistry.IonParticles; import gtPlusPlus.core.item.crafting.ItemDummyResearch; import gtPlusPlus.core.item.crafting.ItemDummyResearch.ASSEMBLY_LINE_RESEARCH; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MISC_MATERIALS; @@ -121,7 +127,7 @@ public class RECIPES_GREGTECH { private static void alloySmelterRecipes() { // Wood's Glass Laser Lens - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(MISC_MATERIALS.WOODS_GLASS.getDust(5), ItemList.Shape_Mold_Ball.get(0)) .itemOutputs(GregtechItemList.Laser_Lens_WoodsGlass.get(1)) .duration(5 * MINUTES) @@ -137,131 +143,147 @@ public class RECIPES_GREGTECH { // 4 NO2 (g) + O2 (g) + 2 H2O (l) → 4 HNO3 (aq) // Advanced method for Nitric Acid Production - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPinkCatalyst(0), }, - new FluidStack[] { Materials.NitrogenDioxide.getGas(4000L), FluidUtils.getAir(4000), - FluidUtils.getWater(2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 4000), }, - 10 * 20, - 480, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(17), CI.getPinkCatalyst(0)) + .fluidInputs(Materials.NitrogenDioxide.getGas(4000L), FluidUtils.getAir(4000), FluidUtils.getWater(2000)) + .fluidOutputs(FluidUtils.getFluidStack("nitricacid", 4000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); // Advanced recipe for Fluorine Production - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPurpleCatalyst(0), - ItemUtils.getSimpleStack(Blocks.sandstone, 64), ItemUtils.getSimpleStack(Blocks.sandstone, 64) }, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 4000), FluidUtils.getAir(8000) }, - new ItemStack[] { FLUORIDES.FLUORITE.getOre(8), FLUORIDES.FLUORITE.getOre(4), FLUORIDES.FLUORITE.getOre(4), - FLUORIDES.FLUORITE.getOre(4), }, - new FluidStack[] {}, - new int[] { 0, 2500, 2000, 1500 }, - 10 * 20, - 1024, - 5); - + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(17), + CI.getPurpleCatalyst(0), + ItemUtils.getSimpleStack(Blocks.sandstone, 64), + ItemUtils.getSimpleStack(Blocks.sandstone, 64)) + .itemOutputs( + FLUORIDES.FLUORITE.getOre(8), + FLUORIDES.FLUORITE.getOre(4), + FLUORIDES.FLUORITE.getOre(4), + FLUORIDES.FLUORITE.getOre(4)) + .fluidInputs(FluidUtils.getFluidStack("nitricacid", 4000), FluidUtils.getAir(8000)) + .duration(10 * SECONDS) + .eut(1024) + .metadata(CHEMPLANT_CASING_TIER, 5) + .addTo(chemicalPlantRecipes); // Advanced recipe for Fluorine Production - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getPurpleCatalyst(0), - ItemUtils.getSimpleStack(Blocks.sand, 64), ItemUtils.getSimpleStack(Blocks.sand, 64) }, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 5000), FluidUtils.getAir(12000) }, - new ItemStack[] { FLUORIDES.FLUORITE.getOre(4), FLUORIDES.FLUORITE.getOre(2), FLUORIDES.FLUORITE.getOre(2), - FLUORIDES.FLUORITE.getOre(2), }, - new FluidStack[] {}, - new int[] { 7500, 1500, 1000, 500 }, - 10 * 20, - 1024, - 5); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(17), + CI.getPurpleCatalyst(0), + ItemUtils.getSimpleStack(Blocks.sand, 64), + ItemUtils.getSimpleStack(Blocks.sand, 64)) + .itemOutputs( + FLUORIDES.FLUORITE.getOre(4), + FLUORIDES.FLUORITE.getOre(2), + FLUORIDES.FLUORITE.getOre(2), + FLUORIDES.FLUORITE.getOre(2)) + .fluidInputs(FluidUtils.getFluidStack("nitricacid", 5000), FluidUtils.getAir(12000)) + .duration(10 * SECONDS) + .eut(1024) + .metadata(CHEMPLANT_CASING_TIER, 5) + .addTo(chemicalPlantRecipes); // 3NO2 + H2O = 2HNO3 + NO - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPinkCatalyst(0), }, - new FluidStack[] { Materials.NitrogenDioxide.getGas(3000L), FluidUtils.getDistilledWater(1000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack("nitricacid", 2000), Materials.NitricOxide.getGas(1000L), }, - 10 * 20, - 480, - 2); - + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(16), CI.getPinkCatalyst(0)) + .fluidInputs(Materials.NitrogenDioxide.getGas(3000L), FluidUtils.getDistilledWater(1000)) + .fluidOutputs(FluidUtils.getFluidStack("nitricacid", 2000), Materials.NitricOxide.getGas(1000L)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); // Produce Boric Acid // Na2B4O7·10H2O + 2HCl = 4B(OH)3 + 2NaCl + 5H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(21), - ItemUtils.getItemStackOfAmountFromOreDict("dustBorax", 23), }, - new FluidStack[] { FluidUtils.getFluidStack(GenericChem.HydrochloricAcid, 2000) }, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustSalt", 4), }, - new FluidStack[] { FluidUtils.getFluidStack("boricacid", 4000), FluidUtils.getWater(5000) }, - 20 * 30, - MaterialUtils.getVoltageForTier(3), - 3); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(21), ItemUtils.getItemStackOfAmountFromOreDict("dustBorax", 23)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustSalt", 4)) + .fluidInputs(FluidUtils.getFluidStack(GenericChem.HydrochloricAcid, 2000)) + .fluidOutputs(FluidUtils.getFluidStack("boricacid", 4000), FluidUtils.getWater(5000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); // Produce Th232 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(22), ELEMENT.getInstance().THORIUM.getDust(16) }, - new FluidStack[] { FluidUtils.getDistilledWater(2000), FluidUtils.getFluidStack("boricacid", 1500) }, - new ItemStack[] { ELEMENT.getInstance().THORIUM.getSmallDust(32), - ELEMENT.getInstance().THORIUM232.getDust(2), ELEMENT.getInstance().THORIUM232.getSmallDust(2), - ELEMENT.getInstance().URANIUM232.getDust(1), }, - new FluidStack[] {}, - new int[] { 0, 0, 1000, 250 }, - 20 * 300, - MaterialUtils.getVoltageForTier(4), - 4); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(22), ELEMENT.getInstance().THORIUM.getDust(16)) + .itemOutputs( + ELEMENT.getInstance().THORIUM.getSmallDust(32), + ELEMENT.getInstance().THORIUM232.getDust(2), + ELEMENT.getInstance().THORIUM232.getSmallDust(2), + ELEMENT.getInstance().URANIUM232.getDust(1)) + .fluidInputs(FluidUtils.getDistilledWater(2000), FluidUtils.getFluidStack("boricacid", 1500)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_EV) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); // Modify Sapling into Pine Sapling - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(6), ItemUtils.getSimpleStack(Blocks.sapling, 32) }, - new FluidStack[] { FluidUtils.getFluidStack("fluid.geneticmutagen", 2000), - FluidUtils.getDistilledWater(8000) }, - new ItemStack[] { ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Pine, 16) }, - new FluidStack[] {}, - 120 * 20, - 64, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(6), ItemUtils.getSimpleStack(Blocks.sapling, 32)) + .itemOutputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Pine, 16)) + .fluidInputs(FluidUtils.getFluidStack("fluid.geneticmutagen", 2000), FluidUtils.getDistilledWater(8000)) + .duration(120 * SECONDS) + .eut(64) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); int aLaureniumTier = ALLOY.LAURENIUM.vTier; // Adding Recipes for Casings - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(12), CI.getTieredMachineCasing(aLaureniumTier - 1), - ALLOY.LAURENIUM.getPlate(8), CI.getGear(aLaureniumTier, 2) }, - new FluidStack[] { CI.getTieredFluid(aLaureniumTier, 2 * 144), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(12), + CI.getTieredMachineCasing(aLaureniumTier - 1), + ALLOY.LAURENIUM.getPlate(8), + CI.getGear(aLaureniumTier, 2)) + .itemOutputs(GregtechItemList.Casing_Machine_Custom_3.get(1)) + .fluidInputs( + CI.getTieredFluid(aLaureniumTier, 2 * 144), CI.getAlternativeTieredFluid(aLaureniumTier - 1, 4 * 144), - CI.getTertiaryTieredFluid(aLaureniumTier - 2, 6 * 144) }, - new ItemStack[] { GregtechItemList.Casing_Machine_Custom_3.get(1) }, - new FluidStack[] {}, - 20 * 20, - MaterialUtils.getVoltageForTier(aLaureniumTier - 2), - 5); + CI.getTertiaryTieredFluid(aLaureniumTier - 2, 6 * 144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .metadata(CHEMPLANT_CASING_TIER, 5) + .addTo(chemicalPlantRecipes); int aBotmiumTier = ALLOY.BOTMIUM.vTier; // Adding Recipes for Casings - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(12), CI.getTieredMachineCasing(aBotmiumTier - 1), - ALLOY.BOTMIUM.getPlate(8), CI.getGear(aBotmiumTier, 2) }, - new FluidStack[] { CI.getTieredFluid(aBotmiumTier, 2 * 144), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(12), + CI.getTieredMachineCasing(aBotmiumTier - 1), + ALLOY.BOTMIUM.getPlate(8), + CI.getGear(aBotmiumTier, 2)) + .itemOutputs(GregtechItemList.Casing_Machine_Custom_4.get(1)) + .fluidInputs( + CI.getTieredFluid(aBotmiumTier, 2 * 144), CI.getAlternativeTieredFluid(aBotmiumTier - 1, 4 * 144), - CI.getTertiaryTieredFluid(aBotmiumTier - 2, 6 * 144) }, - new ItemStack[] { GregtechItemList.Casing_Machine_Custom_4.get(1) }, - new FluidStack[] {}, - 20 * 20, - MaterialUtils.getVoltageForTier(aBotmiumTier - 2), - 6); + CI.getTertiaryTieredFluid(aBotmiumTier - 2, 6 * 144)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .metadata(CHEMPLANT_CASING_TIER, 6) + .addTo(chemicalPlantRecipes); // Refine GT HF into GT++ HF if (FluidUtils.doesHydrofluoricAcidGtExist()) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(22), }, - new FluidStack[] { FluidUtils.getHydrofluoricAcid(2000), FluidUtils.getHydrofluoricAcidGT(5000) }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getHydrofluoricAcid(4500) }, - 30 * 20, - 480, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(22)) + .fluidInputs(FluidUtils.getHydrofluoricAcid(2000), FluidUtils.getHydrofluoricAcidGT(5000)) + .fluidOutputs(FluidUtils.getHydrofluoricAcid(4500)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + } } private static void fluidHeaterRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.getIntegratedCircuit(20)) .fluidInputs(Materials.Water.getFluid(1000)) .fluidOutputs(FluidUtils.getHotWater(1000)) @@ -272,7 +294,7 @@ public class RECIPES_GREGTECH { private static void fusionRecipes() { // Hypogen - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs( ELEMENT.STANDALONE.DRAGON_METAL.getFluidStack(144), ELEMENT.STANDALONE.RHUGNOR.getFluidStack(288)) @@ -283,7 +305,7 @@ public class RECIPES_GREGTECH { .addTo(fusionRecipes); // Rhugnor - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs( MaterialUtils.getMaterial("Infinity", "Neutronium") .getMolten(144), @@ -298,7 +320,7 @@ public class RECIPES_GREGTECH { private static void assemblyLineRecipes() { // Containment Casings - GT_Values.RA.stdBuilder() + RA.stdBuilder() .metadata( RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1)) @@ -329,7 +351,7 @@ public class RECIPES_GREGTECH { .addTo(AssemblyLine); // Turbine Automation Port - GT_Values.RA.stdBuilder() + RA.stdBuilder() .metadata( RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1)) @@ -372,7 +394,7 @@ public class RECIPES_GREGTECH { int aCasingSlot = 0; for (int j = 6; j < 10; j++) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .metadata(RESEARCH_ITEM, aResearch[aCasingSlot]) .metadata(RESEARCH_TIME, 1 * HOURS) .itemInputs( @@ -403,7 +425,7 @@ public class RECIPES_GREGTECH { Particle.getBaseParticle(Particle.GRAVITON) }; aCasingSlot = 0; for (int j = 6; j < 10; j++) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .metadata(RESEARCH_ITEM, aExoticInputs[aCasingSlot]) .metadata(RESEARCH_TIME, 5 * HOURS) .itemInputs( @@ -427,7 +449,7 @@ public class RECIPES_GREGTECH { if (Baubles.isModLoaded()) { // Nano Healer - GT_Values.RA.stdBuilder() + RA.stdBuilder() .metadata(RESEARCH_ITEM, ItemUtils.simpleMetaStack(Items.golden_apple, 1, 1)) .metadata(RESEARCH_TIME, 10 * MINUTES) .itemInputs( @@ -465,7 +487,7 @@ public class RECIPES_GREGTECH { int aCurrSlot = 0; for (int h = 6; h < 10; h++) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .metadata(RESEARCH_ITEM, aChargeResearch[aCurrSlot]) .metadata(RESEARCH_TIME, 10 * (aCurrSlot + 1) * MINUTES) .itemInputs( @@ -491,7 +513,7 @@ public class RECIPES_GREGTECH { } // Cloaking device - GT_Values.RA.stdBuilder() + RA.stdBuilder() .metadata( RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1)) @@ -517,7 +539,7 @@ public class RECIPES_GREGTECH { .addTo(AssemblyLine); } - GT_Values.RA.stdBuilder() + RA.stdBuilder() .metadata(RESEARCH_ITEM, GregtechItemList.Industrial_AlloyBlastSmelter.get(1, new Object() {})) .metadata(RESEARCH_TIME, 30 * MINUTES) .itemInputs( @@ -551,7 +573,7 @@ public class RECIPES_GREGTECH { GregtechItemList.TransmissionComponent_LuV, GregtechItemList.TransmissionComponent_ZPM, GregtechItemList.TransmissionComponent_UV, GregtechItemList.TransmissionComponent_UHV, }; for (int i = 1; i < aTransParts.length; i++) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(CI.getEmitter(i, 2), CI.getSensor(i, 2)) .itemOutputs(aTransParts[i - 1].get(1)) .duration(5 * SECONDS) @@ -559,41 +581,41 @@ public class RECIPES_GREGTECH { .addTo(laserEngraverRecipes); } - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L), GregtechItemList.Laser_Lens_Special.get(0)) .itemOutputs(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1)) .duration(3 * MINUTES) - .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.vTier)) + .eut(TierEU.RECIPE_UEV) .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 8L), GregtechItemList.Laser_Lens_Special.get(0)) .itemOutputs(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1)) .duration(2 * MINUTES) - .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ASTRAL_TITANIUM.vTier)) + .eut(TierEU.RECIPE_UHV) .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ALLOY.NITINOL_60.getBlock(2), GregtechItemList.Laser_Lens_Special.get(0)) .itemOutputs(ELEMENT.STANDALONE.ADVANCED_NITINOL.getBlock(1)) .duration(1 * MINUTES) - .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ADVANCED_NITINOL.vTier)) + .eut(TierEU.RECIPE_UV) .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 64L), GregtechItemList.Laser_Lens_Special.get(0)) .itemOutputs(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1)) .duration(5 * MINUTES) - .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.vTier)) + .eut(TierEU.RECIPE_UHV) .addTo(laserEngraverRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(CI.getFieldGenerator(6, 1), CI.getEmitter(7, 2)) .itemOutputs(ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1)) .duration(5 * MINUTES) @@ -601,7 +623,7 @@ public class RECIPES_GREGTECH { .addTo(laserEngraverRecipes); // Distillus Upgrade Chip - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GregtechItemList.Laser_Lens_WoodsGlass.get(0), ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, 20, 1)) @@ -614,14 +636,14 @@ public class RECIPES_GREGTECH { private static void breweryRecipes() { if (Loader.isModLoaded("OpenBlocks")) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.getIntegratedCircuit(14)) .fluidInputs(FluidRegistry.getFluidStack("mobessence", 100)) .fluidOutputs(FluidRegistry.getFluidStack("xpjuice", 1332)) .duration(5 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(brewingRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.getIntegratedCircuit(14)) .fluidInputs(FluidRegistry.getFluidStack("xpjuice", 1332)) .fluidOutputs(FluidRegistry.getFluidStack("mobessence", 100)) @@ -630,21 +652,21 @@ public class RECIPES_GREGTECH { .addTo(brewingRecipes); } - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) .fluidInputs(Materials.Water.getFluid(100L)) .fluidOutputs(Materials.Biomass.getFluid(100L)) .duration(1 * MINUTES) .eut(3) .addTo(brewingRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) .fluidInputs(Materials.Honey.getFluid(100L)) .fluidOutputs(Materials.Biomass.getFluid(100L)) .duration(1 * MINUTES) .eut(3) .addTo(brewingRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) .fluidInputs(FluidUtils.getFluidStack("juice", 100)) .fluidOutputs(Materials.Biomass.getFluid(100L)) @@ -654,7 +676,7 @@ public class RECIPES_GREGTECH { } private static void cuttingSawRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("blockMeatRaw", 1)) .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("plateMeatRaw", 9)) .duration(16 * TICKS) @@ -663,7 +685,7 @@ public class RECIPES_GREGTECH { } private static void electrolyzerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getSimpleStack(ModItems.dustDecayedRadium226, 1)) .fluidOutputs(FluidUtils.getFluidStack("radon", 144)) .duration(1 * MINUTES + 30 * SECONDS) @@ -673,7 +695,7 @@ public class RECIPES_GREGTECH { private static void extruderRecipes() { // Osmium Credits - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("blockOsmium", 1), ItemList.Shape_Mold_Credit.get(0)) .itemOutputs(ItemList.Credit_Greg_Osmium.get(1)) .duration(6 * MINUTES + 20 * SECONDS) @@ -684,140 +706,156 @@ public class RECIPES_GREGTECH { private static void blastSmelterRecipes() { // Eglin Steel - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(6), ELEMENT.getInstance().IRON.getDust(4), - ALLOY.KANTHAL.getDust(1), ALLOY.INVAR.getDust(5), ELEMENT.getInstance().SULFUR.getDust(1), - ELEMENT.getInstance().CARBON.getDust(1), ELEMENT.getInstance().SILICON.getDust(4) }, - ALLOY.EGLIN_STEEL.getFluidStack(16 * 144), - 0, - 20 * 45, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), + ELEMENT.getInstance().IRON.getDust(4), + ALLOY.KANTHAL.getDust(1), + ALLOY.INVAR.getDust(5), + ELEMENT.getInstance().SULFUR.getDust(1), + ELEMENT.getInstance().CARBON.getDust(1), + ELEMENT.getInstance().SILICON.getDust(4)) + .fluidOutputs(ALLOY.EGLIN_STEEL.getFluidStack(16 * 144)) + .eut(TierEU.RECIPE_MV) + .duration(45 * SECONDS) + .addTo(alloyBlastSmelterRecipes); // HG1223 - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(5), ELEMENT.getInstance().BARIUM.getDust(2), - ELEMENT.getInstance().CALCIUM.getDust(2), ELEMENT.getInstance().COPPER.getDust(3), }, - new FluidStack[] { ELEMENT.getInstance().OXYGEN.getFluidStack(8000), - ELEMENT.getInstance().MERCURY.getFluidStack(1000), }, - ALLOY.HG1223.getFluidStack(16 * 144), - null, - new int[] { 10000 }, // Output Chance - 20 * 120, - 30720); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(5), + ELEMENT.getInstance().BARIUM.getDust(2), + ELEMENT.getInstance().CALCIUM.getDust(2), + ELEMENT.getInstance().COPPER.getDust(3)) + .fluidOutputs(ALLOY.HG1223.getFluidStack(16 * 144)) + .eut(TierEU.RECIPE_LuV) + .duration(2 * MINUTES) + .addTo(alloyBlastSmelterRecipes); // NITINOL_60 - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(2), ELEMENT.getInstance().TITANIUM.getDust(3), - ELEMENT.getInstance().NICKEL.getDust(2) }, - ALLOY.NITINOL_60.getFluidStack(5 * 144), - 0, - 20 * 75, - 7680); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(2), + ELEMENT.getInstance().TITANIUM.getDust(3), + ELEMENT.getInstance().NICKEL.getDust(2)) + .fluidOutputs(ALLOY.NITINOL_60.getFluidStack(5 * 144)) + .eut(TierEU.RECIPE_IV) + .duration(1 * MINUTES + 15 * SECONDS) + .addTo(alloyBlastSmelterRecipes); // INDALLOY_140 - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(5), ELEMENT.getInstance().BISMUTH.getDust(47), - ELEMENT.getInstance().LEAD.getDust(25), ELEMENT.getInstance().TIN.getDust(13), - ELEMENT.getInstance().CADMIUM.getDust(10), ELEMENT.getInstance().INDIUM.getDust(5) }, - ALLOY.INDALLOY_140.getFluidStack(100 * 144), - 0, - 20 * 40, - 7680); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(5), + ELEMENT.getInstance().BISMUTH.getDust(47), + ELEMENT.getInstance().LEAD.getDust(25), + ELEMENT.getInstance().TIN.getDust(13), + ELEMENT.getInstance().CADMIUM.getDust(10), + ELEMENT.getInstance().INDIUM.getDust(5)) + .fluidOutputs(ALLOY.INDALLOY_140.getFluidStack(100 * 144)) + .eut(TierEU.RECIPE_IV) + .duration(40 * SECONDS) + .addTo(alloyBlastSmelterRecipes); // Germanium Roasting - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(15), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(15), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedSphalerite", 8), - ELEMENT.getInstance().CARBON.getDust(32), }, - Materials.SulfuricAcid.getFluid(2000), - ELEMENT.getInstance().GERMANIUM.getFluidStack(288), - 0, - 20 * 300, - 4000); + ELEMENT.getInstance().CARBON.getDust(32)) + .fluidInputs(Materials.SulfuricAcid.getFluid(2000)) + .fluidOutputs(ELEMENT.getInstance().GERMANIUM.getFluidStack(288)) + .eut(4_000) + .duration(5 * MINUTES) + .addTo(alloyBlastSmelterRecipes); // Rhenium Roasting - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(20), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(20), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedScheelite", 8), - ELEMENT.getInstance().CARBON.getDust(32), }, - Materials.SulfuricAcid.getFluid(10000), - ELEMENT.getInstance().RHENIUM.getFluidStack(144), - 0, - 20 * 300, - 4000); - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(20), + ELEMENT.getInstance().CARBON.getDust(32)) + .fluidInputs(Materials.SulfuricAcid.getFluid(10000)) + .fluidOutputs(ELEMENT.getInstance().RHENIUM.getFluidStack(144)) + .eut(4_000) + .duration(5 * MINUTES) + .addTo(alloyBlastSmelterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(20), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMolybdenite", 8), - ELEMENT.getInstance().CARBON.getDust(32), }, - Materials.SulfuricAcid.getFluid(7500), - ELEMENT.getInstance().RHENIUM.getFluidStack(144), - 0, - 20 * 300, - 4000); - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(20), + ELEMENT.getInstance().CARBON.getDust(32)) + .fluidInputs(Materials.SulfuricAcid.getFluid(7500)) + .fluidOutputs(ELEMENT.getInstance().RHENIUM.getFluidStack(144)) + .eut(4_000) + .duration(5 * MINUTES) + .addTo(alloyBlastSmelterRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(20), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMolybdenum", 8), - ELEMENT.getInstance().CARBON.getDust(32), }, - Materials.SulfuricAcid.getFluid(5000), - ELEMENT.getInstance().RHENIUM.getFluidStack(288), - 0, - 20 * 300, - 4000); + ELEMENT.getInstance().CARBON.getDust(32)) + .fluidInputs(Materials.SulfuricAcid.getFluid(5000)) + .fluidOutputs(ELEMENT.getInstance().RHENIUM.getFluidStack(288)) + .eut(4_000) + .duration(5 * MINUTES) + .addTo(alloyBlastSmelterRecipes); // Thallium Roasting - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(21), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(21), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedZinc", 3), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 4), - ELEMENT.getInstance().CARBON.getDust(16), }, - Materials.SulfuricAcid.getFluid(1250), - ELEMENT.getInstance().THALLIUM.getFluidStack(288), - new ItemStack[] {}, - new int[] { 0 }, - 20 * 75, - 8000, - 3700, - false); + ELEMENT.getInstance().CARBON.getDust(16)) + .fluidInputs(Materials.SulfuricAcid.getFluid(1250)) + .fluidOutputs(ELEMENT.getInstance().THALLIUM.getFluidStack(288)) + .eut(8000) + .duration(1 * MINUTES + 15 * SECONDS) + .noOptimize() + .addTo(alloyBlastSmelterRecipes); // Strontium processing - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(21), MISC_MATERIALS.STRONTIUM_OXIDE.getDust(8), - ELEMENT.getInstance().ALUMINIUM.getDust(8), }, - (FluidStack) null, - ELEMENT.getInstance().OXYGEN.getFluidStack(8000), - new ItemStack[] { ELEMENT.getInstance().ALUMINIUM.getIngot(8), - ELEMENT.getInstance().STRONTIUM.getIngot(8) }, - new int[] { 10000, 10000 }, // Output Chance - 20 * 120, - 480 * 4); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(21), + MISC_MATERIALS.STRONTIUM_OXIDE.getDust(8), + ELEMENT.getInstance().ALUMINIUM.getDust(8)) + .itemOutputs(ELEMENT.getInstance().ALUMINIUM.getIngot(8), ELEMENT.getInstance().STRONTIUM.getIngot(8)) + .fluidOutputs(ELEMENT.getInstance().OXYGEN.getFluidStack(8000)) + .eut(TierEU.RECIPE_EV) + .duration(2 * MINUTES) + .addTo(alloyBlastSmelterRecipes); // molten botmium - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(4), ItemUtils.getItemStackOfAmountFromOreDict("dustNitinol60", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 6), ItemUtils.getItemStackOfAmountFromOreDict("dustRuthenium", 6), - ItemUtils.getItemStackOfAmountFromOreDict("dustThallium", 3) }, - GT_Values.NF, - ALLOY.BOTMIUM.getFluidStack(2304), - 0, - 20 * 120, - 491520); + ItemUtils.getItemStackOfAmountFromOreDict("dustThallium", 3)) + .fluidOutputs(ALLOY.BOTMIUM.getFluidStack(2304)) + .eut(TierEU.RECIPE_UV) + .duration(2 * MINUTES) + .addTo(alloyBlastSmelterRecipes); // molten precious metals alloy - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(6), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(6), ItemUtils.getItemStackOfAmountFromOreDict("dustRuthenium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRhodium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustPalladium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustPlatinum", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustOsmium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 1) }, - GT_Values.NF, - FluidUtils.getFluidStack("molten.precious metals alloy", 864), - 0, - 20 * 540, - 7864320); + ItemUtils.getItemStackOfAmountFromOreDict("dustIridium", 1)) + .fluidOutputs(FluidUtils.getFluidStack("molten.precious metals alloy", 864)) + .eut(TierEU.RECIPE_UEV) + .duration(9 * MINUTES) + .addTo(alloyBlastSmelterRecipes); } private static void dehydratorRecipes() { @@ -826,21 +864,20 @@ public class RECIPES_GREGTECH { ItemStack cropGrape = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cropGrape", 1); ItemStack foodRaisins = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("foodRaisins", 1); - if (cropGrape != null && foodRaisins != null) CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(20), cropGrape }, // Item - null, // Fluid input (slot 1) - null, // Fluid output (slot 2) - new ItemStack[] { foodRaisins }, // Output - new int[] { 10000 }, - 10, // Time in ticks - 2); // EU + if (cropGrape != null && foodRaisins != null) { + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(20), cropGrape) + .itemOutputs(foodRaisins) + .eut(2) + .duration(10 * TICKS) + .addTo(chemicalDehydratorRecipes); + } // Process Waste Water - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(21) }, - FluidUtils.getFluidStack("sludge", 1000), - Materials.Methane.getGas(100), - new ItemStack[] { ItemUtils.getSimpleStack(Blocks.dirt), + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(21)) + .itemOutputs( + ItemUtils.getSimpleStack(Blocks.dirt), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1L), @@ -848,62 +885,65 @@ public class RECIPES_GREGTECH { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L) }, - new int[] { 2000, 500, 10, 7, 6, 5, 4, 3, 2 }, - 2 * 20, - 500); // EU + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L)) + .outputChances(20_00, 5_00, 10, 7, 6, 5, 4, 3, 2) + .fluidInputs(FluidUtils.getFluidStack("sludge", 1000)) + .fluidOutputs(Materials.Methane.getGas(100)) + .eut(500) + .duration(2 * SECONDS) + .addTo(chemicalDehydratorRecipes); // C8H10 = C8H8 + 2H - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), CI.emptyCells(3) }, - FluidUtils.getFluidStack("fluid.ethylbenzene", 1000), - null, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellStyrene", 1), - ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 2) }, - new int[] { 10000, 10000 }, - 3 * 20, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(18), CI.emptyCells(3)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("cellStyrene", 1), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 2)) + .fluidInputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 1000)) + .eut(TierEU.RECIPE_LV) + .duration(3 * SECONDS) + .addTo(chemicalDehydratorRecipes); /* * Add custom recipes for drying leather */ if (Backpack.isModLoaded()) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), new ItemStack(Items.leather, 2) }, - FluidUtils.getFluidStack("fluid.ethylbenzene", 1000), - null, - new ItemStack[] { ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1) }, - new int[] { 10000 }, - 5 * 20, - 180); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(18), new ItemStack(Items.leather, 2)) + .itemOutputs(ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1)) + .fluidInputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 1000)) + .eut(180) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); + if (NewHorizonsCoreMod.isModLoaded()) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ArtificialLeather", 2L, 0) }, - FluidUtils.getFluidStack("fluid.ethylbenzene", 1000), - null, - new ItemStack[] { ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1) }, - new int[] { 10000 }, - 5 * 20, - 180); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ArtificialLeather", 2L, 0)) + .itemOutputs(ItemUtils.getCorrectStacktype("Backpack:tannedLeather", 1)) + .fluidInputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 1000)) + .eut(180) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); } } // Alternative ACETIC ANHYDRIDE recipe for Kevlar Line // 2C2H4O2 = C4H6O3 + H2O - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), CI.emptyCells(1) }, - FluidUtils.getFluidStack("aceticacid", 2000), - MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 1), }, - new int[] { 10000 }, - 30 * 20, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(18), CI.emptyCells(1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 1)) + .fluidInputs(FluidUtils.getFluidStack("aceticacid", 2000)) + .fluidOutputs(MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000)) + .eut(TierEU.RECIPE_HV) + .duration(30 * SECONDS) + .addTo(chemicalDehydratorRecipes); } private static void largeChemReactorRecipes() { // Styrene // C8H10 = C8H8 + 2H - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.getIntegratedCircuit(24)) .itemOutputs() .fluidInputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 1000)) @@ -914,7 +954,7 @@ public class RECIPES_GREGTECH { // Short-cut Styrene // C6H6 + C2H4 = C8H8 + 2H - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.getIntegratedCircuit(24)) .itemOutputs() .fluidInputs(Materials.Ethylene.getGas(500L), Materials.Benzene.getFluid(500L)) @@ -926,7 +966,7 @@ public class RECIPES_GREGTECH { private static void assemblerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Vanadium, 32L), GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.VanadiumSteel, 8L)) @@ -936,7 +976,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_MV / 2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 2), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VanadiumGallium, 8L)) @@ -946,7 +986,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 4L), @@ -958,7 +998,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_HV / 2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GregtechItemList.Casing_Vanadium_Redox.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Titanium, 4L), @@ -970,7 +1010,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_EV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GregtechItemList.Casing_Vanadium_Redox_IV.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TungstenSteel, 4L), @@ -982,7 +1022,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_IV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GregtechItemList.Casing_Vanadium_Redox_LuV.get(1), ItemUtils.getItemStackOfAmountFromOreDict("plateAlloyIridium", 16), @@ -994,7 +1034,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_LuV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GregtechItemList.Casing_Vanadium_Redox_ZPM.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Naquadah, 4L), @@ -1006,7 +1046,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_ZPM) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GregtechItemList.Casing_Vanadium_Redox_UV.get(1), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Americium, 4L), @@ -1018,7 +1058,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_UV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemUtils.getSimpleStack(CI.explosiveITNT, 2), ItemUtils.getSimpleStack(CI.explosiveTNT, 4), @@ -1029,7 +1069,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_MV / 2) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherStar, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 8L), @@ -1039,7 +1079,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( CI.fluidRegulator_LV, CI.electricMotor_LV, @@ -1052,7 +1092,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( CI.fluidRegulator_MV, CI.electricMotor_MV, @@ -1065,7 +1105,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( CI.fluidRegulator_HV, CI.electricMotor_HV, @@ -1078,7 +1118,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( CI.fluidRegulator_EV, CI.electricMotor_EV, @@ -1091,28 +1131,28 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_EV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1), GT_Utility.getIntegratedCircuit(20)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1000, 1)) .duration(1 * SECONDS + 10 * TICKS) .eut(TierEU.RECIPE_LV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1), GT_Utility.getIntegratedCircuit(20)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1001, 1)) .duration(6 * SECONDS) .eut(TierEU.RECIPE_MV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1), GT_Utility.getIntegratedCircuit(20)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1002, 1)) .duration(24 * SECONDS) .eut(TierEU.RECIPE_HV) .addTo(assemblerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1), GT_Utility.getIntegratedCircuit(20)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1003, 1)) .duration(1 * MINUTES + 36 * SECONDS) @@ -1145,7 +1185,7 @@ public class RECIPES_GREGTECH { int aAS = i - 1; - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( aPackPlates[aAS], aPackRing[aAS], @@ -1163,7 +1203,7 @@ public class RECIPES_GREGTECH { if (Baubles.isModLoaded()) { // Turbine Housing Research Page - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_Utility.getIntegratedCircuit(17), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Trinium, 64L), @@ -1179,7 +1219,7 @@ public class RECIPES_GREGTECH { .addTo(assemblerRecipes); // Cloaking Device Research Page - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( GT_Utility.getIntegratedCircuit(17), ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, 4), @@ -1196,7 +1236,7 @@ public class RECIPES_GREGTECH { private static void distilleryRecipes() { Logger.INFO("Registering Distillery/Distillation Tower Recipes."); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_Utility.getIntegratedCircuit(4)) .fluidInputs(Materials.Air.getGas(1000L)) .fluidOutputs(Materials.Helium.getGas(1L)) @@ -1204,7 +1244,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_LV) .addTo(distilleryRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs(Materials.Air.getGas(20000L)) .fluidOutputs(Materials.Helium.getGas(25L)) .duration(10 * SECONDS) @@ -1216,7 +1256,7 @@ public class RECIPES_GREGTECH { * so if you dissolve aparite in sulphuric acid you'll get a mixture of SO2, H2O, HF and HCl */ - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs(FluidUtils.getFluidStack("sulfuricapatite", 5200)) .fluidOutputs( FluidUtils.getFluidStack("sulfurousacid", 3800), @@ -1226,7 +1266,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_MV) .addTo(distillationTowerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs(FluidUtils.getFluidStack("sulfurousacid", 1000)) .fluidOutputs(Materials.SulfurDioxide.getGas(500), Materials.Water.getFluid(500)) .duration(10 * SECONDS) @@ -1241,7 +1281,7 @@ public class RECIPES_GREGTECH { // Lava - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs(FluidUtils.getLava(1000), FluidUtils.getWater(16_000 / GT_Values.STEAM_PER_WATER)) .fluidOutputs(FluidUtils.getPahoehoeLava(1000), FluidUtils.getSteam(16_000)) .itemOutputs( @@ -1253,14 +1293,13 @@ public class RECIPES_GREGTECH { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungstate, 1), new ItemStack(Blocks.obsidian, 1, 0)) .outputChances(444, 222, 56, 56, 56, 125, 1000) - .specialValue(-1) .duration(1 * SECONDS) .eut(0) .addTo(thermalBoilerRecipes); // Pahoehoe Lava - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs(FluidUtils.getPahoehoeLava(1000), FluidUtils.getWater(16_000 / GT_Values.STEAM_PER_WATER)) .fluidOutputs(FluidUtils.getSteam(16_000)) .itemOutputs( @@ -1270,14 +1309,13 @@ public class RECIPES_GREGTECH { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungstate, 1), new ItemStack(Blocks.obsidian, 1, 0)) .outputChances(167, 56, 56, 125, 3700) - .specialValue(-1) .duration(1 * SECONDS) .eut(0) .addTo(thermalBoilerRecipes); // Hot Coolant - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs( FluidUtils.getFluidStack("ic2hotcoolant", 500), FluidUtils.getWater(100_000 / GT_Values.STEAM_PER_WATER)) @@ -1288,7 +1326,7 @@ public class RECIPES_GREGTECH { // Solar Salt (Hot) - GT_Values.RA.stdBuilder() + RA.stdBuilder() .fluidInputs( MISC_MATERIALS.SOLAR_SALT_HOT.getFluidStack(100), FluidUtils.getWater(100_000 / GT_Values.STEAM_PER_WATER)) @@ -1301,21 +1339,21 @@ public class RECIPES_GREGTECH { private static void addFuels() { Logger.INFO("Registering New Fuels."); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getSimpleStack(Items.lava_bucket)) .metadata(FUEL_VALUE, 32) .metadata(FUEL_TYPE, 2) .duration(0) .eut(0) .addTo(GT_RecipeConstants.Fuel); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getIC2Cell(2)) .metadata(FUEL_VALUE, 32) .metadata(FUEL_TYPE, 2) .duration(0) .eut(0) .addTo(GT_RecipeConstants.Fuel); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getIC2Cell(11)) .metadata(FUEL_VALUE, 24) .metadata(FUEL_TYPE, 2) @@ -1326,20 +1364,29 @@ public class RECIPES_GREGTECH { private static void extractorRecipes() { Logger.INFO("Registering Extractor Recipes."); - GT_ModHandler.addExtractionRecipe( - GregtechItemList.Battery_RE_EV_Sodium.get(1L, new Object[0]), - ItemList.Battery_Hull_HV.get(4L, new Object[0])); - GT_ModHandler.addExtractionRecipe( - GregtechItemList.Battery_RE_EV_Cadmium.get(1L, new Object[0]), - ItemList.Battery_Hull_HV.get(4L, new Object[0])); - GT_ModHandler.addExtractionRecipe( - GregtechItemList.Battery_RE_EV_Lithium.get(1L, new Object[0]), - ItemList.Battery_Hull_HV.get(4L, new Object[0])); + RA.stdBuilder() + .itemInputs(GregtechItemList.Battery_RE_EV_Sodium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(4L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(GregtechItemList.Battery_RE_EV_Cadmium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(4L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(GregtechItemList.Battery_RE_EV_Lithium.get(1L)) + .itemOutputs(ItemList.Battery_Hull_HV.get(4L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); } private static void fluidExtractorRecipes() { // Gelid Cryotheum - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cryotheum, 1L)) .fluidOutputs(FluidUtils.getFluidStack("cryotheum", 250)) .duration(10 * SECONDS) @@ -1347,7 +1394,7 @@ public class RECIPES_GREGTECH { .addTo(fluidExtractionRecipes); // Ender Fluid - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getSimpleStack(Items.ender_pearl)) .fluidOutputs(FluidUtils.getFluidStack("ender", 250)) .duration(5 * SECONDS) @@ -1355,7 +1402,7 @@ public class RECIPES_GREGTECH { .addTo(fluidExtractionRecipes); // Blazing Pyrotheum - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Pyrotheum, 1L)) .fluidOutputs(FluidUtils.getFluidStack("pyrotheum", 250)) .duration(10 * SECONDS) @@ -1365,7 +1412,7 @@ public class RECIPES_GREGTECH { private static void centrifugeRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(CI.getNumberedAdvancedCircuit(2), MISC_MATERIALS.SOLAR_SALT_COLD.getCell(1)) .itemOutputs( MISC_MATERIALS.SODIUM_NITRATE.getDust(3), @@ -1378,7 +1425,7 @@ public class RECIPES_GREGTECH { private static void mixerRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( CI.getNumberedAdvancedCircuit(2), CI.emptyCells(1), @@ -1389,7 +1436,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_MV) .addTo(mixerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( CI.getNumberedAdvancedCircuit(2), Materials.Titanium.getDust(9), @@ -1403,7 +1450,7 @@ public class RECIPES_GREGTECH { .eut(TierEU.RECIPE_EV) .addTo(mixerRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( CI.getNumberedAdvancedCircuit(2), Materials.Steel.getDust(16), @@ -1419,7 +1466,7 @@ public class RECIPES_GREGTECH { private static void chemicalReactorRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( CI.getNumberedAdvancedCircuit(21), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Apatite, 32L)) @@ -1431,7 +1478,7 @@ public class RECIPES_GREGTECH { .addTo(UniversalChemical); // KOH + HNO3 = KNO3 + H2O - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getSimpleStack(GenericChem.mPotassiumHydroxide, 3), CI.getNumberedAdvancedCircuit(1)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PotassiumNitrade, 5L)) .fluidInputs(Materials.NitricAcid.getFluid(1000)) @@ -1441,7 +1488,7 @@ public class RECIPES_GREGTECH { .addTo(UniversalChemical); // Na2CO3 + 2HNO3 = 2NaNO3 + CO2 + H2O - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs( ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), CI.getNumberedAdvancedCircuit(1)) @@ -1456,7 +1503,7 @@ public class RECIPES_GREGTECH { private static void blastFurnaceRecipes() { // Synthetic Graphite - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ALLOY.SILICON_CARBIDE.getDust(16), GT_Utility.getIntegratedCircuit(22)) .itemOutputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 8L), @@ -1471,20 +1518,20 @@ public class RECIPES_GREGTECH { } private static void compressorRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Clay, 1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 9L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.MeatRaw, 1L)) .duration(15 * SECONDS) .eut(2) .addTo(compressorRecipes); - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemList.FusionComputer_UV.get(9)) .itemOutputs(GregtechItemList.Compressed_Fusion_Reactor.get(1)) .duration(1 * HOURS + 50 * MINUTES) @@ -1494,7 +1541,7 @@ public class RECIPES_GREGTECH { private static void macerationRecipes() { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.MeatRaw, 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 9L)) .duration(44 * SECONDS) @@ -1502,7 +1549,7 @@ public class RECIPES_GREGTECH { .addTo(maceratorRecipes); if (ItemUtils.simpleMetaStack("chisel:limestone", 0, 1) != null) { - GT_Values.RA.stdBuilder() + RA.stdBuilder() .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("limestone", 1)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 4L)) .duration(20 * SECONDS) @@ -1514,163 +1561,166 @@ public class RECIPES_GREGTECH { private static void cyclotronRecipes() { // Polonium - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.bismuth", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, - null, - new int[] { 100 }, - 20 * 300 * 100, - 2040 * 4, - 500 * 20); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Pellet_RTG_PO210.get(1)) + .outputChances(100) + .fluidInputs(FluidUtils.getFluidStack("molten.bismuth", 1)) + .duration(8 * HOURS + 20 * MINUTES) + .eut(8160) + .addTo(cyclotronRecipes); // Americium - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.americium", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, - null, - new int[] { 2500 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Pellet_RTG_AM241.get(4)) + .outputChances(2500) + .fluidInputs(FluidUtils.getFluidStack("molten.americium", 1)) + .duration(8 * HOURS + 20 * MINUTES) + .eut(4080) + .addTo(cyclotronRecipes); // Strontium u235 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.uranium235", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, - null, - new int[] { 570 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Pellet_RTG_SR90.get(1)) + .outputChances(570) + .fluidInputs(FluidUtils.getFluidStack("molten.uranium235", 10)) + .duration(8 * HOURS + 20 * MINUTES) + .eut(4080) + .addTo(cyclotronRecipes); // Strontium u233 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.uranium233", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, - null, - new int[] { 660 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Pellet_RTG_SR90.get(1)) + .outputChances(660) + .fluidInputs(FluidUtils.getFluidStack("molten.uranium233", 10)) + .duration(8 * HOURS + 20 * MINUTES) + .eut(4080) + .addTo(cyclotronRecipes); // Strontium pu239 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.plutonium", 10), - new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, - null, - new int[] { 220 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Pellet_RTG_SR90.get(1)) + .outputChances(220) + .fluidInputs(FluidUtils.getFluidStack("molten.plutonium", 10)) + .duration(8 * HOURS + 20 * MINUTES) + .eut(4080) + .addTo(cyclotronRecipes); // Plutonium - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1), - FluidUtils.getFluidStack("molten.plutonium238", 1), - new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, - null, - new int[] { 780 }, - 20 * 300 * 100, - 1020 * 4, - 500 * 20); // PO Special Value + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Pellet_RTG_PU238.get(2)) + .outputChances(780) + .fluidInputs(FluidUtils.getFluidStack("molten.plutonium238", 1)) + .duration(8 * HOURS + 20 * MINUTES) + .eut(4080) + .addTo(cyclotronRecipes); // Neptunium - CORE.RA.addCyclotronRecipe( - new ItemStack[] { ELEMENT.getInstance().URANIUM238.getDust(1) }, - FluidUtils.getFluidStack("deuterium", 400), - new ItemStack[] { ItemUtils.getSimpleStack(ModItems.dustNeptunium238) }, - null, - new int[] { 500 }, - 20 * 5, - 500 * 4, - 500 * 20); // PO Special Value + GT_Values.RA.stdBuilder() + .itemInputs(ELEMENT.getInstance().URANIUM238.getDust(1)) + .itemOutputs(ItemUtils.getSimpleStack(ModItems.dustNeptunium238)) + .outputChances(500) + .fluidInputs(FluidUtils.getFluidStack("deuterium", 400)) + .duration(5 * SECONDS) + .eut(2000) + .addTo(cyclotronRecipes); /* * Particle Science */ // Quark Smash - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(3), - FluidUtils.getFluidStack("plasma.hydrogen", 100), - new ItemStack[] { Particle.getBaseParticle(Particle.UP), Particle.getBaseParticle(Particle.DOWN), - Particle.getBaseParticle(Particle.CHARM), Particle.getBaseParticle(Particle.STRANGE), - Particle.getBaseParticle(Particle.TOP), Particle.getBaseParticle(Particle.BOTTOM), }, - null, - new int[] { 50, 50, 50, 50, 50, 50 }, - 20 * 300 * 9, - (int) MaterialUtils.getVoltageForTier(7), - 750 * 20); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .itemOutputs( + Particle.getBaseParticle(Particle.UP), + Particle.getBaseParticle(Particle.DOWN), + Particle.getBaseParticle(Particle.CHARM), + Particle.getBaseParticle(Particle.STRANGE), + Particle.getBaseParticle(Particle.TOP), + Particle.getBaseParticle(Particle.BOTTOM)) + .outputChances(50, 50, 50, 50, 50, 50) + .fluidInputs(FluidUtils.getFluidStack("plasma.hydrogen", 100)) + .duration(45 * MINUTES) + .eut(TierEU.RECIPE_ZPM) + .addTo(cyclotronRecipes); // Lepton Smash - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(6), - FluidUtils.getFluidStack("plasma.helium", 1500), - new ItemStack[] { Particle.getBaseParticle(Particle.ELECTRON), Particle.getBaseParticle(Particle.MUON), - Particle.getBaseParticle(Particle.TAU), Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO), - Particle.getBaseParticle(Particle.MUON_NEUTRINO), Particle.getBaseParticle(Particle.TAU_NEUTRINO), }, - null, - new int[] { 600, 40, 20, 15, 10, 5 }, - 20 * 300 * 8, - (int) MaterialUtils.getVoltageForTier(7), - 750 * 20); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(6)) + .itemOutputs( + Particle.getBaseParticle(Particle.ELECTRON), + Particle.getBaseParticle(Particle.MUON), + Particle.getBaseParticle(Particle.TAU), + Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO), + Particle.getBaseParticle(Particle.MUON_NEUTRINO), + Particle.getBaseParticle(Particle.TAU_NEUTRINO)) + .outputChances(600, 40, 20, 15, 10, 5) + .fluidInputs(FluidUtils.getFluidStack("plasma.helium", 1500)) + .duration(40 * MINUTES) + .eut(TierEU.RECIPE_ZPM) + .addTo(cyclotronRecipes); // Boson Smash - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(9), - FluidUtils.getFluidStack("plasma.helium", 1500), - new ItemStack[] { Particle.getBaseParticle(Particle.GLUON), Particle.getBaseParticle(Particle.PHOTON), - Particle.getBaseParticle(Particle.Z_BOSON), Particle.getBaseParticle(Particle.W_BOSON), - Particle.getBaseParticle(Particle.HIGGS_BOSON), }, - null, - new int[] { 160, 260, 150, 150, 1 }, - 20 * 300 * 6, - (int) MaterialUtils.getVoltageForTier(7), - 750 * 20); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(9)) + .itemOutputs( + Particle.getBaseParticle(Particle.GLUON), + Particle.getBaseParticle(Particle.PHOTON), + Particle.getBaseParticle(Particle.Z_BOSON), + Particle.getBaseParticle(Particle.W_BOSON), + Particle.getBaseParticle(Particle.HIGGS_BOSON)) + .outputChances(160, 260, 150, 150, 1) + .fluidInputs(FluidUtils.getFluidStack("plasma.helium", 1500)) + .duration(30 * MINUTES) + .eut(TierEU.RECIPE_ZPM) + .addTo(cyclotronRecipes); // Mixed Smash 1 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(12), - Materials.Americium.getPlasma(2500), - new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.ETA_MESON), - Particle.getBaseParticle(Particle.PION), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.NEUTRON), Particle.getBaseParticle(Particle.LAMBDA), - Particle.getBaseParticle(Particle.OMEGA), Particle.getBaseParticle(Particle.HIGGS_BOSON), }, - null, - new int[] { 50, 50, 50, 40, 30, 20, 20, 10 }, - 1000 * 20, - (int) MaterialUtils.getVoltageForTier(8), - 750 * 20); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(12)) + .itemOutputs( + Particle.getBaseParticle(Particle.GRAVITON), + Particle.getBaseParticle(Particle.ETA_MESON), + Particle.getBaseParticle(Particle.PION), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.NEUTRON), + Particle.getBaseParticle(Particle.LAMBDA), + Particle.getBaseParticle(Particle.OMEGA), + Particle.getBaseParticle(Particle.HIGGS_BOSON)) + .outputChances(50, 50, 50, 40, 30, 20, 20, 10) + .fluidInputs(Materials.Americium.getPlasma(2500)) + .duration(16 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(cyclotronRecipes); // Mixed Smash 1 - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(12), - new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 2500), - new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.ETA_MESON), - Particle.getBaseParticle(Particle.PION), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.NEUTRON), Particle.getBaseParticle(Particle.LAMBDA), - Particle.getBaseParticle(Particle.OMEGA), Particle.getBaseParticle(Particle.HIGGS_BOSON), }, - null, - new int[] { 5000, 200, 200, 100, 80, 60, 40, 30 }, - 100 * 20, - (int) MaterialUtils.getVoltageForTier(8), - 750 * 20); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(12)) + .itemOutputs( + Particle.getBaseParticle(Particle.GRAVITON), + Particle.getBaseParticle(Particle.ETA_MESON), + Particle.getBaseParticle(Particle.PION), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.NEUTRON), + Particle.getBaseParticle(Particle.LAMBDA), + Particle.getBaseParticle(Particle.OMEGA), + Particle.getBaseParticle(Particle.HIGGS_BOSON)) + .outputChances(5000, 200, 200, 100, 80, 60, 40, 30) + .fluidInputs(new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 2500)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(cyclotronRecipes); // Graviton Smash - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(15), - FluidUtils.getFluidStack("plasma.hydrogen", 100), - new ItemStack[] { Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.UNKNOWN) }, - null, - new int[] { 1000, 100 }, - 20 * (90), - (int) MaterialUtils.getVoltageForTier(6), - 1000 * 20); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(15)) + .itemOutputs(Particle.getBaseParticle(Particle.GRAVITON), Particle.getBaseParticle(Particle.UNKNOWN)) + .outputChances(1000, 100) + .fluidInputs(FluidUtils.getFluidStack("plasma.hydrogen", 100)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(cyclotronRecipes); FluidStack aPlasma = Materials.Duranium.getMolten(40); FluidStack aPlasma_NULL = Materials._NULL.getPlasma(1); @@ -1680,15 +1730,14 @@ public class RECIPES_GREGTECH { } // Quantum Anomaly - CORE.RA.addCyclotronRecipe( - new ItemStack[] { CI.getNumberedCircuit(24), Particle.getBaseParticle(Particle.UNKNOWN), }, - aPlasma, - new ItemStack[] { GregtechItemList.Laser_Lens_Special.get(1) }, - null, - new int[] { 100 }, - 20 * (25), - (int) MaterialUtils.getVoltageForTier(8), - 500 * 20); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24), Particle.getBaseParticle(Particle.UNKNOWN)) + .itemOutputs(GregtechItemList.Laser_Lens_Special.get(1)) + .outputChances(100) + .fluidInputs(aPlasma) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(cyclotronRecipes); /* * Ions @@ -1709,17 +1758,23 @@ public class RECIPES_GREGTECH { // Ionize Plasma if ((aPlasma2 != null && !aPlasma2.isFluidEqual(aPlasma_NULL)) || (aPlasma3 != null && !aPlasma3.isFluidEqual(aPlasma_NULL))) { - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(1 + (tenCountA - 1)), - aPlasma2 != null ? aPlasma2 : aPlasma3, - new ItemStack[] { Particle.getIon(y, 1), Particle.getIon(y, 2), Particle.getIon(y, 3), - Particle.getIon(y, -1), Particle.getIon(y, -2), Particle.getIon(y, -3), Particle.getIon(y, 1), - Particle.getIon(y, 2), Particle.getIon(y, -1), }, - null, - new int[] { 275, 250, 225, 275, 250, 225, 275, 250, 275 }, - 20 * 20 * (IonCount++) * tenCountA, - (int) MaterialUtils.getVoltageForTier(7), - 1500 * 20 * tenCountA); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1 + (tenCountA - 1))) + .itemOutputs( + Particle.getIon(y, 1), + Particle.getIon(y, 2), + Particle.getIon(y, 3), + Particle.getIon(y, -1), + Particle.getIon(y, -2), + Particle.getIon(y, -3), + Particle.getIon(y, 1), + Particle.getIon(y, 2), + Particle.getIon(y, -1)) + .outputChances(275, 250, 225, 275, 250, 225, 275, 250, 275) + .duration(20 * SECONDS * (IonCount++) * tenCountA) + .eut(TierEU.RECIPE_ZPM) + .addTo(cyclotronRecipes); + } else { Logger.INFO("Plasma for " + y + " does not exist, please report this to Alkalus."); } @@ -1733,74 +1788,92 @@ public class RECIPES_GREGTECH { } // Generate Hydrogen Ion Recipe - CORE.RA.addCyclotronRecipe( - CI.getNumberedCircuit(24), - FluidUtils.getWildcardFluidStack("hydrogen", 1000), - new ItemStack[] { Particle.getIon("Hydrogen", 1), Particle.getIon("Hydrogen", 2), - Particle.getIon("Hydrogen", 3), Particle.getIon("Hydrogen", 1), Particle.getIon("Hydrogen", 2), - Particle.getIon("Hydrogen", 3), Particle.getIon("Hydrogen", -1), Particle.getIon("Hydrogen", -2), - Particle.getIon("Hydrogen", -3) }, - null, - new int[] { 500, 500, 500, 500, 500, 500, 500, 500, 500 }, - 20 * 20, - (int) MaterialUtils.getVoltageForTier(6), - 2500); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(24)) + .itemOutputs( + Particle.getIon("Hydrogen", 1), + Particle.getIon("Hydrogen", 2), + Particle.getIon("Hydrogen", 3), + Particle.getIon("Hydrogen", 1), + Particle.getIon("Hydrogen", 2), + Particle.getIon("Hydrogen", 3), + Particle.getIon("Hydrogen", -1), + Particle.getIon("Hydrogen", -2), + Particle.getIon("Hydrogen", -3)) + .outputChances(500, 500, 500, 500, 500, 500, 500, 500, 500) + .fluidInputs(FluidUtils.getWildcardFluidStack("hydrogen", 1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(cyclotronRecipes); // Generate Hydrogen Plasma Recipe - CORE.RA.addCyclotronRecipe( - new ItemStack[] { CI.getNumberedCircuit(21), Particle.getIon("Hydrogen", 0), }, - FluidUtils.getFluidStack("hydrogen", 1000), - new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.NEUTRON), - Particle.getBaseParticle(Particle.ELECTRON), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), }, - FluidUtils.getFluidStack("plasma.hydrogen", 100), - new int[] { 1250, 1250, 1250, 750, 750, 750 }, - 20 * 60 * 2, - (int) MaterialUtils.getVoltageForTier(6), - 750 * 20); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(21), Particle.getIon("Hydrogen", 0)) + .itemOutputs( + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.NEUTRON), + Particle.getBaseParticle(Particle.ELECTRON), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN)) + .outputChances(1250, 1250, 1250, 750, 750, 750) + .fluidInputs(FluidUtils.getFluidStack("hydrogen", 1000)) + .fluidOutputs(FluidUtils.getFluidStack("plasma.hydrogen", 100)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .addTo(cyclotronRecipes); // Generate Protons Easily - CORE.RA.addCyclotronRecipe( - new ItemStack[] { CI.getNumberedCircuit(20), Particle.getIon("Hydrogen", 0) }, - FluidUtils.getWildcardFluidStack("hydrogen", 100), - new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), }, - null, - new int[] { 750, 750, 750, 750, 750, 750, 750, 750, 750 }, - 20 * 20, - (int) MaterialUtils.getVoltageForTier(6), - 1500); - - CORE.RA.addCyclotronRecipe( - new ItemStack[] { CI.getNumberedCircuit(22), Particle.getBaseParticle(Particle.UNKNOWN), }, - FluidUtils.getWildcardFluidStack("hydrogen", 100), - new ItemStack[] { Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.PROTON), - Particle.getBaseParticle(Particle.PROTON), }, - null, - new int[] { 375, 375, 375, 375, 375, 375, 375, 375, 375 }, - 20 * 20, - (int) MaterialUtils.getVoltageForTier(6), - 1500); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(20), Particle.getIon("Hydrogen", 0)) + .itemOutputs( + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON)) + .outputChances(750, 750, 750, 750, 750, 750, 750, 750, 750) + .fluidInputs(FluidUtils.getWildcardFluidStack("hydrogen", 100)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(cyclotronRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(22), Particle.getBaseParticle(Particle.UNKNOWN)) + .itemOutputs( + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.PROTON)) + .outputChances(375, 375, 375, 375, 375, 375, 375, 375, 375) + .fluidInputs(FluidUtils.getWildcardFluidStack("hydrogen", 100)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(cyclotronRecipes); // Create Strange Dust - CORE.RA.addCyclotronRecipe( - new ItemStack[] { ELEMENT.getInstance().PLUTONIUM238.getDust(1), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.UNKNOWN), - Particle.getBaseParticle(Particle.UNKNOWN), }, - FluidUtils.getFluidStack(FluidUtils.getWildcardFluidStack("ender", 1000), 1000), - new ItemStack[] { ORES.DEEP_EARTH_REACTOR_FUEL_DEPOSIT.getDust(1) }, - null, - new int[] { 2500 }, - 20 * 60 * 15, - (int) MaterialUtils.getVoltageForTier(7), - 250); + GT_Values.RA.stdBuilder() + .itemInputs( + ELEMENT.getInstance().PLUTONIUM238.getDust(1), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.UNKNOWN)) + .itemOutputs(ORES.DEEP_EARTH_REACTOR_FUEL_DEPOSIT.getDust(1)) + .outputChances(2500) + .fluidInputs(FluidUtils.getFluidStack(FluidUtils.getWildcardFluidStack("ender", 1000), 1000)) + .duration(15 * MINUTES) + .eut(TierEU.RECIPE_ZPM) + .addTo(cyclotronRecipes); + } } diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java index 5e198bfac4..7a88062345 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java @@ -19,6 +19,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.ModItems; @@ -267,7 +268,7 @@ public class RECIPES_General { CI.getElectricPump(2, 1), CI.getPlate(2, 4), ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(0), 2), - CI.getNumberedCircuit(16)) + GT_Utility.getIntegratedCircuit(16)) .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockPestKiller)) .fluidInputs(FluidUtils.getHotWater(500)) .duration(1 * MINUTES) diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java index 4a8b153251..d5b1d645cc 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java @@ -6,6 +6,18 @@ import static gregtech.api.enums.Mods.GoodGenerator; import static gregtech.api.enums.Mods.GregTech; import static gregtech.api.enums.Mods.Railcraft; import static gregtech.api.enums.Mods.RemoteIO; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.cutterRecipes; +import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; import java.util.List; @@ -25,6 +37,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; @@ -40,7 +53,6 @@ import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MISC_MATERIALS; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; import gtPlusPlus.core.util.minecraft.RecipeUtils; import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; import gtPlusPlus.everglades.dimension.Dimension_Everglades; @@ -218,21 +230,30 @@ public class RECIPES_Machines { } private static void advHeatExchanger() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Machine_Multi_HeatExchanger.get(1), - CI.getDoublePlate(6, 8), CI.getScrew(6, 16), CI.getCircuit(5, 8) }, - CI.tieredMaterials[5].getMolten(144 * 8), - GregtechItemList.XL_HeatExchanger.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(6)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_StableTitanium.get(1), - CI.getPlate(5, 4), CI.getScrew(5, 8), }, - CI.tieredMaterials[5].getMolten(144 * 2), - GregtechItemList.Casing_XL_HeatExchanger.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(6)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.Machine_Multi_HeatExchanger.get(1), + CI.getDoublePlate(6, 8), + CI.getScrew(6, 16), + CI.getCircuit(5, 8)) + .itemOutputs(GregtechItemList.XL_HeatExchanger.get(1)) + .fluidInputs(CI.tieredMaterials[5].getMolten(144 * 8)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.Casing_StableTitanium.get(1), + CI.getPlate(5, 4), + CI.getScrew(5, 8)) + .itemOutputs(GregtechItemList.Casing_XL_HeatExchanger.get(1)) + .fluidInputs(CI.tieredMaterials[5].getMolten(144 * 2)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + } private static void gt4FarmManager() { @@ -290,14 +311,12 @@ public class RECIPES_Machines { private static void multiForgeHammer() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(CI.machineHull_IV, 2), ItemList.Machine_IV_Hammer.get(1), - CI.getPlate(4, 8), CI.getBolt(5, 32), ELEMENT.getInstance().ZIRCONIUM.getFineWire(32), - ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 4) }, - CI.getTieredFluid(4, 144 * 12), - GregtechItemList.Controller_IndustrialForgeHammer.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(5)); + GT_Values.RA.stdBuilder() + .itemOutputs(GregtechItemList.Controller_IndustrialForgeHammer.get(1)) + .fluidInputs(CI.getTieredFluid(4, 144 * 12)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); GT_ModHandler.addCraftingRecipe( GregtechItemList.Casing_IndustrialForgeHammer.get(1), @@ -307,60 +326,90 @@ public class RECIPES_Machines { } private static void multiMolecularTransformer() { - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getTieredGTPPMachineCasing(6, 1), CI.getPlate(5, 16), CI.getBolt(5, 32), - ALLOY.HG1223.getFineWire(64), CI.getEmitter(4, 8), - ItemUtils.getItemStackOfAmountFromOreDict("circuitMaster", 10) }, - CI.getTieredFluid(5, 144 * 16), - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1), - 20 * 60, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addAssemblylineRecipe( - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1), - 20 * 60 * 30, - new Object[] { ALLOY.HG1223.getFineWire(64), ALLOY.HG1223.getFineWire(64), - ItemList.Electric_Motor_IV.get(16), ItemList.Energy_LapotronicOrb.get(16), - CI.getTieredComponent(OrePrefixes.cableGt12, 6, 16), CI.getTieredComponent(OrePrefixes.wireGt16, 5, 32), - ALLOY.ZERON_100.getFrameBox(4), ALLOY.ZIRCONIUM_CARBIDE.getPlateDouble(32), - ALLOY.BABBIT_ALLOY.getPlate(64), ALLOY.LEAGRISIUM.getGear(8), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getTieredGTPPMachineCasing(6, 1), + CI.getPlate(5, 16), + CI.getBolt(5, 32), + ALLOY.HG1223.getFineWire(64), + CI.getEmitter(4, 8), + ItemUtils.getItemStackOfAmountFromOreDict("circuitMaster", 10)) + .itemOutputs( + ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1)) + .fluidInputs(CI.getTieredFluid(5, 144 * 16)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GT_Values.RA.stdBuilder() + .metadata( + RESEARCH_ITEM, + ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_11_MOLECULAR_TRANSFORMER, 1)) + .metadata(RESEARCH_TIME, 30 * MINUTES) + .itemInputs( + ALLOY.HG1223.getFineWire(64), + ALLOY.HG1223.getFineWire(64), + ItemList.Electric_Motor_IV.get(16), + ItemList.Energy_LapotronicOrb.get(16), + CI.getTieredComponent(OrePrefixes.cableGt12, 6, 16), + CI.getTieredComponent(OrePrefixes.wireGt16, 5, 32), + ALLOY.ZERON_100.getFrameBox(4), + ALLOY.ZIRCONIUM_CARBIDE.getPlateDouble(32), + ALLOY.BABBIT_ALLOY.getPlate(64), + ALLOY.LEAGRISIUM.getGear(8), new Object[] { CI.getTieredCircuitOreDictName(4), 64 }, new Object[] { CI.getTieredCircuitOreDictName(5), 32 }, new Object[] { CI.getTieredCircuitOreDictName(6), 16 }, - GregtechItemList.Laser_Lens_WoodsGlass.get(1), }, - new FluidStack[] { ALLOY.NITINOL_60.getFluidStack(144 * 9 * (2)), - ALLOY.INCOLOY_MA956.getFluidStack(144 * 9 * (8)), ALLOY.KANTHAL.getFluidStack(144 * 1 * (4)), }, - GregtechItemList.Controller_MolecularTransformer.get(1), - 20 * 60 * 10 * (1), - MaterialUtils.getVoltageForTier(6)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPlate(6, 4), CI.getScrew(6, 8), - ELEMENT.getInstance().PALLADIUM.getFineWire(16), CI.getSensor(5, 2), - ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 4) }, - CI.getTieredFluid(5, 144 * 4), - GregtechItemList.Casing_Molecular_Transformer_1.get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), CI.getPlate(5, 4), CI.getScrew(5, 8), - ItemList.Casing_Coil_Nichrome.get(2), CI.getFieldGenerator(3, 2), - ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 8) }, - CI.getTieredFluid(5, 144 * 4), - GregtechItemList.Casing_Molecular_Transformer_2.get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(16), ItemUtils.getSimpleStack(Blocks.glowstone, 16), - CI.getGear(5, 8), ELEMENT.getInstance().TITANIUM.getWire04(4), CI.getFieldGenerator(4, 2), - ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 8) }, - CI.getTieredFluid(5, 144 * 4), - GregtechItemList.Casing_Molecular_Transformer_3.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(5)); + GregtechItemList.Laser_Lens_WoodsGlass.get(1)) + .fluidInputs( + ALLOY.NITINOL_60.getFluidStack(144 * 9 * (2)), + ALLOY.INCOLOY_MA956.getFluidStack(144 * 9 * (8)), + ALLOY.KANTHAL.getFluidStack(144 * 1 * (4))) + .itemOutputs(GregtechItemList.Controller_MolecularTransformer.get(1)) + .eut(TierEU.RECIPE_LuV) + .duration(10 * MINUTES) + .addTo(AssemblyLine); + + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(16), + CI.getPlate(6, 4), + CI.getScrew(6, 8), + ELEMENT.getInstance().PALLADIUM.getFineWire(16), + CI.getSensor(5, 2), + ItemUtils.getItemStackOfAmountFromOreDict("circuitElite", 4)) + .itemOutputs(GregtechItemList.Casing_Molecular_Transformer_1.get(1)) + .fluidInputs(CI.getTieredFluid(5, 144 * 4)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(16), + CI.getPlate(5, 4), + CI.getScrew(5, 8), + ItemList.Casing_Coil_Nichrome.get(2), + CI.getFieldGenerator(3, 2), + ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 8)) + .itemOutputs(GregtechItemList.Casing_Molecular_Transformer_2.get(1)) + .fluidInputs(CI.getTieredFluid(5, 144 * 4)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(16), + ItemUtils.getSimpleStack(Blocks.glowstone, 16), + CI.getGear(5, 8), + ELEMENT.getInstance().TITANIUM.getWire04(4), + CI.getFieldGenerator(4, 2), + ItemUtils.getItemStackOfAmountFromOreDict("circuitData", 8)) + .itemOutputs(GregtechItemList.Casing_Molecular_Transformer_3.get(1)) + .fluidInputs(CI.getTieredFluid(5, 144 * 4)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } private static void multiXlTurbines() { @@ -377,182 +426,284 @@ public class RECIPES_Machines { CI.getDoublePlate(4, 1), GregtechItemList.Casing_Turbine_Shaft.get(1)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine.get(1), CI.getPlate(4, 4), - CI.getScrew(4, 8), CI.getCircuit(4, 4), CI.getGear(3, 8) }, - CI.tieredMaterials[3].getMolten(144 * 8), - GregtechItemList.Hatch_Turbine_Rotor.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(4)); - + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.Casing_Turbine.get(1), + CI.getPlate(4, 4), + CI.getScrew(4, 8), + CI.getCircuit(4, 4), + CI.getGear(3, 8)) + .itemOutputs(GregtechItemList.Hatch_Turbine_Rotor.get(1)) + .fluidInputs(CI.tieredMaterials[3].getMolten(144 * 8)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Steam - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine.get(1), CI.getPlate(3, 4), - CI.getScrew(3, 8), }, - CI.tieredMaterials[2].getMolten(144 * 2), - GregtechItemList.Casing_Turbine_LP.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(3)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeSteamTurbine.get(1), CI.getPlate(4, 8), - CI.getScrew(4, 16), CI.getGear(4, 4), CI.getCircuit(4, 8) }, - CI.tieredMaterials[4].getMolten(144 * 8), - GregtechItemList.Large_Steam_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(4)); - + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.Casing_Turbine.get(1), + CI.getPlate(3, 4), + CI.getScrew(3, 8)) + .itemOutputs(GregtechItemList.Casing_Turbine_LP.get(1)) + .fluidInputs(CI.tieredMaterials[2].getMolten(144 * 2)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.LargeSteamTurbine.get(1), + CI.getPlate(4, 8), + CI.getScrew(4, 16), + CI.getGear(4, 4), + CI.getCircuit(4, 8)) + .itemOutputs(GregtechItemList.Large_Steam_Turbine.get(1)) + .fluidInputs(CI.tieredMaterials[4].getMolten(144 * 8)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Gas - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine1.get(1), CI.getPlate(4, 4), - CI.getScrew(4, 8), }, - CI.tieredMaterials[3].getMolten(144 * 2), - GregtechItemList.Casing_Turbine_Gas.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(4)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeGasTurbine.get(1), CI.getPlate(5, 8), - CI.getScrew(5, 16), CI.getGear(5, 4), CI.getCircuit(5, 8) }, - CI.tieredMaterials[5].getMolten(144 * 8), - GregtechItemList.Large_Gas_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(5)); - + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.Casing_Turbine1.get(1), + CI.getPlate(4, 4), + CI.getScrew(4, 8)) + .itemOutputs(GregtechItemList.Casing_Turbine_Gas.get(1)) + .fluidInputs(CI.tieredMaterials[3].getMolten(144 * 2)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.LargeGasTurbine.get(1), + CI.getPlate(5, 8), + CI.getScrew(5, 16), + CI.getGear(5, 4), + CI.getCircuit(5, 8)) + .itemOutputs(GregtechItemList.Large_Gas_Turbine.get(1)) + .fluidInputs(CI.tieredMaterials[5].getMolten(144 * 8)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // HP Steam - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine2.get(1), CI.getPlate(5, 4), - CI.getScrew(5, 8), }, - CI.tieredMaterials[4].getMolten(144 * 2), - GregtechItemList.Casing_Turbine_HP.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(5)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargeHPSteamTurbine.get(1), CI.getPlate(6, 8), - CI.getScrew(6, 16), CI.getGear(6, 4), CI.getCircuit(6, 8) }, - CI.tieredMaterials[6].getMolten(144 * 8), - GregtechItemList.Large_HPSteam_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(6)); - + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.Casing_Turbine2.get(1), + CI.getPlate(5, 4), + CI.getScrew(5, 8)) + .itemOutputs(GregtechItemList.Casing_Turbine_HP.get(1)) + .fluidInputs(CI.tieredMaterials[4].getMolten(144 * 2)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.LargeHPSteamTurbine.get(1), + CI.getPlate(6, 8), + CI.getScrew(6, 16), + CI.getGear(6, 4), + CI.getCircuit(6, 8)) + .itemOutputs(GregtechItemList.Large_HPSteam_Turbine.get(1)) + .fluidInputs(CI.tieredMaterials[6].getMolten(144 * 8)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Plasma - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.Casing_Turbine3.get(1), CI.getPlate(6, 4), - CI.getScrew(6, 8), }, - CI.tieredMaterials[5].getMolten(144 * 2), - GregtechItemList.Casing_Turbine_Plasma.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(6)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), ItemList.LargePlasmaTurbine.get(1), CI.getPlate(7, 8), - CI.getScrew(7, 16), CI.getGear(7, 4), CI.getCircuit(7, 8) }, - CI.tieredMaterials[7].getMolten(144 * 8), - GregtechItemList.Large_Plasma_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(7)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.Casing_Turbine3.get(1), + CI.getPlate(6, 4), + CI.getScrew(6, 8)) + .itemOutputs(GregtechItemList.Casing_Turbine_Plasma.get(1)) + .fluidInputs(CI.tieredMaterials[5].getMolten(144 * 2)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), + ItemList.LargePlasmaTurbine.get(1), + CI.getPlate(7, 8), + CI.getScrew(7, 16), + CI.getGear(7, 4), + CI.getCircuit(7, 8)) + .itemOutputs(GregtechItemList.Large_Plasma_Turbine.get(1)) + .fluidInputs(CI.tieredMaterials[7].getMolten(144 * 8)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), GT_ModHandler.getModItem(GoodGenerator.ID, "supercriticalFluidTurbineCasing", 1), GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedplate", 4, 10101), - GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedscrew", 8, 10101) }, - FluidRegistry.getFluidStack("molten.adamantium alloy", 144 * 2), - GregtechItemList.Casing_Turbine_SC.get(1), - 20 * 5, - MaterialUtils.getVoltageForTier(6)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(18), + GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedscrew", 8, 10101)) + .itemOutputs(GregtechItemList.Casing_Turbine_SC.get(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.adamantium alloy", 144 * 2)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(18), GT_ModHandler.getModItem(GregTech.ID, "gt.blockmachines", 1, 32016), GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedplate", 8, 10104), GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedscrew", 16, 10104), - GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedgearGt", 4, 10104), CI.getCircuit(7, 8) }, - FluidRegistry.getFluidStack("molten.hikarium", 144 * 8), - GregtechItemList.Large_SCSteam_Turbine.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(7)); + GT_ModHandler.getModItem(BartWorks.ID, "gt.bwMetaGeneratedgearGt", 4, 10104), + CI.getCircuit(7, 8)) + .itemOutputs(GregtechItemList.Large_SCSteam_Turbine.get(1)) + .fluidInputs(FluidRegistry.getFluidStack("molten.hikarium", 144 * 8)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + } private static void multiSolarTower() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getTieredGTPPMachineCasing(3, 4), - ALLOY.MARAGING250.getPlate(8), ALLOY.MARAGING250.getBolt(8), ALLOY.MARAGING250.getScrew(8), - CI.getCircuit(5, 8) }, - CI.getTieredFluid(3, 144 * 16), - GregtechItemList.Industrial_Solar_Tower.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(4)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING350.getFrameBox(1), - ALLOY.STAINLESS_STEEL.getPlate(4), ALLOY.MARAGING350.getScrew(8) }, - CI.getTieredFluid(3, 144 * 4), - GregtechItemList.Casing_SolarTower_Structural.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(3)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING250.getFrameBox(1), - ALLOY.STAINLESS_STEEL.getPlate(4), ALLOY.MARAGING250.getBolt(16), - ELEMENT.getInstance().ALUMINIUM.getScrew(8) }, - CI.getTieredFluid(3, 144 * 4), - GregtechItemList.Casing_SolarTower_SaltContainment.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(3)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), ALLOY.MARAGING250.getFrameBox(1), - ALLOY.STEEL_BLACK.getPlate(4), ALLOY.MARAGING250.getScrew(8) }, - CI.getAlternativeTieredFluid(3, 144 * 4), - GregtechItemList.Casing_SolarTower_HeatContainment.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(3)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.getTieredGTPPMachineCasing(2, 1), CI.getPlate(3, 2), - CI.getGear(3, 4), CI.getElectricMotor(3, 2), CI.getCircuit(3, 4) }, - CI.getTertiaryTieredFluid(3, 144 * 4), - GregtechItemList.Solar_Tower_Reflector.get(1), - 20 * 60, - MaterialUtils.getVoltageForTier(3)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(17), + CI.getTieredGTPPMachineCasing(3, 4), + ALLOY.MARAGING250.getPlate(8), + ALLOY.MARAGING250.getBolt(8), + ALLOY.MARAGING250.getScrew(8), + CI.getCircuit(5, 8)) + .itemOutputs(GregtechItemList.Industrial_Solar_Tower.get(1)) + .fluidInputs(CI.getTieredFluid(3, 144 * 16)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(17), + ALLOY.MARAGING350.getFrameBox(1), + ALLOY.STAINLESS_STEEL.getPlate(4), + ALLOY.MARAGING350.getScrew(8)) + .itemOutputs(GregtechItemList.Casing_SolarTower_Structural.get(1)) + .fluidInputs(CI.getTieredFluid(3, 144 * 4)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(17), + ALLOY.MARAGING250.getFrameBox(1), + ALLOY.STAINLESS_STEEL.getPlate(4), + ALLOY.MARAGING250.getBolt(16), + ELEMENT.getInstance().ALUMINIUM.getScrew(8)) + .itemOutputs(GregtechItemList.Casing_SolarTower_SaltContainment.get(1)) + .fluidInputs(CI.getTieredFluid(3, 144 * 4)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(17), + ALLOY.MARAGING250.getFrameBox(1), + ALLOY.STEEL_BLACK.getPlate(4), + ALLOY.MARAGING250.getScrew(8)) + .itemOutputs(GregtechItemList.Casing_SolarTower_HeatContainment.get(1)) + .fluidInputs(CI.getAlternativeTieredFluid(3, 144 * 4)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(17), + CI.getTieredGTPPMachineCasing(2, 1), + CI.getPlate(3, 2), + CI.getGear(3, 4), + CI.getElectricMotor(3, 2), + CI.getCircuit(3, 4)) + .itemOutputs(GregtechItemList.Solar_Tower_Reflector.get(1)) + .fluidInputs(CI.getTertiaryTieredFluid(3, 144 * 4)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } private static void multiElementalDuplicator() { - CORE.RA.addAssemblylineRecipe( - ItemList.Machine_IV_Replicator.get(1), - 20 * 60 * 60 * 12, - new Object[] { CI.getTieredMachineHull(7, 4), CI.getFieldGenerator(5, 16), CI.getElectricMotor(7, 16), - CI.getElectricPiston(7, 4), CI.getEnergyCore(6, 2), CI.getPlate(7, 16), CI.getScrew(7, 32), - CI.getBolt(6, 32), CI.getTieredComponent(OrePrefixes.rod, 6, 10), - new Object[] { CI.getTieredCircuitOreDictName(7), 20 }, ItemList.Tool_DataOrb.get(32), - GregtechItemList.Laser_Lens_Special.get(1) }, - new FluidStack[] { CI.getTieredFluid(7, 144 * 32), CI.getAlternativeTieredFluid(6, 144 * 16), - CI.getTertiaryTieredFluid(6, 144 * 16), ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144), }, - GregtechItemList.Controller_ElementalDuplicator.get(1), - 20 * 60 * 60, - (int) MaterialUtils.getVoltageForTier(7)); - - CORE.RA.addAssemblylineRecipe( - GregtechItemList.Modulator_III.get(1), - 20 * 60 * 60 * 4, - new Object[] { CI.getTieredGTPPMachineCasing(7, 2), CI.getFieldGenerator(4, 4), CI.getEnergyCore(4, 2), - CI.getPlate(7, 8), CI.getScrew(6, 16), CI.getBolt(6, 16), CI.getTieredComponent(OrePrefixes.rod, 5, 16), - new Object[] { CI.getTieredCircuitOreDictName(6), 32 }, ItemList.Tool_DataOrb.get(32), }, - new FluidStack[] { CI.getTieredFluid(6, 144 * 16), CI.getAlternativeTieredFluid(5, 144 * 8), - CI.getTertiaryTieredFluid(5, 144 * 8), ALLOY.BABBIT_ALLOY.getFluidStack(64 * 144), }, - GregtechItemList.Hatch_Input_Elemental_Duplicator.get(1), - 20 * 60 * 60 * (2), - (int) MaterialUtils.getVoltageForTier(6)); - - CORE.RA.addAssemblylineRecipe( - GregtechItemList.ResonanceChamber_III.get(1), - 20 * 60 * 60 * 2, - new Object[] { CI.getTieredMachineHull(6, 5), CI.getFieldGenerator(3, 16), CI.getEnergyCore(2, 2), - CI.getPlate(7, 4), CI.getScrew(7, 4), CI.getBolt(6, 8), CI.getTieredComponent(OrePrefixes.rod, 5, 4), - new Object[] { CI.getTieredCircuitOreDictName(5), 4 }, ItemList.Tool_DataStick.get(4), }, - new FluidStack[] { CI.getTieredFluid(5, 144 * 16), CI.getAlternativeTieredFluid(4, 144 * 8), - CI.getTertiaryTieredFluid(4, 144 * 8), ALLOY.BABBIT_ALLOY.getFluidStack(16 * 144), }, - GregtechItemList.Casing_ElementalDuplicator.get(1), - 20 * 60 * (10), - (int) MaterialUtils.getVoltageForTier(6)); + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Machine_IV_Replicator.get(1)) + .metadata(RESEARCH_TIME, 12 * HOURS) + .itemInputs( + CI.getTieredMachineHull(7, 4), + CI.getFieldGenerator(5, 16), + CI.getElectricMotor(7, 16), + CI.getElectricPiston(7, 4), + CI.getEnergyCore(6, 2), + CI.getPlate(7, 16), + CI.getScrew(7, 32), + CI.getBolt(6, 32), + CI.getTieredComponent(OrePrefixes.rod, 6, 10), + new Object[] { CI.getTieredCircuitOreDictName(7), 20 }, + ItemList.Tool_DataOrb.get(32), + GregtechItemList.Laser_Lens_Special.get(1)) + .fluidInputs( + CI.getTieredFluid(7, 144 * 32), + CI.getAlternativeTieredFluid(6, 144 * 16), + CI.getTertiaryTieredFluid(6, 144 * 16), + ALLOY.BABBIT_ALLOY.getFluidStack(128 * 144)) + .itemOutputs(GregtechItemList.Controller_ElementalDuplicator.get(1)) + .eut(TierEU.RECIPE_ZPM) + .duration(10 * MINUTES) + .addTo(AssemblyLine); + + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GregtechItemList.Modulator_III.get(1)) + .metadata(RESEARCH_TIME, 4 * HOURS) + .itemInputs( + CI.getTieredGTPPMachineCasing(7, 2), + CI.getFieldGenerator(4, 4), + CI.getEnergyCore(4, 2), + CI.getPlate(7, 8), + CI.getScrew(6, 16), + CI.getBolt(6, 16), + CI.getTieredComponent(OrePrefixes.rod, 5, 16), + new Object[] { CI.getTieredCircuitOreDictName(6), 32 }, + ItemList.Tool_DataOrb.get(32)) + .fluidInputs( + CI.getTieredFluid(6, 144 * 16), + CI.getAlternativeTieredFluid(5, 144 * 8), + CI.getTertiaryTieredFluid(5, 144 * 8), + ALLOY.BABBIT_ALLOY.getFluidStack(64 * 144)) + .itemOutputs(GregtechItemList.Hatch_Input_Elemental_Duplicator.get(1)) + .eut(TierEU.RECIPE_LuV) + .duration(2 * HOURS) + .addTo(AssemblyLine); + + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GregtechItemList.ResonanceChamber_III.get(1)) + .metadata(RESEARCH_TIME, 2 * HOURS) + .itemInputs( + CI.getTieredMachineHull(6, 5), + CI.getFieldGenerator(3, 16), + CI.getEnergyCore(2, 2), + CI.getPlate(7, 4), + CI.getScrew(7, 4), + CI.getBolt(6, 8), + CI.getTieredComponent(OrePrefixes.rod, 5, 4), + new Object[] { CI.getTieredCircuitOreDictName(5), 4 }, + ItemList.Tool_DataStick.get(4)) + .fluidInputs( + CI.getTieredFluid(5, 144 * 16), + CI.getAlternativeTieredFluid(4, 144 * 8), + CI.getTertiaryTieredFluid(4, 144 * 8), + ALLOY.BABBIT_ALLOY.getFluidStack(16 * 144)) + .itemOutputs(GregtechItemList.Casing_ElementalDuplicator.get(1)) + .eut(TierEU.RECIPE_LuV) + .duration(10 * MINUTES) + .addTo(AssemblyLine); } private static void resonanceChambers() { @@ -594,103 +745,130 @@ public class RECIPES_Machines { } private static void zyngen() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(6), CI.getTieredMachineHull(4), - ItemList.Machine_IV_AlloySmelter.get(1), CI.getGear(3, 16), CI.getBolt(3, 64), CI.getPlate(4, 16) }, - CI.getAlternativeTieredFluid(4, 144 * 8), - GregtechItemList.Industrial_AlloySmelter.get(1), - 20 * 30, - MaterialUtils.getVoltageForTier(4)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(6), + CI.getTieredMachineHull(4), + ItemList.Machine_IV_AlloySmelter.get(1), + CI.getGear(3, 16), + CI.getBolt(3, 64), + CI.getPlate(4, 16)) + .itemOutputs(GregtechItemList.Industrial_AlloySmelter.get(1)) + .fluidInputs(CI.getAlternativeTieredFluid(4, 144 * 8)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } private static void chemPlant() { GT_ModHandler.addCraftingRecipe( - GregtechItemList.Casing_Machine_Custom_1.get(2L, new Object[0]), + GregtechItemList.Casing_Machine_Custom_1.get(2L), CI.bits, new Object[] { "PhP", "PFP", "PwP", 'P', OrePrefixes.plate.get(Materials.Bronze), 'F', OrePrefixes.frameGt.get(Materials.Bronze) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Casing_Machine_Custom_2.get(2L, new Object[0]), + GregtechItemList.Casing_Machine_Custom_2.get(2L), CI.bits, new Object[] { "PPP", "hFw", "PPP", 'P', OrePrefixes.plate.get(Materials.Aluminium), 'F', OrePrefixes.frameGt.get(Materials.Aluminium) }); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(19), CI.getTieredGTPPMachineCasing(2, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(19), + CI.getTieredGTPPMachineCasing(2, 4), CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.gearGt, 4), CI.getTieredComponentOfMaterial(Materials.AnnealedCopper, OrePrefixes.plate, 16), CI.getTieredComponentOfMaterial(Materials.Plastic, OrePrefixes.pipeLarge, 4), - CI.getTieredComponent(OrePrefixes.frameGt, 2, 4), }, - ALLOY.STEEL_BLACK.getFluidStack(2 * (144 * 4)), - GregtechItemList.ChemicalPlant_Controller.get(1), - 120 * 20, - MaterialUtils.getVoltageForTier(2)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(15), CI.getTieredGTPPMachineCasing(1, 2), + CI.getTieredComponent(OrePrefixes.frameGt, 2, 4)) + .itemOutputs(GregtechItemList.ChemicalPlant_Controller.get(1)) + .fluidInputs(ALLOY.STEEL_BLACK.getFluidStack(2 * (144 * 4))) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(15), + CI.getTieredGTPPMachineCasing(1, 2), ItemList.Hatch_Input_Bus_MV.get(1), CI.getTieredComponentOfMaterial(Materials.Bronze, OrePrefixes.gearGt, 8), CI.getTieredComponentOfMaterial(Materials.Lead, OrePrefixes.plate, 48), - CI.getTieredComponentOfMaterial(Materials.SolderingAlloy, OrePrefixes.wireFine, 16), }, - ALLOY.BRONZE.getFluidStack(2 * (144 * 4)), - GregtechItemList.Bus_Catalysts.get(1), - 60 * 20, - MaterialUtils.getVoltageForTier(2)); + CI.getTieredComponentOfMaterial(Materials.SolderingAlloy, OrePrefixes.wireFine, 16)) + .itemOutputs(GregtechItemList.Bus_Catalysts.get(1)) + .fluidInputs(ALLOY.BRONZE.getFluidStack(2 * (144 * 4))) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + } private static void algaeFarm() { // Give the bad algae a use. - CORE.RA.addDistilleryRecipe( - ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 32), - null, - null, - ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 4), - 20 * 15, - 16, - false); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(21), CI.getTieredGTPPMachineCasing(0, 4), + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 32)) + .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 4)) + .duration(15 * SECONDS) + .eut(16) + .addTo(distilleryRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(21), + CI.getTieredGTPPMachineCasing(0, 4), CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.rod, 12), CI.getTieredComponentOfMaterial(Materials.Wood, OrePrefixes.plate, 32), CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.bolt, 16), - CI.getTieredComponentOfMaterial(Materials.Redstone, OrePrefixes.dust, 32), }, - ALLOY.POTIN.getFluidStack(2 * (144 * 4)), - GregtechItemList.AlgaeFarm_Controller.get(1), - 60 * 20, - MaterialUtils.getVoltageForTier(2)); + CI.getTieredComponentOfMaterial(Materials.Redstone, OrePrefixes.dust, 32)) + .itemOutputs(GregtechItemList.AlgaeFarm_Controller.get(1)) + .fluidInputs(ALLOY.POTIN.getFluidStack(2 * (144 * 4))) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + } private static void distillus() { - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(19), ItemList.Distillation_Tower.get(2), - GregtechItemList.GTPP_Casing_IV.get(16), CI.getTieredComponent(OrePrefixes.circuit, 6, 8) }, - new FluidStack[] { ALLOY.AQUATIC_STEEL.getFluidStack(144 * 32), ALLOY.BABBIT_ALLOY.getFluidStack(144 * 16), - ALLOY.BRONZE.getFluidStack(144 * 64), ALLOY.KANTHAL.getFluidStack(144 * 16), }, - new ItemStack[] { GregtechItemList.Machine_Adv_DistillationTower.get(1) }, - new FluidStack[] {}, - 20 * 600, - MaterialUtils.getVoltageForTier(6), - 5); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(19), + ItemList.Distillation_Tower.get(2), + GregtechItemList.GTPP_Casing_IV.get(16), + CI.getTieredComponent(OrePrefixes.circuit, 6, 8)) + .itemOutputs(GregtechItemList.Machine_Adv_DistillationTower.get(1)) + .fluidInputs( + ALLOY.AQUATIC_STEEL.getFluidStack(144 * 32), + ALLOY.BABBIT_ALLOY.getFluidStack(144 * 16), + ALLOY.BRONZE.getFluidStack(144 * 64), + ALLOY.KANTHAL.getFluidStack(144 * 16)) + .duration(10 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .metadata(CHEMPLANT_CASING_TIER, 5) + .addTo(chemicalPlantRecipes); } private static void overflowValveCovers() { ItemStack aOutputs[] = new ItemStack[] { GregtechItemList.Cover_Overflow_LV.get(1L), GregtechItemList.Cover_Overflow_MV.get(1L), GregtechItemList.Cover_Overflow_HV.get(1L), GregtechItemList.Cover_Overflow_EV.get(1L), GregtechItemList.Cover_Overflow_IV.get(1L), }; + long[] voltageTiers = new long[] { TierEU.RECIPE_LV, TierEU.RECIPE_MV, TierEU.RECIPE_HV, TierEU.RECIPE_EV, + TierEU.RECIPE_IV }; for (int tier = 1; tier < aOutputs.length + 1; tier++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(19), CI.getElectricPump(tier, 2), - CI.getElectricMotor(tier, 2), CI.getPlate(tier, 4) }, - Materials.SolderingAlloy.getFluid(tier * (144)), - aOutputs[tier - 1].copy(), - 20 * 20, - MaterialUtils.getVoltageForTier(tier)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(19), + CI.getElectricPump(tier, 2), + CI.getElectricMotor(tier, 2), + CI.getPlate(tier, 4)) + .itemOutputs(aOutputs[tier - 1].copy()) + .fluidInputs(Materials.SolderingAlloy.getMolten(tier * (144))) + .duration(20 * SECONDS) + .eut(voltageTiers[tier - 1]) + .addTo(assemblerRecipes); + } } @@ -701,15 +879,23 @@ public class RECIPES_Machines { GregtechItemList.GTPP_Casing_EV, GregtechItemList.GTPP_Casing_IV, GregtechItemList.GTPP_Casing_LuV, GregtechItemList.GTPP_Casing_ZPM, GregtechItemList.GTPP_Casing_UV, GregtechItemList.GTPP_Casing_UHV }; + long[] voltageTiers = new long[] { 16, TierEU.RECIPE_LV, TierEU.RECIPE_MV, TierEU.RECIPE_HV, TierEU.RECIPE_EV, + TierEU.RECIPE_IV, TierEU.RECIPE_LuV, TierEU.RECIPE_ZPM, TierEU.RECIPE_UV, TierEU.RECIPE_UHV }; for (int i = 0; i < 10; i++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(20), CI.getTieredMachineCasing(i), CI.getPlate(i, 8), - CI.getGear(i, 2), CI.getTieredComponent(OrePrefixes.cableGt02, i, 4), - CI.getTieredComponent(OrePrefixes.circuit, i, 2) }, - CI.getAlternativeTieredFluid(i, 144 * (i + 1) * 2), - aHulls[i].get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(i)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(20), + CI.getTieredMachineCasing(i), + CI.getPlate(i, 8), + CI.getGear(i, 2), + CI.getTieredComponent(OrePrefixes.cableGt02, i, 4), + CI.getTieredComponent(OrePrefixes.circuit, i, 2)) + .itemOutputs(aHulls[i].get(1)) + .fluidInputs(CI.getAlternativeTieredFluid(i, 144 * (i + 1) * 2)) + .duration(20 * SECONDS) + .eut(voltageTiers[i]) + .addTo(assemblerRecipes); + } } @@ -747,76 +933,92 @@ public class RECIPES_Machines { private static void runModRecipes() { // Computer Cube - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(CI.getDataOrb(), 4 * (1)), ItemList.Cover_Screen.get(4), - CI.machineHull_IV, ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 2) }, - ELEMENT.getInstance().TANTALUM.getFluidStack(144 * 16), - GregtechItemList.Gregtech_Computer_Cube.get(1), - 60 * 20 * 3, - 8000); - + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(CI.getDataOrb(), 4 * (1)), + ItemList.Cover_Screen.get(4), + CI.machineHull_IV, + ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(7), 2)) + .itemOutputs(GregtechItemList.Gregtech_Computer_Cube.get(1)) + .fluidInputs(ELEMENT.getInstance().TANTALUM.getFluidStack(144 * 16)) + .duration(3 * MINUTES) + .eut(8000) + .addTo(assemblerRecipes); // Circuit programmer - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(CI.robotArm_LV, 4 * (1)), - ItemList.Cover_Controller.get(1, CI.electricMotor_MV), CI.machineHull_MV, + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(CI.robotArm_LV, 4 * (1)), + ItemList.Cover_Controller.get(1, CI.electricMotor_MV), + CI.machineHull_MV, GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 2), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 2) }, - ELEMENT.getInstance().IRON.getFluidStack(144 * 4), - ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer), - 60 * 10 * 1, - 30); + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Good, 2)) + .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer)) + .fluidInputs(ELEMENT.getInstance().IRON.getFluidStack(144 * 4)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Lead Lined Chest - for (ItemStack plateRubber : OreDictionary.getOres("plateAnyRubber")) CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.machineHull_LV, GT_Utility.copyAmount(32, plateRubber), - ItemUtils.getItemStackOfAmountFromOreDict("plateDenseLead", 9), - ItemUtils.getSimpleStack(Blocks.chest) }, - ELEMENT.getInstance().LEAD.getFluidStack(144 * 16), - ItemUtils.getSimpleStack(ModBlocks.blockDecayablesChest), - 60 * 10 * 3, - 60); + for (ItemStack plateRubber : OreDictionary.getOres("plateAnyRubber")) { + GT_Values.RA.stdBuilder() + .itemInputs( + CI.machineHull_LV, + GT_Utility.copyAmount(32, plateRubber), + ItemUtils.getItemStackOfAmountFromOreDict("plateDenseLead", 9), + ItemUtils.getSimpleStack(Blocks.chest)) + .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockDecayablesChest)) + .fluidInputs(ELEMENT.getInstance().LEAD.getFluidStack(144 * 16)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(60) + .addTo(assemblerRecipes); - // RTG - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getItemStackWithMeta(true, "IC2:blockGenerator:6", "IC2-RTG", 6, 1), - ALLOY.NITINOL_60.getPlate(8), ALLOY.MARAGING350.getGear(4), - ItemUtils.getSimpleStack(CI.fieldGenerator_EV, 8), - ItemUtils.getItemStackOfAmountFromOreDict("wireFinePlatinum", 32), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 4) }, - ALLOY.NIOBIUM_CARBIDE.getFluidStack(144 * 16), - GregtechItemList.RTG.get(1), - 60 * 20 * 10, - 8000); + } + // RTG + GT_Values.RA.stdBuilder() + .itemOutputs(GregtechItemList.RTG.get(1)) + .fluidInputs(ALLOY.NIOBIUM_CARBIDE.getFluidStack(144 * 16)) + .duration(10 * MINUTES) + .eut(8000) + .addTo(assemblerRecipes); // Super Jukebox - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.machineHull_LV, GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.machineHull_LV, + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Basic, 4), ItemUtils.getItemStackOfAmountFromOreDict("plateTumbaga", 8), - ItemUtils.getSimpleStack(Blocks.jukebox) }, - ELEMENT.getInstance().COPPER.getFluidStack(144 * 2), - ItemUtils.getSimpleStack(ModBlocks.blockCustomJukebox), - 20 * 30, - 30); - + ItemUtils.getSimpleStack(Blocks.jukebox)) + .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockCustomJukebox)) + .fluidInputs(ELEMENT.getInstance().COPPER.getFluidStack(144 * 2)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Poo Collector - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.machineHull_MV, ItemList.FluidRegulator_MV.get(2), - CI.getTieredComponent(OrePrefixes.pipeMedium, 2, 2), ALLOY.EGLIN_STEEL.getPlate(4), - ALLOY.POTIN.getScrew(6) }, - ALLOY.TUMBAGA.getFluidStack(144 * 4), - ItemUtils.getSimpleStack(ModBlocks.blockPooCollector), - 20 * 60, - 30); - + GT_Values.RA.stdBuilder() + .itemInputs( + CI.machineHull_MV, + ItemList.FluidRegulator_MV.get(2), + CI.getTieredComponent(OrePrefixes.pipeMedium, 2, 2), + ALLOY.EGLIN_STEEL.getPlate(4), + ALLOY.POTIN.getScrew(6)) + .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockPooCollector)) + .fluidInputs(ALLOY.TUMBAGA.getFluidStack(144 * 4)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Adv. Poo Collector - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getTieredMachineHull(-1), ItemUtils.getSimpleStack(ModBlocks.blockPooCollector), - ItemList.FluidRegulator_IV.get(2), CI.getTieredComponent(OrePrefixes.pipeHuge, 6, 4), - CI.getTieredComponent(OrePrefixes.screw, 6, 16) }, - CI.getAlternativeTieredFluid(5, 144 * 9), - ItemUtils.getSimpleStack(ModBlocks.blockPooCollector, 8, 1), - 20 * 60 * 5, - 500); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getTieredMachineHull(-1), + ItemUtils.getSimpleStack(ModBlocks.blockPooCollector), + ItemList.FluidRegulator_IV.get(2), + CI.getTieredComponent(OrePrefixes.pipeHuge, 6, 4), + CI.getTieredComponent(OrePrefixes.screw, 6, 16)) + .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockPooCollector, 8, 1)) + .fluidInputs(CI.getAlternativeTieredFluid(5, 144 * 9)) + .duration(5 * MINUTES) + .eut(500) + .addTo(assemblerRecipes); ItemStack aBronzeBricks = ItemUtils.simpleMetaStack(GregTech_API.sBlockCasings1, 10, 1); // Steam Macerator Multi @@ -925,14 +1127,19 @@ public class RECIPES_Machines { GregtechItemList.Hatch_Output_Bus_Steam.get(1)); // Flask Configurator - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(8), CI.getTieredMachineHull(2), - ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer), VolumetricFlaskHelper.getVolumetricFlask(8), - CI.getTieredComponent(OrePrefixes.pipeSmall, 2, 2), CI.getPlate(2, 4) }, - CI.getAlternativeTieredFluid(1, 144 * 8), - ItemUtils.getSimpleStack(ModBlocks.blockVolumetricFlaskSetter, 1), - 20 * 60, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(8), + CI.getTieredMachineHull(2), + ItemUtils.getSimpleStack(ModBlocks.blockCircuitProgrammer), + VolumetricFlaskHelper.getVolumetricFlask(8), + CI.getTieredComponent(OrePrefixes.pipeSmall, 2, 2), + CI.getPlate(2, 4)) + .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockVolumetricFlaskSetter, 1)) + .fluidInputs(CI.getAlternativeTieredFluid(1, 144 * 8)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); if (CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge) { // Industrial Centrifuge @@ -963,13 +1170,18 @@ public class RECIPES_Machines { "stickTumbaga", CI.component_Plate[6], RECIPE_IndustrialCentrifugeCasing); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.MARAGING250.getPlate(4), ALLOY.INCONEL_792.getPlate(2), ALLOY.TUMBAGA.getRod(3), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialCentrifugeCasing, - 50, - 16); + + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.MARAGING250.getPlate(4), + ALLOY.INCONEL_792.getPlate(2), + ALLOY.TUMBAGA.getRod(3), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialCentrifugeCasing) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + } if (CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven) { @@ -1005,13 +1217,17 @@ public class RECIPES_Machines { CI.component_Rod[7], CI.component_Plate[7], RECIPE_IndustrialCokeOvenFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.TANTALLOY_61.getPlate(4), ALLOY.TANTALLOY_61.getRod(4), - ALLOY.TANTALLOY_61.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialCokeOvenFrame, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.TANTALLOY_61.getPlate(4), + ALLOY.TANTALLOY_61.getRod(4), + ALLOY.TANTALLOY_61.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialCokeOvenFrame) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + // Coke Oven Coil 1 RecipeUtils.addShapedGregtechRecipe( plateBronze, @@ -1055,14 +1271,18 @@ public class RECIPES_Machines { "stickLongPotin", "platePotin", RECIPE_IndustrialElectrolyzerFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.POTIN.getPlate(4), ALLOY.POTIN.getLongRod(3), - GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Chrome, 1), ALLOY.POTIN.getFrameBox(1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialElectrolyzerFrame, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.POTIN.getPlate(4), + ALLOY.POTIN.getLongRod(3), + GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Chrome, 1), + ALLOY.POTIN.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialElectrolyzerFrame) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + // Industrial Electrolyzer RecipeUtils.addShapedGregtechRecipe( "plateStellite", @@ -1094,14 +1314,18 @@ public class RECIPES_Machines { "stickLongTumbaga", "plateTitanium", RECIPE_IndustrialMaterialPressFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4), - ALLOY.TANTALLOY_60.getRod(2), ALLOY.TUMBAGA.getLongRod(2), ALLOY.TUMBAGA.getFrameBox(1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialMaterialPressFrame, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4), + ALLOY.TANTALLOY_60.getRod(2), + ALLOY.TUMBAGA.getLongRod(2), + ALLOY.TUMBAGA.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialMaterialPressFrame) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + // Industrial Material Press RecipeUtils.addShapedGregtechRecipe( "plateTitanium", @@ -1133,15 +1357,18 @@ public class RECIPES_Machines { "stickLongPalladium", "platePalladium", RECIPE_IndustrialMacerationStackFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Palladium, 5), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Palladium, 5), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Platinum, 2), GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Palladium, 1), - ALLOY.INCONEL_625.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialMacerationStackFrame, - 50, - 16); + ALLOY.INCONEL_625.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialMacerationStackFrame) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + // Industrial Maceration stack RecipeUtils.addShapedGregtechRecipe( "plateTitanium", @@ -1185,15 +1412,17 @@ public class RECIPES_Machines { "stickBlueSteel", "plateBlueSteel", RECIPE_IndustrialWireFactoryFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlueSteel, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.BlueSteel, 4), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.BlueSteel, 4), GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlueSteel, 1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialWireFactoryFrame, - 50, - 16); + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialWireFactoryFrame) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + // Industrial Wire Factory RecipeUtils.addShapedGregtechRecipe( "plateZeron100", @@ -1335,13 +1564,17 @@ public class RECIPES_Machines { ItemStack[] aSemifluids = new ItemStack[] { GregtechItemList.Generator_SemiFluid_LV.get(1), GregtechItemList.Generator_SemiFluid_MV.get(1), GregtechItemList.Generator_SemiFluid_HV.get(1), GregtechItemList.Generator_SemiFluid_EV.get(1), GregtechItemList.Generator_SemiFluid_IV.get(1) }; + long[] voltageTiers = new long[] { 16, TierEU.RECIPE_LV, TierEU.RECIPE_MV, TierEU.RECIPE_HV, TierEU.RECIPE_EV, + TierEU.RECIPE_IV, TierEU.RECIPE_LuV, TierEU.RECIPE_ZPM, TierEU.RECIPE_UV, TierEU.RECIPE_UHV }; for (int o = 0; o < 5; o++) { - CORE.RA.addSixSlotAssemblingRecipe( - aSemiFluidInputs[o], - aSemiFluidFluidInputs[o], - aSemifluids[o], - 20 * 30, - MaterialUtils.getVoltageForTier(o + 1)); + GT_Values.RA.stdBuilder() + .itemInputs(aSemiFluidInputs[o]) + .itemOutputs(aSemifluids[o]) + .fluidInputs(aSemiFluidFluidInputs[o]) + .duration(30 * SECONDS) + .eut(voltageTiers[o + 1]) + .addTo(assemblerRecipes); + } GT_ModHandler.addCraftingRecipe( GregtechItemList.Generator_SemiFluid_LV.get(1L), @@ -1400,13 +1633,16 @@ public class RECIPES_Machines { CI.craftingToolWrench, "plateZirconiumCarbide", RECIPE_IndustrialBlastSmelterFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.ZIRCONIUM_CARBIDE.getPlate(6), ALLOY.ZIRCONIUM_CARBIDE.getFrameBox(1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialBlastSmelterFrame, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.ZIRCONIUM_CARBIDE.getPlate(6), + ALLOY.ZIRCONIUM_CARBIDE.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialBlastSmelterFrame) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + // Blast Smelter Coil RecipeUtils.addShapedGregtechRecipe( "plateStaballoy", @@ -1419,22 +1655,30 @@ public class RECIPES_Machines { "plateStaballoy", "plateStaballoy", RECIPE_IndustrialBlastSmelterCoil); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.STABALLOY.getPlate(6), ALLOY.STABALLOY.getFrameBox(2), CI.gearboxCasing_Tier_3, - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialBlastSmelterCoil, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.STABALLOY.getPlate(6), + ALLOY.STABALLOY.getFrameBox(2), + CI.gearboxCasing_Tier_3, + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialBlastSmelterCoil) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + } - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemList.Casing_Coil_Infinity.get(1), ItemList.Reactor_Coolant_Sp_6.get(4), - ALLOY.LAURENIUM.getPlateDouble(2), CustomItemList.eM_Coil.get(1) }, - ALLOY.QUANTUM.getFluidStack(144 * 4), - GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1), - 60 * 30, - MaterialUtils.getVoltageForTier(6)); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_Coil_Infinity.get(1), + ItemList.Reactor_Coolant_Sp_6.get(4), + ALLOY.LAURENIUM.getPlateDouble(2), + CustomItemList.eM_Coil.get(1)) + .itemOutputs(GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1)) + .fluidInputs(ALLOY.QUANTUM.getFluidStack(144 * 4)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); TT_recipeAdder.addResearchableAssemblylineRecipe( GregtechItemList.Casing_Coil_QuantumForceTransformer.get(1), @@ -1482,13 +1726,12 @@ public class RECIPES_Machines { CI.component_Rod[8], "plateNiobiumCarbide", RECIPE_IndustrialMatterFabFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.NIOBIUM_CARBIDE.getPlate(4), ALLOY.INCONEL_792.getRod(4), - ALLOY.INCONEL_690.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialMatterFabFrame, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemOutputs(RECIPE_IndustrialMatterFabFrame) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + // Matter Fabricator Coil RecipeUtils.addShapedGregtechRecipe( CI.getPlate(6, 1), @@ -1501,13 +1744,18 @@ public class RECIPES_Machines { CI.getPlate(7, 1), CI.getPlate(6, 1), RECIPE_IndustrialMatterFabCoil); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { CI.machineCasing_UV, ALLOY.ZERON_100.getPlate(4), ALLOY.PIKYONIUM.getPlate(2), - ALLOY.STELLITE.getFrameBox(2), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialMatterFabCoil, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.machineCasing_UV, + ALLOY.ZERON_100.getPlate(4), + ALLOY.PIKYONIUM.getPlate(2), + ALLOY.STELLITE.getFrameBox(2), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialMatterFabCoil) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + } if (CORE.ConfigSwitches.enableMultiblock_IndustrialSifter) { @@ -1540,13 +1788,16 @@ public class RECIPES_Machines { "plateEglinSteel", "plateEglinSteel", RECIPE_IndustrialSieveFrame); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.EGLIN_STEEL.getPlate(8), ALLOY.TUMBAGA.getFrameBox(1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialSieveFrame, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.EGLIN_STEEL.getPlate(8), + ALLOY.TUMBAGA.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialSieveFrame) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + // Industrial Sieve Grate RecipeUtils.addShapedGregtechRecipe( "frameGtEglinSteel", @@ -1559,13 +1810,16 @@ public class RECIPES_Machines { "wireFineSteel", "frameGtEglinSteel", RECIPE_IndustrialSieveGrate); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 5), - ALLOY.EGLIN_STEEL.getFrameBox(4), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - RECIPE_IndustrialSieveGrate, - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Steel, 5), + ALLOY.EGLIN_STEEL.getFrameBox(4), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(RECIPE_IndustrialSieveGrate) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + } if (CORE.ConfigSwitches.enableMultiblock_TreeFarmer) { @@ -1585,14 +1839,20 @@ public class RECIPES_Machines { ItemList.Field_Generator_IV.get(1), RECIPE_TreeFarmController); // Industrial Tree Farm Frame - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(2), ALLOY.TUMBAGA.getFrameBox(1), - ItemUtils.getItemStackOfAmountFromOreDict("pipeTinySteel", 1), ItemList.MV_Coil.get(1), - ItemList.IC2_Plantball.get(4), GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 8), }, - GT_ModHandler.getDistilledWater(2000), - RECIPE_TreeFarmFrame, - 200, - 64); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(2), + ALLOY.TUMBAGA.getFrameBox(1), + ItemUtils.getItemStackOfAmountFromOreDict("pipeTinySteel", 1), + ItemList.MV_Coil.get(1), + ItemList.IC2_Plantball.get(4), + GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 8)) + .itemOutputs(RECIPE_TreeFarmFrame) + .fluidInputs(GT_ModHandler.getDistilledWater(2000)) + .duration(10 * SECONDS) + .eut(64) + .addTo(assemblerRecipes); + } if (CORE.ConfigSwitches.enableMachine_Tesseracts) { @@ -1638,16 +1898,19 @@ public class RECIPES_Machines { for (int i = 0; i < washers.size(); i++) { final int tier = i + 1; - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getTieredMachineHull(tier), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getTieredMachineHull(tier), CI.getTieredComponent(OrePrefixes.screw, tier, tier * 4), CI.getTieredComponent(OrePrefixes.plate, tier - 1, tier * 2), CI.getTieredComponent(OrePrefixes.rod, tier, tier), - CI.getTieredComponent(OrePrefixes.circuit, tier, 1) }, - CI.getTieredFluid(tier, 144 * tier), - washers.get(i), - 20 * 5 * tier, - (int) GT_Values.V[tier]); + CI.getTieredComponent(OrePrefixes.circuit, tier, 1)) + .itemOutputs(washers.get(i)) + .fluidInputs(CI.getTieredFluid(tier, 144 * tier)) + .duration(20 * 5 * tier) + .eut(GT_Values.V[tier]) + .addTo(assemblerRecipes); + } } @@ -1842,17 +2105,20 @@ public class RECIPES_Machines { RECIPE_ThermalBoilerCasing); // Lava Filter Recipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(18), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(18), ItemUtils.getItemStackOfAmountFromOreDict("dustCarbon", 32), ItemUtils.getItemStackOfAmountFromOreDict("wireFineSteel", 32), ItemUtils.getItemStackOfAmountFromOreDict("ringTumbaga", 16), ItemUtils.getItemStackOfAmountFromOreDict("foilCopper", 4), - ItemUtils.getItemStackWithMeta(true, "IC2:itemPartCarbonMesh", "RawCarbonMesh", 0, 64), }, - CI.getTieredFluid(3, 144), - ItemUtils.getSimpleStack(ModItems.itemLavaFilter, 16), - 1600, - 240); + ItemUtils.getItemStackWithMeta(true, "IC2:itemPartCarbonMesh", "RawCarbonMesh", 0, 64)) + .itemOutputs(ItemUtils.getSimpleStack(ModItems.itemLavaFilter, 16)) + .fluidInputs(CI.getTieredFluid(3, 144)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(240) + .addTo(assemblerRecipes); + } // Air Intake Hatch @@ -1925,13 +2191,14 @@ public class RECIPES_Machines { RECIPE_LFTROuterCasing); // LFTR Control Circuit - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 1), - CI.fieldGenerator_HV }, - null, - controlCircuit, - 240 * 20, - 500); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 1), + CI.fieldGenerator_HV) + .itemOutputs(controlCircuit) + .duration(4 * MINUTES) + .eut(500) + .addTo(assemblerRecipes); // Fission Fuel Plant RecipeUtils.addShapedGregtechRecipe( @@ -2056,35 +2323,51 @@ public class RECIPES_Machines { RECIPE_CyclotronInnerCoil = GregtechItemList.Casing_Cyclotron_Coil.get(1); // Outer Casing - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemList.Casing_FrostProof.get(1), - ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, 4), ALLOY.INCOLOY_DS.getPlate(8), - ALLOY.INCONEL_690.getScrew(16), ALLOY.EGLIN_STEEL.getLongRod(4), CI.getElectricPiston(3, 2) }, - ALLOY.ZIRCONIUM_CARBIDE.getFluidStack(144 * 8), // Input Fluid - RECIPE_CyclotronOuterCasing, - 30 * 20 * 2, - MaterialUtils.getVoltageForTier(4)); - + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_FrostProof.get(1), + ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 0, 4), + ALLOY.INCOLOY_DS.getPlate(8), + ALLOY.INCONEL_690.getScrew(16), + ALLOY.EGLIN_STEEL.getLongRod(4), + CI.getElectricPiston(3, 2)) + .itemOutputs(RECIPE_CyclotronOuterCasing) + .fluidInputs(ALLOY.ZIRCONIUM_CARBIDE.getFluidStack(144 * 8) // Input Flui + ) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Inner Coil - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemList.Casing_Coil_Nichrome.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Casing_Coil_Nichrome.get(1), ItemUtils.simpleMetaStack("miscutils:itemDehydratorCoilWire", 1, 8), - ALLOY.INCOLOY_MA956.getPlate(8), ALLOY.TANTALLOY_61.getBolt(16), ALLOY.INCOLOY_020.getScrew(32), - CI.getFieldGenerator(4, 1) }, - ALLOY.HG1223.getFluidStack(144 * 5), // Input Fluid - RECIPE_CyclotronInnerCoil, - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(5)); - + ALLOY.INCOLOY_MA956.getPlate(8), + ALLOY.TANTALLOY_61.getBolt(16), + ALLOY.INCOLOY_020.getScrew(32), + CI.getFieldGenerator(4, 1)) + .itemOutputs(RECIPE_CyclotronInnerCoil) + .fluidInputs(ALLOY.HG1223.getFluidStack(144 * 5) // Input Flui + ) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Controller - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.machineHull_IV, ItemUtils.getSimpleStack(RECIPE_CyclotronInnerCoil, 2), - ALLOY.INCOLOY_020.getPlate(8), ALLOY.TANTALLOY_61.getGear(2), ALLOY.INCOLOY_MA956.getScrew(16), - ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 16) }, - ALLOY.INCOLOY_020.getFluidStack(144 * 9), // Input Fluid - RECIPE_CyclotronController, - 60 * 20 * 5, - MaterialUtils.getVoltageForTier(5)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.machineHull_IV, + ItemUtils.getSimpleStack(RECIPE_CyclotronInnerCoil, 2), + ALLOY.INCOLOY_020.getPlate(8), + ALLOY.TANTALLOY_61.getGear(2), + ALLOY.INCOLOY_MA956.getScrew(16), + ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(5), 16)) + .itemOutputs(RECIPE_CyclotronController) + .fluidInputs(ALLOY.INCOLOY_020.getFluidStack(144 * 9) // Input Flui + ) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } // Mazut @@ -2135,14 +2418,15 @@ public class RECIPES_Machines { CI.craftingToolWrench, "plateRedSteel", GregtechItemList.Casing_ThermalCentrifuge.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 6), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 6), GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.BlackSteel, 1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_ThermalCentrifuge.get(1L), - 50, - 16); + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Casing_ThermalCentrifuge.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); RecipeUtils.addShapedRecipe( "plateRedSteel", @@ -2169,13 +2453,16 @@ public class RECIPES_Machines { CI.craftingToolWrench, "plateGrisium", GregtechItemList.Casing_WashPlant.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.LEAGRISIUM.getPlate(4), ALLOY.TALONITE.getPlate(2), - ALLOY.LEAGRISIUM.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_WashPlant.get(1L), - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.LEAGRISIUM.getPlate(4), + ALLOY.TALONITE.getPlate(2), + ALLOY.LEAGRISIUM.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Casing_WashPlant.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); RecipeUtils.addShapedRecipe( "plateGrisium", @@ -2191,34 +2478,45 @@ public class RECIPES_Machines { } if (CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1), - ItemList.Block_IridiumTungstensteel.get(1), CI.getTieredComponent(OrePrefixes.circuit, 2, 16), - CI.getTieredComponent(OrePrefixes.screw, 5, 32), CI.getTieredComponent(OrePrefixes.bolt, 5, 12), - CI.getTieredComponent(OrePrefixes.plate, 6, 8), }, - CI.getTertiaryTieredFluid(6, 144 * (4)), - GregtechItemList.Casing_Autocrafter.get(1), - 20 * 60 * 2, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Refinery_Structural.get(4), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1), + ItemList.Block_IridiumTungstensteel.get(1), + CI.getTieredComponent(OrePrefixes.circuit, 2, 16), + CI.getTieredComponent(OrePrefixes.screw, 5, 32), + CI.getTieredComponent(OrePrefixes.bolt, 5, 12), + CI.getTieredComponent(OrePrefixes.plate, 6, 8)) + .itemOutputs(GregtechItemList.Casing_Autocrafter.get(1)) + .fluidInputs(CI.getTertiaryTieredFluid(6, 144 * (4))) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GregtechItemList.Casing_Refinery_Structural.get(4), ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, 1), - CI.getTieredComponent(OrePrefixes.cableGt08, 6, 16), CI.getTransmissionComponent(5, 2), - GregtechItemList.Gregtech_Computer_Cube.get(1), }, - CI.getTieredFluid(7, 144 * 8), - GregtechItemList.GT4_Multi_Crafter.get(1), - 20 * 60 * 5, - MaterialUtils.getVoltageForTier(5)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1), - CI.getEmitter(4, 2), CI.getRobotArm(4, 2), CI.getTieredComponent(OrePrefixes.circuit, 2, 8), - CI.getTieredComponent(OrePrefixes.screw, 3, 8), CI.getTieredComponent(OrePrefixes.plate, 5, 4), }, - CI.getAlternativeTieredFluid(5, 144 * 4), - ItemUtils.getSimpleStack(ModBlocks.blockProjectTable), - 20 * 30 * 3, - MaterialUtils.getVoltageForTier(4)); + CI.getTieredComponent(OrePrefixes.cableGt08, 6, 16), + CI.getTransmissionComponent(5, 2), + GregtechItemList.Gregtech_Computer_Cube.get(1)) + .itemOutputs(GregtechItemList.GT4_Multi_Crafter.get(1)) + .fluidInputs(CI.getTieredFluid(7, 144 * 8)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GregtechItemList.Casing_Multi_Use.get(1), 1), + CI.getEmitter(4, 2), + CI.getRobotArm(4, 2), + CI.getTieredComponent(OrePrefixes.circuit, 2, 8), + CI.getTieredComponent(OrePrefixes.screw, 3, 8), + CI.getTieredComponent(OrePrefixes.plate, 5, 4)) + .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockProjectTable)) + .fluidInputs(CI.getAlternativeTieredFluid(5, 144 * 4)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } if (CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine) { @@ -2234,13 +2532,16 @@ public class RECIPES_Machines { CI.craftingToolWrench, plate, GregtechItemList.Casing_CuttingFactoryFrame.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.MARAGING300.getPlate(4), ALLOY.STELLITE.getPlate(2), - ALLOY.TALONITE.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_CuttingFactoryFrame.get(1L), - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.MARAGING300.getPlate(4), + ALLOY.STELLITE.getPlate(2), + ALLOY.TALONITE.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Casing_CuttingFactoryFrame.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); RecipeUtils.addShapedRecipe( plate, @@ -2269,13 +2570,16 @@ public class RECIPES_Machines { CI.craftingToolWrench, plate, GregtechItemList.Casing_Extruder.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.INCONEL_690.getPlate(4), ALLOY.TALONITE.getPlate(2), - ALLOY.STABALLOY.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_Extruder.get(1L), - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.INCONEL_690.getPlate(4), + ALLOY.TALONITE.getPlate(2), + ALLOY.STABALLOY.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Casing_Extruder.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); RecipeUtils.addShapedRecipe( plate, @@ -2303,13 +2607,17 @@ public class RECIPES_Machines { CI.craftingToolWrench, plate, GregtechItemList.Casing_FishPond.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.AQUATIC_STEEL.getPlate(4), ALLOY.EGLIN_STEEL.getPlate(2), - ALLOY.EGLIN_STEEL.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_FishPond.get(1L), - 50, - 16); + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.AQUATIC_STEEL.getPlate(4), + ALLOY.EGLIN_STEEL.getPlate(2), + ALLOY.EGLIN_STEEL.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Casing_FishPond.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + RecipeUtils.addShapedRecipe( plate, CI.getTieredCircuit(5), @@ -2385,26 +2693,32 @@ public class RECIPES_Machines { plate, GregtechItemList.Machine_Adv_BlastFurnace.get(1)); // Hatch_Input_Pyrotheum - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Input_IV.get(1), GregtechItemList.Casing_Adv_BlastFurnace.get(1), - ALLOY.MARAGING250.getPlate(4), ALLOY.MARAGING300.getGear(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Input_IV.get(1), + GregtechItemList.Casing_Adv_BlastFurnace.get(1), + ALLOY.MARAGING250.getPlate(4), + ALLOY.MARAGING300.getGear(1), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 2), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Hatch_Input_Pyrotheum.get(1L), - 50, - 16); + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Hatch_Input_Pyrotheum.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); // Casing_Adv_BlastFurnace - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.HASTELLOY_X.getFrameBox(1), ALLOY.HASTELLOY_N.getPlateDouble(4), - ALLOY.HASTELLOY_W.getGear(1), ItemUtils.simpleMetaStack("IC2:reactorHeatSwitchDiamond:1", 1, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.HASTELLOY_X.getFrameBox(1), + ALLOY.HASTELLOY_N.getPlateDouble(4), + ALLOY.HASTELLOY_W.getGear(1), + ItemUtils.simpleMetaStack("IC2:reactorHeatSwitchDiamond:1", 1, 1), ItemUtils.simpleMetaStack("IC2:reactorVentGold:1", 1, 1), ItemUtils.simpleMetaStack("IC2:reactorVentDiamond:1:1", 1, 1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_Adv_BlastFurnace.get(1L), - 50, - 16); + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Casing_Adv_BlastFurnace.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); // Advanced Implosion Compressor plate = ItemUtils.getItemStackOfAmountFromOreDict("plateAlloyIridium", 1); @@ -2444,16 +2758,20 @@ public class RECIPES_Machines { gear, plate, GregtechItemList.Casing_AmazonWarehouse.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.TUNGSTEN_CARBIDE.getFrameBox(1), ALLOY.TUNGSTEN_CARBIDE.getPlateDouble(4), - ALLOY.TRINIUM_TITANIUM.getRing(1), ItemList.Electric_Motor_LuV.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.TUNGSTEN_CARBIDE.getFrameBox(1), + ALLOY.TUNGSTEN_CARBIDE.getPlateDouble(4), + ALLOY.TRINIUM_TITANIUM.getRing(1), + ItemList.Electric_Motor_LuV.get(1), ItemList.Conveyor_Module_LuV.get(1), ItemUtils.getItemStackOfAmountFromOreDict("cableGt12VanadiumGallium", 1), - GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_AmazonWarehouse.get(1L), - 50, - 16); + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Casing_AmazonWarehouse.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); + RecipeUtils.addShapedRecipe( casingAmazon, CI.getTieredCircuit(7), @@ -2501,14 +2819,16 @@ public class RECIPES_Machines { CI.craftingToolWrench, plate, GregtechItemList.Casing_Multi_Use.get(1)); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ALLOY.STABALLOY.getPlate(4), + GT_Values.RA.stdBuilder() + .itemInputs( + ALLOY.STABALLOY.getPlate(4), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2), - ALLOY.ZIRCONIUM_CARBIDE.getFrameBox(1), GT_Utility.getIntegratedCircuit(1), }, - GT_Values.NF, - GregtechItemList.Casing_Multi_Use.get(1L), - 50, - 16); + ALLOY.ZIRCONIUM_CARBIDE.getFrameBox(1), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(GregtechItemList.Casing_Multi_Use.get(1L)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(16) + .addTo(assemblerRecipes); RecipeUtils.addShapedRecipe( o_Compressor, @@ -2523,68 +2843,47 @@ public class RECIPES_Machines { GregtechItemList.Industrial_MultiMachine.get(1)); } - /* - * 6/1/19 - Content additions - */ - // Drilling Platform Casings - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 4), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 4), ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleTriniumTitaniumAlloy", 1 * (1)), ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (1)), ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * 1), - ItemUtils.getSimpleStack((CI.machineHull_LuV), 1 * 1), }, - ALLOY.MARAGING350.getFluidStack(144 * 16 * 1), - GregtechItemList.Casing_BedrockMiner.get(1), - (int) GT_Values.V[4], - (int) GT_Values.V[6]); + ItemUtils.getSimpleStack((CI.machineHull_LuV), 1 * 1)) + .itemOutputs(GregtechItemList.Casing_BedrockMiner.get(1)) + .fluidInputs(ALLOY.MARAGING350.getFluidStack(144 * 16 * 1)) + .duration((int) GT_Values.V[4]) + .eut(GT_Values.V[6]) + .addTo(assemblerRecipes); int aCostMultiplier = 1; // Reservoir Hatch - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Input_EV.get(1), GT_ModHandler.getModItem(RemoteIO.ID, "tile.machine", 1), - ItemList.Electric_Pump_EV.get(1) }, - GT_Values.NF, - GregtechItemList.Hatch_Reservoir.get(1), - 100, - 1920); - + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Input_EV.get(1), + GT_ModHandler.getModItem(RemoteIO.ID, "tile.machine", 1), + ItemList.Electric_Pump_EV.get(1)) + .itemOutputs(GregtechItemList.Hatch_Reservoir.get(1)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Mystic Frame - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(1), + GT_Values.RA.stdBuilder() + .itemInputs( + GregtechItemList.Casing_Multi_Use.get(1), ItemList.Field_Generator_MV.get(1, CI.circuitTier7), - ItemList.Field_Generator_HV.get(1, CI.circuitTier7), ItemList.Emitter_HV.get(1, CI.circuitTier7), + ItemList.Field_Generator_HV.get(1, CI.circuitTier7), + ItemList.Emitter_HV.get(1, CI.circuitTier7), ItemList.Sensor_HV.get(1, CI.circuitTier7), CI.getTieredComponent(OrePrefixes.plate, 7, 8 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.wireGt08, 8, 4 * aCostMultiplier), }, - CI.getTieredFluid(6, (144 * 8)), // Input Fluid - ItemUtils.getSimpleStack(Dimension_Everglades.blockPortalFrame, 2), - 45 * 20 * 1 * (6), - MaterialUtils.getVoltageForTier(6)); - - // Player Doors - ItemStack[] aDoorInputs = new ItemStack[] { ItemUtils.getSimpleStack(Blocks.log2), - ItemUtils.getSimpleStack(Blocks.iron_block), ItemUtils.getSimpleStack(Blocks.glass), - ItemUtils.getSimpleStack(Blocks.packed_ice), ItemUtils.getSimpleStack(Blocks.cactus), }; - ItemStack[] aDoorOutputs = new ItemStack[] { ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorWooden), - ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorIron), - ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Glass), - ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Ice), - ItemUtils.getSimpleStack(ModBlocks.blockPlayerDoorCustom_Cactus), }; - - for (int y = 0; y < aDoorInputs.length; y++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(Items.iron_door), aDoorInputs[y], - ItemList.Sensor_LV.get(1, CI.circuitTier7), - CI.getTieredComponent(OrePrefixes.plate, 1, 2 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.wireGt02, 1, 2 * aCostMultiplier), - ItemUtils.getSimpleStack(Items.redstone, 16) }, - CI.getTieredFluid(1, (144 * 2)), // Input Fluid - aDoorOutputs[y], - 100, - MaterialUtils.getVoltageForTier(1)); - } + CI.getTieredComponent(OrePrefixes.wireGt08, 8, 4 * aCostMultiplier)) + .itemOutputs(ItemUtils.getSimpleStack(Dimension_Everglades.blockPortalFrame, 2)) + .fluidInputs(CI.getTieredFluid(6, (144 * 8))) + .duration(4 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); Logger.INFO("Done loading recipes for the Various machine blocks."); } @@ -2595,6 +2894,9 @@ public class RECIPES_Machines { RECIPE_Buffer_HV, RECIPE_Buffer_EV, RECIPE_Buffer_IV, RECIPE_Buffer_LuV, RECIPE_Buffer_ZPM, RECIPE_Buffer_UV, RECIPE_Buffer_MAX }; + long[] voltageTiers = new long[] { 16, TierEU.RECIPE_LV, TierEU.RECIPE_MV, TierEU.RECIPE_HV, TierEU.RECIPE_EV, + TierEU.RECIPE_IV, TierEU.RECIPE_LuV, TierEU.RECIPE_ZPM, TierEU.RECIPE_UV, TierEU.RECIPE_UHV }; + ItemStack[] aOutput = new ItemStack[] { ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "1", 1), ItemUtils.getItemStackFromFQRN("miscutils:item.itemBufferCore" + "2", 1), @@ -2612,28 +2914,34 @@ public class RECIPES_Machines { ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(1) : aOutput[i - 1]); aPrevTier.stackSize = 1; int aTier = (i + 1); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { aPrevTier, CI.getTieredComponent(OrePrefixes.plate, aTier, 4), + GT_Values.RA.stdBuilder() + .itemInputs( + aPrevTier, + CI.getTieredComponent(OrePrefixes.plate, aTier, 4), CI.getTieredComponent(OrePrefixes.cableGt04, i, 2), CI.getTieredComponent(OrePrefixes.circuit, aTier, 2), CI.getTieredComponent(OrePrefixes.screw, aTier, 6), - CI.getTieredComponent(OrePrefixes.bolt, i, 12), }, - CI.getTieredFluid(i, (144 * 4 * aTier)), // Input Fluid - aOutput[i], - 45 * 10 * 1 * (aTier), - MaterialUtils.getVoltageForTier(i)); - + CI.getTieredComponent(OrePrefixes.bolt, i, 12)) + .itemOutputs(aOutput[i]) + .fluidInputs(CI.getTieredFluid(i, (144 * 4 * aTier))) + .duration(45 * 10 * 1 * (aTier)) + .eut(voltageTiers[i]) + .addTo(assemblerRecipes); // Energy Buffer - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(aOutput[i], 4), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(aOutput[i], 4), CI.getTieredComponent(OrePrefixes.plate, aTier, 8), - CI.getTieredComponent(OrePrefixes.wireGt08, i, 4), CI.getTieredComponent(OrePrefixes.circuit, i, 4), + CI.getTieredComponent(OrePrefixes.wireGt08, i, 4), + CI.getTieredComponent(OrePrefixes.circuit, i, 4), CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4), - CI.getTieredComponent(OrePrefixes.gearGt, i, 5), }, - CI.getTieredFluid(aTier, (144 * 16 * aTier)), // Input Fluid - aBufferOutput[i], - 45 * 20 * 1 * (aTier), - MaterialUtils.getVoltageForTier(i)); + CI.getTieredComponent(OrePrefixes.gearGt, i, 5)) + .itemOutputs(aBufferOutput[i]) + .fluidInputs(CI.getTieredFluid(aTier, (144 * 16 * aTier))) + .duration(45 * 20 * 1 * (aTier)) + .eut(voltageTiers[i]) + .addTo(assemblerRecipes); + } } @@ -2645,251 +2953,342 @@ public class RECIPES_Machines { GregtechItemList.Charger_ZPM.get(1), GregtechItemList.Charger_UV.get(1), GregtechItemList.Charger_UHV.get(1) }; + long[] voltageTiers = new long[] { 16, TierEU.RECIPE_LV, TierEU.RECIPE_MV, TierEU.RECIPE_HV, TierEU.RECIPE_EV, + TierEU.RECIPE_IV, TierEU.RECIPE_LuV, TierEU.RECIPE_ZPM, TierEU.RECIPE_UV, TierEU.RECIPE_UHV }; + for (int tier = 1; tier < aChargers.length + 1; tier++) { ItemStack[] aInputs = new ItemStack[] { CI.getTieredMachineHull(tier, 1), CI.getTransmissionComponent(tier, 2), CI.getFieldGenerator(tier, 1), CI.getTieredComponent(OrePrefixes.plate, tier + 1, 4), CI.getTieredComponent(OrePrefixes.circuit, tier + 1, 2), }; - CORE.RA.addSixSlotAssemblingRecipe( - aInputs, - CI.getAlternativeTieredFluid(tier, (144 * 2 * (tier + 1))), // Input Fluid - aChargers[tier - 1], - 45 * 10 * (tier + 1), - MaterialUtils.getVoltageForTier(tier)); + GT_Values.RA.stdBuilder() + .itemInputs(aInputs) + .itemOutputs(aChargers[tier - 1]) + .fluidInputs(CI.getAlternativeTieredFluid(tier, (144 * 2 * (tier + 1)))) + .duration(45 * 10 * (tier + 1)) + .eut(voltageTiers[tier]) + .addTo(assemblerRecipes); + } } private static void largeArcFurnace() { int aCostMultiplier = 1; - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(aCostMultiplier), - CI.getTransmissionComponent(2, 2 * aCostMultiplier), CI.getElectricPiston(4, 2 * aCostMultiplier), + GT_Values.RA.stdBuilder() + .itemInputs( + GregtechItemList.Casing_Multi_Use.get(aCostMultiplier), + CI.getTransmissionComponent(2, 2 * aCostMultiplier), + CI.getElectricPiston(4, 2 * aCostMultiplier), CI.getTieredComponent(OrePrefixes.plate, 5, 4 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.pipeSmall, 4, 1 * aCostMultiplier), }, - CI.getAlternativeTieredFluid(5, (144 * 2 * 4)), // Input Fluid - GregtechItemList.Casing_Industrial_Arc_Furnace.get(1), - 20 * 10 * 1 * (6), - MaterialUtils.getVoltageForTier(5)); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Industrial_Arc_Furnace.get(1), - CI.getFieldGenerator(4, 2 * aCostMultiplier), CI.getRobotArm(5, 4 * aCostMultiplier), + CI.getTieredComponent(OrePrefixes.pipeSmall, 4, 1 * aCostMultiplier)) + .itemOutputs(GregtechItemList.Casing_Industrial_Arc_Furnace.get(1)) + .fluidInputs(CI.getAlternativeTieredFluid(5, (144 * 2 * 4))) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GregtechItemList.Casing_Industrial_Arc_Furnace.get(1), + CI.getFieldGenerator(4, 2 * aCostMultiplier), + CI.getRobotArm(5, 4 * aCostMultiplier), CI.getEnergyCore(4, 2 * aCostMultiplier), CI.getTieredComponent(OrePrefixes.plate, 6, 8 * aCostMultiplier), - CI.getTieredComponent(OrePrefixes.circuit, 5, 8 * aCostMultiplier), }, - CI.getAlternativeTieredFluid(6, (144 * 4 * 5)), // Input Fluid - GregtechItemList.Industrial_Arc_Furnace.get(1), - 60 * 20 * 8, - MaterialUtils.getVoltageForTier(6)); + CI.getTieredComponent(OrePrefixes.circuit, 5, 8 * aCostMultiplier)) + .itemOutputs(GregtechItemList.Industrial_Arc_Furnace.get(1)) + .fluidInputs(CI.getAlternativeTieredFluid(6, (144 * 4 * 5))) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + } private static void industrialVacuumFurnace() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Multi_Use.get(1), CI.getHeatCoil(2), CI.getElectricPiston(3, 2), - CI.getTieredComponent(OrePrefixes.plate, 6, 4), CI.getTieredComponent(OrePrefixes.gearGt, 6, 2), }, - CI.getTertiaryTieredFluid(5, (144 * 2 * 4)), // Input Fluid - GregtechItemList.Casing_Vacuum_Furnace.get(1), - 20 * 10 * 6, - MaterialUtils.getVoltageForTier(6)); - - ; - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { GregtechItemList.Casing_Vacuum_Furnace.get(1), - CI.getTieredComponent(OrePrefixes.wireGt16, 7, 4), CI.getEnergyCore(5, 1), CI.getRobotArm(4, 4), - CI.getTieredComponent(OrePrefixes.plate, 6, 8), CI.getTieredComponent(OrePrefixes.circuit, 6, 8), }, - CI.getTieredFluid(6, (144 * 4 * 5)), // Input Fluid - GregtechItemList.Controller_Vacuum_Furnace.get(1), - 60 * 20 * 12, - MaterialUtils.getVoltageForTier(6)); + GT_Values.RA.stdBuilder() + .itemInputs( + GregtechItemList.Casing_Multi_Use.get(1), + CI.getHeatCoil(2), + CI.getElectricPiston(3, 2), + CI.getTieredComponent(OrePrefixes.plate, 6, 4), + CI.getTieredComponent(OrePrefixes.gearGt, 6, 2)) + .itemOutputs(GregtechItemList.Casing_Vacuum_Furnace.get(1)) + .fluidInputs(CI.getTertiaryTieredFluid(5, (144 * 2 * 4))) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GregtechItemList.Casing_Vacuum_Furnace.get(1), + CI.getTieredComponent(OrePrefixes.wireGt16, 7, 4), + CI.getEnergyCore(5, 1), + CI.getRobotArm(4, 4), + CI.getTieredComponent(OrePrefixes.plate, 6, 8), + CI.getTieredComponent(OrePrefixes.circuit, 6, 8)) + .itemOutputs(GregtechItemList.Controller_Vacuum_Furnace.get(1)) + .fluidInputs(CI.getTieredFluid(6, (144 * 4 * 5))) + .duration(12 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + } private static void milling() { - /* - * public static ItemStack RECIPE_ISAMill_Controller; public static ItemStack RECIPE_ISAMill_Gearbox; public - * static ItemStack RECIPE_ISAMill_Casing; public static ItemStack RECIPE_ISAMill_Hatch; public static ItemStack - * RECIPE_Flotation_Controller; public static ItemStack RECIPE_Flotation_Casing; - */ - // Isa Mill Controller - CORE.RA.addAssemblylineRecipe( - ItemList.Machine_IV_Macerator.get(1), - 20 * 60 * 20, - new Object[] { GregtechItemList.Casing_IsaMill_Gearbox.get(4), CI.getTieredGTPPMachineCasing(6, 4), - ItemList.Component_Grinder_Tungsten.get(16), new Object[] { CI.getTieredCircuitOreDictName(6), 8 }, - ALLOY.INCONEL_625.getGear(8), ALLOY.INCONEL_625.getPlate(32), ALLOY.ZERON_100.getPlateDouble(8), - ALLOY.ZERON_100.getPlateDouble(8), ALLOY.ZERON_100.getScrew(64), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Machine_IV_Macerator.get(1)) + .metadata(RESEARCH_TIME, 20 * MINUTES) + .itemInputs( + GregtechItemList.Casing_IsaMill_Gearbox.get(4), + CI.getTieredGTPPMachineCasing(6, 4), + ItemList.Component_Grinder_Tungsten.get(16), + new Object[] { CI.getTieredCircuitOreDictName(6), 8 }, + ALLOY.INCONEL_625.getGear(8), + ALLOY.INCONEL_625.getPlate(32), + ALLOY.ZERON_100.getPlateDouble(8), + ALLOY.ZERON_100.getPlateDouble(8), + ALLOY.ZERON_100.getScrew(64), CI.getTieredComponentOfMaterial(Materials.NiobiumTitanium, OrePrefixes.wireFine, 32), CI.getTieredComponentOfMaterial(Materials.NiobiumTitanium, OrePrefixes.wireFine, 32), CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.foil, 16), - CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.foil, 16), }, - new FluidStack[] { CI.getTieredFluid(6, 16 * 144), CI.getAlternativeTieredFluid(6, 32 * 144), - CI.getTertiaryTieredFluid(6, 32 * 144) }, - GregtechItemList.Controller_IsaMill.get(1), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(6)); + CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.foil, 16)) + .fluidInputs( + CI.getTieredFluid(6, 16 * 144), + CI.getAlternativeTieredFluid(6, 32 * 144), + CI.getTertiaryTieredFluid(6, 32 * 144)) + .itemOutputs(GregtechItemList.Controller_IsaMill.get(1)) + .eut(TierEU.RECIPE_LuV) + .duration(10 * MINUTES) + .addTo(AssemblyLine); // Isa Mill Gearbox - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), ItemList.Casing_Gearbox_Titanium.get(2), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(7), + ItemList.Casing_Gearbox_Titanium.get(2), ALLOY.INCONEL_625.getGear(4), CI.getTieredComponentOfMaterial(Materials.HSSE, OrePrefixes.gearGtSmall, 8), - ALLOY.INCONEL_625.getPlate(16), ALLOY.ZERON_100.getBolt(16), }, - ALLOY.TUNGSTENSTEEL.getFluidStack(8 * 144), - GregtechItemList.Casing_IsaMill_Gearbox.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(6)); - + ALLOY.INCONEL_625.getPlate(16), + ALLOY.ZERON_100.getBolt(16)) + .itemOutputs(GregtechItemList.Casing_IsaMill_Gearbox.get(1)) + .fluidInputs(ALLOY.TUNGSTENSTEEL.getFluidStack(8 * 144)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Isa Mill Casing - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(5, 1), - ALLOY.INCONEL_625.getPlate(8), ALLOY.ZERON_100.getRod(4), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(7), + CI.getTieredGTPPMachineCasing(5, 1), + ALLOY.INCONEL_625.getPlate(8), + ALLOY.ZERON_100.getRod(4), CI.getTieredComponentOfMaterial(Materials.HSSG, OrePrefixes.gearGtSmall, 4), - ALLOY.ZERON_100.getScrew(8), }, - ELEMENT.getInstance().TITANIUM.getFluidStack(4 * 144), - GregtechItemList.Casing_IsaMill_Casing.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(6)); - + ALLOY.ZERON_100.getScrew(8)) + .itemOutputs(GregtechItemList.Casing_IsaMill_Casing.get(1)) + .fluidInputs(ELEMENT.getInstance().TITANIUM.getFluidStack(4 * 144)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Isa Mill Pipe - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(4, 2), - ALLOY.INCONEL_625.getPlateDouble(4), ALLOY.INCOLOY_MA956.getRing(8), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(7), + CI.getTieredGTPPMachineCasing(4, 2), + ALLOY.INCONEL_625.getPlateDouble(4), + ALLOY.INCOLOY_MA956.getRing(8), CI.getTieredComponentOfMaterial(Materials.HSSE, OrePrefixes.plate, 8), - ALLOY.INCOLOY_MA956.getBolt(16), }, - ELEMENT.getInstance().ALUMINIUM.getFluidStack(8 * 144), - GregtechItemList.Casing_IsaMill_Pipe.get(1), - 60 * 20 * 8, - MaterialUtils.getVoltageForTier(4)); + ALLOY.INCOLOY_MA956.getBolt(16)) + .itemOutputs(GregtechItemList.Casing_IsaMill_Pipe.get(1)) + .fluidInputs(ELEMENT.getInstance().ALUMINIUM.getFluidStack(8 * 144)) + .duration(8 * MINUTES) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); // Flotation Cell Controller - CORE.RA.addAssemblylineRecipe( - ItemList.Distillation_Tower.get(1), - 20 * 60 * 20, - new Object[] { GregtechItemList.Casing_Flotation_Cell.get(4), CI.getTieredGTPPMachineCasing(5, 4), - ItemList.Machine_IV_Distillery.get(1), new Object[] { CI.getTieredCircuitOreDictName(6), 8 }, - ALLOY.STELLITE.getGear(8), ALLOY.STELLITE.getPlate(32), ALLOY.HASTELLOY_N.getPlateDouble(8), - ALLOY.HASTELLOY_N.getPlateDouble(8), ALLOY.HASTELLOY_N.getScrew(64), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Distillation_Tower.get(1)) + .metadata(RESEARCH_TIME, 20 * MINUTES) + .itemInputs( + GregtechItemList.Casing_Flotation_Cell.get(4), + CI.getTieredGTPPMachineCasing(5, 4), + ItemList.Machine_IV_Distillery.get(1), + new Object[] { CI.getTieredCircuitOreDictName(6), 8 }, + ALLOY.STELLITE.getGear(8), + ALLOY.STELLITE.getPlate(32), + ALLOY.HASTELLOY_N.getPlateDouble(8), + ALLOY.HASTELLOY_N.getPlateDouble(8), + ALLOY.HASTELLOY_N.getScrew(64), CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64), CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64), CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), - CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), }, - new FluidStack[] { CI.getTieredFluid(5, 16 * 144), CI.getAlternativeTieredFluid(4, 32 * 144), - CI.getTertiaryTieredFluid(4, 32 * 144) }, - GregtechItemList.Controller_Flotation_Cell.get(1), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(6)); + CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32)) + .fluidInputs( + CI.getTieredFluid(5, 16 * 144), + CI.getAlternativeTieredFluid(4, 32 * 144), + CI.getTertiaryTieredFluid(4, 32 * 144)) + .itemOutputs(GregtechItemList.Controller_Flotation_Cell.get(1)) + .eut(TierEU.RECIPE_LuV) + .duration(10 * MINUTES) + .addTo(AssemblyLine); // Flotation Cell Casing - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(4, 1), - ALLOY.AQUATIC_STEEL.getPlate(8), ALLOY.STELLITE.getRing(8), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(7), + CI.getTieredGTPPMachineCasing(4, 1), + ALLOY.AQUATIC_STEEL.getPlate(8), + ALLOY.STELLITE.getRing(8), CI.getTieredComponentOfMaterial(Materials.HSSG, OrePrefixes.plateDouble, 4), - ALLOY.HASTELLOY_N.getScrew(8), }, - ALLOY.STAINLESS_STEEL.getFluidStack(8 * 144), - GregtechItemList.Casing_Flotation_Cell.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(6)); - + ALLOY.HASTELLOY_N.getScrew(8)) + .itemOutputs(GregtechItemList.Casing_Flotation_Cell.get(1)) + .fluidInputs(ALLOY.STAINLESS_STEEL.getFluidStack(8 * 144)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); // Milling Bus - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(7), CI.getTieredGTPPMachineCasing(5, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(7), + CI.getTieredGTPPMachineCasing(5, 1), ItemList.Hatch_Input_Bus_EV.get(1), CI.getTieredComponentOfMaterial(Materials.Titanium, OrePrefixes.gearGt, 8), CI.getTieredComponentOfMaterial(Materials.TungstenSteel, OrePrefixes.plate, 32), - CI.getTieredComponentOfMaterial(Materials.SolderingAlloy, OrePrefixes.wireFine, 16), }, - ELEMENT.getInstance().TUNGSTEN.getFluidStack(8 * 144), - GregtechItemList.Bus_Milling_Balls.get(1), - 60 * 20 * 4, - MaterialUtils.getVoltageForTier(5)); + CI.getTieredComponentOfMaterial(Materials.SolderingAlloy, OrePrefixes.wireFine, 16)) + .itemOutputs(GregtechItemList.Bus_Milling_Balls.get(1)) + .fluidInputs(ELEMENT.getInstance().TUNGSTEN.getFluidStack(8 * 144)) + .duration(4 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } private static void sparging() { // Sparge Tower Research - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(8), ELEMENT.getInstance().HELIUM.getCell(8), - ELEMENT.getInstance().FLUORINE.getCell(8), ALLOY.HS188A.getIngot(8), - ItemList.Distillation_Tower.get(1) }, - null, - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1), - 60 * 20 * 5, - MaterialUtils.getVoltageForTier(5)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(8), + ELEMENT.getInstance().HELIUM.getCell(8), + ELEMENT.getInstance().FLUORINE.getCell(8), + ALLOY.HS188A.getIngot(8), + ItemList.Distillation_Tower.get(1)) + .itemOutputs(ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); // Sparge Tower Controller - CORE.RA.addAssemblylineRecipe( - ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1), - 20 * 60 * 20, - new Object[] { GregtechItemList.Casing_Sparge_Tower_Exterior.get(4), CI.getTieredGTPPMachineCasing(4, 4), - ItemList.Machine_IV_Distillery.get(1), new Object[] { CI.getTieredCircuitOreDictName(5), 8 }, - ALLOY.HS188A.getGear(8), ALLOY.HS188A.getPlate(32), ALLOY.HASTELLOY_N.getPlateDouble(8), - ALLOY.HASTELLOY_N.getPlateDouble(8), ALLOY.HASTELLOY_N.getScrew(64), + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_10_SPARGING, 1)) + .metadata(RESEARCH_TIME, 20 * MINUTES) + .itemInputs( + GregtechItemList.Casing_Sparge_Tower_Exterior.get(4), + CI.getTieredGTPPMachineCasing(4, 4), + ItemList.Machine_IV_Distillery.get(1), + new Object[] { CI.getTieredCircuitOreDictName(5), 8 }, + ALLOY.HS188A.getGear(8), + ALLOY.HS188A.getPlate(32), + ALLOY.HASTELLOY_N.getPlateDouble(8), + ALLOY.HASTELLOY_N.getPlateDouble(8), + ALLOY.HASTELLOY_N.getScrew(64), CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64), CI.getTieredComponentOfMaterial(Materials.YttriumBariumCuprate, OrePrefixes.wireFine, 64), CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), - CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32), }, - new FluidStack[] { CI.getTieredFluid(4, 16 * 144), CI.getAlternativeTieredFluid(3, 32 * 144), - CI.getTertiaryTieredFluid(3, 32 * 144) }, - GregtechItemList.Controller_Sparge_Tower.get(1), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(6)); + CI.getTieredComponentOfMaterial(Materials.Platinum, OrePrefixes.foil, 32)) + .fluidInputs( + CI.getTieredFluid(4, 16 * 144), + CI.getAlternativeTieredFluid(3, 32 * 144), + CI.getTertiaryTieredFluid(3, 32 * 144)) + .itemOutputs(GregtechItemList.Controller_Sparge_Tower.get(1)) + .eut(TierEU.RECIPE_LuV) + .duration(10 * MINUTES) + .addTo(AssemblyLine); // Sparge Tower Casing - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(8), CI.getTieredGTPPMachineCasing(3, 1), - ALLOY.HS188A.getPlate(2), ALLOY.HASTELLOY_N.getRing(4), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(8), + CI.getTieredGTPPMachineCasing(3, 1), + ALLOY.HS188A.getPlate(2), + ALLOY.HASTELLOY_N.getRing(4), CI.getTieredComponentOfMaterial(Materials.TungstenSteel, OrePrefixes.plateDouble, 4), - ALLOY.HASTELLOY_N.getScrew(4), }, - ALLOY.STAINLESS_STEEL.getFluidStack(8 * 144), - GregtechItemList.Casing_Sparge_Tower_Exterior.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(5)); + ALLOY.HASTELLOY_N.getScrew(4)) + .itemOutputs(GregtechItemList.Casing_Sparge_Tower_Exterior.get(1)) + .fluidInputs(ALLOY.STAINLESS_STEEL.getFluidStack(8 * 144)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + } private static void chisels() { ItemStack[] aChisels = new ItemStack[] { GregtechItemList.GT_Chisel_LV.get(1), GregtechItemList.GT_Chisel_MV.get(1), GregtechItemList.GT_Chisel_HV.get(1), }; + + long[] voltageTiers = new long[] { TierEU.RECIPE_LV, TierEU.RECIPE_MV, TierEU.RECIPE_HV }; for (int i = 1; i < 4; i++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(10 + i), CI.getTieredMachineCasing(i), CI.getPlate(i, 4), - CI.getElectricMotor(i, 2), CI.getConveyor(i, 2), CI.getRobotArm(i, 1) }, - CI.getTieredFluid(i, 144 * 4), - aChisels[i - 1], - 20 * 20, - MaterialUtils.getVoltageForTier(i)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(10 + i), + CI.getTieredMachineCasing(i), + CI.getPlate(i, 4), + CI.getElectricMotor(i, 2), + CI.getConveyor(i, 2), + CI.getRobotArm(i, 1)) + .itemOutputs(aChisels[i - 1]) + .fluidInputs(CI.getTieredFluid(i, 144 * 4)) + .duration(20 * SECONDS) + .eut(voltageTiers[i - 1]) + .addTo(assemblerRecipes); + } - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(14), aChisels[2], CI.getPlate(4, 8), CI.getElectricMotor(4, 8), - CI.getConveyor(4, 8), CI.getRobotArm(4, 4) }, - CI.getTieredFluid(4, 144 * 8), - GregtechItemList.Controller_IndustrialAutoChisel.get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(4)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(14), ItemList.Casing_SolidSteel.get(2), CI.getPlate(4, 2), - CI.getTieredComponent(OrePrefixes.plate, 3, 4), CI.getTieredComponent(OrePrefixes.ring, 3, 8), - CI.getTieredComponent(OrePrefixes.rod, 2, 4), }, - CI.getTieredFluid(2, 144 * 2), - GregtechItemList.Casing_IndustrialAutoChisel.get(1), - 20 * 20, - MaterialUtils.getVoltageForTier(3)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(14), + aChisels[2], + CI.getPlate(4, 8), + CI.getElectricMotor(4, 8), + CI.getConveyor(4, 8), + CI.getRobotArm(4, 4)) + .itemOutputs(GregtechItemList.Controller_IndustrialAutoChisel.get(1)) + .fluidInputs(CI.getTieredFluid(4, 144 * 8)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(14), + ItemList.Casing_SolidSteel.get(2), + CI.getPlate(4, 2), + CI.getTieredComponent(OrePrefixes.plate, 3, 4), + CI.getTieredComponent(OrePrefixes.ring, 3, 8), + CI.getTieredComponent(OrePrefixes.rod, 2, 4)) + .itemOutputs(GregtechItemList.Casing_IndustrialAutoChisel.get(1)) + .fluidInputs(CI.getTieredFluid(2, 144 * 2)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + } private static void rockBreaker() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(12), ItemList.Machine_EV_RockBreaker.get(1), - ALLOY.STAINLESS_STEEL.getPlate(8), ALLOY.STAINLESS_STEEL.getRing(4), + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(12), + ItemList.Machine_EV_RockBreaker.get(1), + ALLOY.STAINLESS_STEEL.getPlate(8), + ALLOY.STAINLESS_STEEL.getRing(4), CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.plateDouble, 8), - ALLOY.EGLIN_STEEL.getScrew(8), }, - ELEMENT.getInstance().ALUMINIUM.getFluidStack(144 * 8), - GregtechItemList.Controller_IndustrialRockBreaker.get(1), - 60 * 20 * 2, - MaterialUtils.getVoltageForTier(4)); + ALLOY.EGLIN_STEEL.getScrew(8)) + .itemOutputs(GregtechItemList.Controller_IndustrialRockBreaker.get(1)) + .fluidInputs(ELEMENT.getInstance().ALUMINIUM.getFluidStack(144 * 8)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + } private static void fakeMachineCasingCovers() { @@ -2900,8 +3299,12 @@ public class RECIPES_Machines { } // Add recipes for new ones for (int i = 0; i < aMaxTier; i++) { - GT_Values.RA - .addCutterRecipe(CI.getTieredMachineCasing(i), aTier[i], null, 20 * 5 * i, (int) GT_Values.V[i]); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getTieredMachineCasing(i)) + .itemOutputs(aTier[i]) + .duration(i * 5 * SECONDS) + .eut(GT_Values.V[i]) + .addTo(cutterRecipes); } } @@ -2934,24 +3337,37 @@ public class RECIPES_Machines { // Input Buses for (int tier = 1; tier < mSuperBusesInput.length + 1; tier++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), mInputHatch[tier - 1], CI.getElectricMotor(tier, 2), - CI.getConveyor(tier, 5), CI.getBolt(tier, 16), - CI.getTieredComponent(OrePrefixes.circuit, tier, 2) }, - CI.getAlternativeTieredFluid(tier, 144 * 8), - mSuperBusesInput[tier - 1].get(1), - 20 * 30 * 2, - (int) GT_Values.V[tier]); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(17), + mInputHatch[tier - 1], + CI.getElectricMotor(tier, 2), + CI.getConveyor(tier, 5), + CI.getBolt(tier, 16), + CI.getTieredComponent(OrePrefixes.circuit, tier, 2)) + .itemOutputs(mSuperBusesInput[tier - 1].get(1)) + .fluidInputs(CI.getAlternativeTieredFluid(tier, 144 * 8)) + .duration(60 * SECONDS) + .eut(GT_Values.V[tier]) + .addTo(assemblerRecipes); + } // Output Buses for (int tier = 1; tier < mSuperBusesOutput.length + 1; tier++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(18), mOutputHatch[tier - 1], CI.getElectricPiston(tier, 2), - CI.getConveyor(tier, 5), CI.getGear(tier, 3), CI.getTieredComponent(OrePrefixes.circuit, tier, 2) }, - CI.getTertiaryTieredFluid(tier, 144 * 8), - mSuperBusesOutput[tier - 1].get(1), - 20 * 30 * 2, - (int) GT_Values.V[tier]); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(18), + mOutputHatch[tier - 1], + CI.getElectricPiston(tier, 2), + CI.getConveyor(tier, 5), + CI.getGear(tier, 3), + CI.getTieredComponent(OrePrefixes.circuit, tier, 2)) + .itemOutputs(mSuperBusesOutput[tier - 1].get(1)) + .fluidInputs(CI.getTertiaryTieredFluid(tier, 144 * 8)) + .duration(60 * SECONDS) + .eut(GT_Values.V[tier]) + .addTo(assemblerRecipes); + } } @@ -2964,13 +3380,20 @@ public class RECIPES_Machines { GregtechItemList.GT_MetaTileEntity_ChiselBus_HV.get(1), }; for (int tier = 1; tier < mChiselBuses.length + 1; tier++) { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), mSuperBusesInput[tier - 1], CI.getSensor(tier, 1), - CI.getRobotArm(tier, 2), CI.getBolt(tier, 16), ItemUtils.getSimpleStack(Blocks.chest) }, - CI.getAlternativeTieredFluid(tier, 144 * 2), - mChiselBuses[tier - 1], - 20 * 30 * 2, - (int) GT_Values.VP[tier + 1]); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(17), + mSuperBusesInput[tier - 1], + CI.getSensor(tier, 1), + CI.getRobotArm(tier, 2), + CI.getBolt(tier, 16), + ItemUtils.getSimpleStack(Blocks.chest)) + .itemOutputs(mChiselBuses[tier - 1]) + .fluidInputs(CI.getAlternativeTieredFluid(tier, 144 * 2)) + .duration(60 * SECONDS) + .eut(GT_Values.VP[tier + 1]) + .addTo(assemblerRecipes); + } } @@ -2985,15 +3408,20 @@ public class RECIPES_Machines { for (int i = 0; i < 4; i++) { int componentTier = i + 5; - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), mSuperBusesInput[i], CI.getSensor(componentTier, 1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(17), + mSuperBusesInput[i], + CI.getSensor(componentTier, 1), CI.getFluidRegulator(componentTier, 1), CI.getTieredComponent(OrePrefixes.circuit, componentTier + 1, 4), - ItemUtils.getSimpleStack(Blocks.chest) }, - CI.getTieredFluid(componentTier, 144 * 2), - mSolidifierHatches[i], - 20 * 30, - (int) GT_Values.VP[componentTier]); + ItemUtils.getSimpleStack(Blocks.chest)) + .itemOutputs(mSolidifierHatches[i]) + .fluidInputs(CI.getTieredFluid(componentTier, 144 * 2)) + .duration(30 * SECONDS) + .eut(GT_Values.VP[componentTier]) + .addTo(assemblerRecipes); + } } } diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java index b7a7b43549..1192a68d45 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_SeleniumProcessing.java @@ -1,18 +1,21 @@ package gtPlusPlus.core.recipe; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; +import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.alloyBlastSmelterRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; -import gtPlusPlus.core.lib.CORE; +import gregtech.api.util.GT_Utility; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MISC_MATERIALS; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.core.util.reflect.AddGregtechRecipe; public class RECIPES_SeleniumProcessing { @@ -25,118 +28,124 @@ public class RECIPES_SeleniumProcessing { processCopperRecipes(); // Liquify the Dried Dioxide - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - 13, - FluidUtils.getSteam(500), - null, - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(1000), - 20, - 1024); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(13), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1)) + .fluidInputs(FluidUtils.getSteam(500)) + .fluidOutputs(MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(1000)) + .duration(24 * SECONDS) + .eut(1024) + .addTo(pyrolyseRecipes); // Produce Selenious Acid - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - MISC_MATERIALS.SELENIUM_DIOXIDE.getCell(1), - 14, - FluidUtils.getHotWater(4000), - CI.emptyCells(1), - MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(1000), - 20, - 2048); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(14), MISC_MATERIALS.SELENIUM_DIOXIDE.getCell(1)) + .itemOutputs(CI.emptyCells(1)) + .fluidInputs(FluidUtils.getHotWater(4000)) + .fluidOutputs(MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(1000)) + .duration(24 * SECONDS) + .eut(2048) + .addTo(pyrolyseRecipes); // Make Selenium - CORE.RA.addBlastSmelterRecipe( - new ItemStack[] { ItemUtils.getGregtechCircuit(14), ELEMENT.getInstance().CARBON.getDust(16), }, - new FluidStack[] { MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(750), - Materials.SulfuricAcid.getFluid(8000), }, - ELEMENT.getInstance().SELENIUM.getFluidStack(144 * 1), - new ItemStack[] { ELEMENT.getInstance().SELENIUM.getIngot(1), ELEMENT.getInstance().SELENIUM.getIngot(1), }, - new int[] { 10000, 2000, 2000 }, - 20 * 300, - 7200); - - /* - * // Old recipes for Selenium Roasting CORE.RA.addBlastSmelterRecipe( new ItemStack[] { - * ItemUtils.getGregtechCircuit(16), ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPyrite", 8), - * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000), - * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000); CORE.RA.addBlastSmelterRecipe( new - * ItemStack[] { ItemUtils.getGregtechCircuit(17), - * ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedChalcopyrite", 8), - * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000), - * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000); CORE.RA.addBlastSmelterRecipe( new - * ItemStack[] { ItemUtils.getGregtechCircuit(18), - * ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedGalena", 8), - * ELEMENT.getInstance().CARBON.getDust(32), }, Materials.SulfuricAcid.getFluid(4000), - * ELEMENT.getInstance().SELENIUM.getFluid(144), 0, 20 * 300, 2000); - */ + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(14), ELEMENT.getInstance().CARBON.getDust(16)) + .itemOutputs(ELEMENT.getInstance().SELENIUM.getIngot(1), ELEMENT.getInstance().SELENIUM.getIngot(1)) + .outputChances(100_00, 20_00) + .fluidInputs(MISC_MATERIALS.SELENIOUS_ACID.getFluidStack(750), Materials.SulfuricAcid.getFluid(8000)) + .fluidOutputs(ELEMENT.getInstance().SELENIUM.getFluidStack(144 * 1)) + .eut(7200) + .duration(5 * MINUTES) + .addTo(alloyBlastSmelterRecipes); } public static void processCopperRecipes() { // Copper - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(23), - ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Copper, 1), // Item Input - }, - FluidUtils.getHotWater(1000), // Fluid - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(20), // Fluid - new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Copper, 1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output - new int[] { 10000, 100, 100, 500, 500, 500, 1000, 1000, 1000 }, - 40 * 20, // Time in ticks - 1024); // EU + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(23), + ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Copper, 1)) + .itemOutputs( + ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Copper, 1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1)) + .outputChances(100_00, 1_00, 1_00, 5_00, 5_00, 5_00, 10_00, 10_00, 10_00) + .fluidInputs(FluidUtils.getHotWater(1000)) + .fluidOutputs(MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(20)) + .eut(1024) + .duration(40 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Tetra - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(23), - ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Tetrahedrite, 1), // Item - // Input - }, - FluidUtils.getHotWater(1000), // Fluid - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid - new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Tetrahedrite, 1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output - new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 }, - 40 * 20, // Time in ticks - 1024); // EU + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(23), + ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Tetrahedrite, 1)) + .itemOutputs( + ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Tetrahedrite, 1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1)) + .outputChances(100_00, 1_00, 1_00, 3_00, 3_00, 3_00, 8_00, 8_00, 8_00) + .fluidInputs(FluidUtils.getHotWater(1000)) + .fluidOutputs(MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10)) + .eut(1024) + .duration(40 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Chalco - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(23), - ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Chalcopyrite, 1), // Item - // Input - }, - FluidUtils.getHotWater(1000), // Fluid - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid - new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Chalcopyrite, 1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output - new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 }, - 40 * 20, // Time in ticks - 1024); // EU + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(23), + ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Chalcopyrite, 1)) + .itemOutputs( + ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Chalcopyrite, 1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1)) + .outputChances(100_00, 1_00, 1_00, 3_00, 3_00, 3_00, 8_00, 8_00, 8_00) + .fluidInputs(FluidUtils.getHotWater(1000)) + .fluidOutputs(MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10)) + .eut(1024) + .duration(40 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Malachite - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(23), - ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Malachite, 1), // Item Input - }, - FluidUtils.getHotWater(1000), // Fluid - MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10), // Fluid - new ItemStack[] { ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Malachite, 1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), - MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), }, // Output - new int[] { 10000, 100, 100, 300, 300, 300, 800, 800, 800 }, - 40 * 20, // Time in ticks - 1024); // EU + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(23), + ItemUtils.getOrePrefixStack(OrePrefixes.crushedPurified, Materials.Malachite, 1)) + .itemOutputs( + ItemUtils.getOrePrefixStack(OrePrefixes.crushedCentrifuged, Materials.Malachite, 1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getSmallDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1), + MISC_MATERIALS.SELENIUM_DIOXIDE.getTinyDust(1)) + .outputChances(100_00, 1_00, 1_00, 3_00, 3_00, 3_00, 8_00, 8_00, 8_00) + .fluidInputs(FluidUtils.getHotWater(1000)) + .fluidOutputs(MISC_MATERIALS.SELENIUM_DIOXIDE.getFluidStack(10)) + .eut(1024) + .duration(40 * SECONDS) + .addTo(chemicalDehydratorRecipes); } } diff --git a/src/main/java/gtPlusPlus/core/recipe/common/CI.java b/src/main/java/gtPlusPlus/core/recipe/common/CI.java index 5c1620160d..8f6a4e625c 100644 --- a/src/main/java/gtPlusPlus/core/recipe/common/CI.java +++ b/src/main/java/gtPlusPlus/core/recipe/common/CI.java @@ -253,10 +253,6 @@ public class CI { } } - public static ItemStack getNumberedCircuit(int Meta) { - return ItemUtils.getGregtechCircuit(Meta); - } - private static Object getMaterialFromTier(int tier) { if (tier == 0) { return Materials.Wood; @@ -978,7 +974,7 @@ public class CI { /** * Aluminium + Silver Catalyst - * + * * @param aAmount - Stacksize * @return - A Catalyst stack of given size */ @@ -988,7 +984,7 @@ public class CI { /** * Iridium + Ruthenium Catalyst - * + * * @param aAmount - Stacksize * @return - A Catalyst stack of given size */ @@ -998,7 +994,7 @@ public class CI { /** * Platinum + Rhodium Catalyst - * + * * @param aAmount - Stacksize * @return - A Catalyst stack of given size */ diff --git a/src/main/java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java b/src/main/java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java index dc75c88369..5e4072df6a 100644 --- a/src/main/java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java +++ b/src/main/java/gtPlusPlus/core/slots/SlotIntegratedCircuit.java @@ -5,6 +5,7 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import gregtech.api.util.GT_Utility; import gtPlusPlus.core.recipe.common.CI; public class SlotIntegratedCircuit extends Slot { @@ -39,7 +40,7 @@ public class SlotIntegratedCircuit extends Slot { public static synchronized boolean isItemValidForSlot(int aLockedCircuitNumber, final ItemStack itemstack) { boolean isValid = false; if (mCircuitItem == null) { - mCircuitItem = CI.getNumberedCircuit(0) + mCircuitItem = GT_Utility.getIntegratedCircuit(0) .getItem(); } if (mCircuitItem2 == null) { @@ -69,13 +70,13 @@ public class SlotIntegratedCircuit extends Slot { /** * Returns the circuit type. -1 is invalid, 0 is standard, 1 is GT++ bio. - * + * * @param itemstack - the Circuit Stack. * @return */ public static synchronized int isRegularProgrammableCircuit(final ItemStack itemstack) { if (mCircuitItem == null) { - mCircuitItem = CI.getNumberedCircuit(0) + mCircuitItem = GT_Utility.getIntegratedCircuit(0) .getItem(); } if (mCircuitItem2 == null) { diff --git a/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityCircuitProgrammer.java b/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityCircuitProgrammer.java index 0be6959b8f..ce28dd0b3e 100644 --- a/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityCircuitProgrammer.java +++ b/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityCircuitProgrammer.java @@ -9,6 +9,7 @@ import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.inventories.InventoryCircuitProgrammer; import gtPlusPlus.core.recipe.common.CI; @@ -108,7 +109,7 @@ public class TileEntityCircuitProgrammer extends TileEntity implements ISidedInv // Check Circuit Type ItemStack aOutput; if (aTypeInSlot == 0) { - aOutput = CI.getNumberedCircuit(e); + aOutput = GT_Utility.getIntegratedCircuit(e); } else if (aTypeInSlot == 1) { aOutput = CI.getNumberedBioCircuit(e); } else if (aTypeInSlot == 2) { diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java index 16a71133c6..bedc0d2439 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -4,6 +4,8 @@ import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.GregTech; import static gregtech.api.enums.Mods.IndustrialCraft2; import static gregtech.api.enums.Mods.Minecraft; +import static gregtech.api.recipe.RecipeMaps.packagerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import java.util.ArrayList; import java.util.HashMap; @@ -381,7 +383,19 @@ public class ItemUtils { final ItemStack smallDust = ItemUtils.getSimpleStack(output[1]); final ItemStack tinyDust = ItemUtils.getSimpleStack(output[2]); - CORE.RA.addpackagerRecipe(ItemList.Schematic_Dust.get(0), smallDust, tinyDust, normalDust); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(4, smallDust), ItemList.Schematic_Dust.get(0)) + .itemOutputs(normalDust) + .duration(5 * SECONDS) + .eut(4) + .addTo(packagerRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9, tinyDust), ItemList.Schematic_Dust.get(0)) + .itemOutputs(normalDust) + .duration(5 * SECONDS) + .eut(4) + .addTo(packagerRecipes); if (ItemUtils.checkForInvalidItems(tinyDust) && ItemUtils.checkForInvalidItems(normalDust)) { if (RecipeUtils.addShapedRecipe( @@ -557,10 +571,6 @@ public class ItemUtils { return itemNames; } - public static ItemStack getGregtechCircuit(final int Meta) { - return ItemUtils.getItemStackWithMeta(true, "gregtech:gt.integrated_circuit", "Gregtech Circuit", Meta, 0); - } - private static final Map<Item, String> mModidCache = new HashMap<>(); private static String getModId(final Item item) { @@ -898,7 +908,7 @@ public class ItemUtils { Item aItem = aStack.getItem(); if (aItem == CI.getNumberedBioCircuit(0) .getItem() || aItem - == CI.getNumberedCircuit(0) + == GT_Utility.getIntegratedCircuit(0) .getItem() || aItem == CI.getNumberedAdvancedCircuit(0) .getItem()) { diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java index 881ccb3c41..9aa8b3c0fa 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/MaterialUtils.java @@ -206,6 +206,7 @@ public class MaterialUtils { return aMeltingPoint < 1000 ? 0 : (MathUtils.roundToClosestInt(aMeltingPoint / 1000f)); } + @Deprecated // use TierEU enum public static int getVoltageForTier(int aTier) { // aTier += 1; - Probably some logic to this, idk. diff --git a/src/main/java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java b/src/main/java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java index 807fba9238..fc02cd8b74 100644 --- a/src/main/java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java +++ b/src/main/java/gtPlusPlus/core/util/reflect/AddGregtechRecipe.java @@ -1,13 +1,13 @@ package gtPlusPlus.core.util.reflect; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.cokeOvenRecipes; + import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_Recipe; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; +import gregtech.api.util.GT_Utility; public final class AddGregtechRecipe { @@ -29,7 +29,7 @@ public final class AddGregtechRecipe { } int aCircuitNumber = -1; - Item aCircuit = CI.getNumberedCircuit(1) + Item aCircuit = GT_Utility.getIntegratedCircuit(1) .getItem(); boolean hasCircuit = false; @@ -52,26 +52,22 @@ public final class AddGregtechRecipe { break; } } + ItemStack[] inputs; + if (aInputItem == null) { + inputs = new ItemStack[] { GT_Utility.getIntegratedCircuit(aCircuitNumber) }; + } else { + inputs = new ItemStack[] { GT_Utility.getIntegratedCircuit(aCircuitNumber), aInputItem }; + } - return CORE.RA.addCokeOvenRecipe( - aCircuitNumber, - aInputItem, - aRecipe.mFluidInputs, - aRecipe.mFluidOutputs, - aRecipe.mOutputs, - aModifiedTime, - aRecipe.mEUt); - } - - @Deprecated - public static boolean addCokeAndPyrolyseRecipes(ItemStack input1, int circuitNumber, FluidStack inputFluid1, - ItemStack output1, FluidStack outputFluid1, int timeInSeconds, int euTick) { - // Seconds Conversion - int TIME = timeInSeconds * 20; - int TIMEPYRO = TIME + (TIME / 5); - // Even though it says coke and pyrolyse, ICO recipes are imported from pyrolyse by #importPyroRecipe - GT_Values.RA.addPyrolyseRecipe(input1, inputFluid1, circuitNumber, output1, outputFluid1, TIMEPYRO, euTick); + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(aRecipe.mOutputs) + .fluidInputs(aRecipe.mFluidInputs) + .fluidOutputs(aRecipe.mFluidOutputs) + .eut(aRecipe.mEUt) + .duration(aModifiedTime) + .addTo(cokeOvenRecipes); - return false; + return true; } } diff --git a/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java b/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java index a4bbd6e03a..744d873a48 100644 --- a/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java +++ b/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java @@ -14,12 +14,14 @@ import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.cokeOvenRecipes; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -49,7 +51,6 @@ import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.item.base.BaseItemComponent; import gtPlusPlus.core.item.chemistry.AgriculturalChem; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.MISC_MATERIALS; import gtPlusPlus.core.recipe.common.CI; @@ -386,15 +387,17 @@ public class BioRecipes { .addTo(maceratorRecipes); // Plastic - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(16), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 4), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mAceticAcid, 500), - FluidUtils.getFluidStack(BioRecipes.mPropionicAcid, 500), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mLiquidPlastic, (1000)), }, - 10 * 20, - 240, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(16), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 4)) + .fluidInputs( + FluidUtils.getFluidStack(BioRecipes.mAceticAcid, 500), + FluidUtils.getFluidStack(BioRecipes.mPropionicAcid, 500)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mLiquidPlastic, (1000))) + .duration(10 * SECONDS) + .eut(240) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private static void recipeWoodPellets() { @@ -446,14 +449,12 @@ public class BioRecipes { GT_Values.NF, 1200); } - CORE.RA.addCokeOvenRecipe( - ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 2), - getBioChip(3), - null, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("gemCharcoal", 3), - 120, - 16); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 2), getBioChip(3)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("gemCharcoal", 3)) + .eut(16) + .duration(6 * SECONDS) + .addTo(cokeOvenRecipes); } private static void recipeWoodBricks() { @@ -509,15 +510,16 @@ public class BioRecipes { private static void recipeAceticAcid() { // CH4O + CO = C2H4O2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getGreenCatalyst(0) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mMethanol, 700), - FluidUtils.getFluidStack(BioRecipes.mCarbonMonoxide, 700), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mAceticAcid, 700), }, - 120 * 20, - 60, - 1); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getGreenCatalyst(0)) + .fluidInputs( + FluidUtils.getFluidStack(BioRecipes.mMethanol, 700), + FluidUtils.getFluidStack(BioRecipes.mCarbonMonoxide, 700)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mAceticAcid, 700)) + .duration(2 * MINUTES) + .eut(60) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); GT_Values.RA.stdBuilder() .itemInputs(CI.getNumberedBioCircuit(14)) @@ -590,70 +592,75 @@ public class BioRecipes { continue; } if (ItemUtils.checkForInvalidItems(a)) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(2), ItemUtils.getSimpleStack(a, 10) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000), }, - 30 * 20, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(2), ItemUtils.getSimpleStack(a, 10)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000)) + .duration(30 * SECONDS) + .eut(2) + .metadata(CHEMPLANT_CASING_TIER, 0) + .addTo(chemicalPlantRecipes); + } } for (ItemStack a : aSeeds) { if (ItemUtils.checkForInvalidItems(a)) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(a, 20) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000), }, - 30 * 20, - 2, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(3), ItemUtils.getSimpleStack(a, 20)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000)) + .duration(30 * SECONDS) + .eut(2) + .metadata(CHEMPLANT_CASING_TIER, 0) + .addTo(chemicalPlantRecipes); + } } // Sugar Cane - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(4), ItemUtils.getSimpleStack(Items.reeds, 32) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000), }, - 30 * 20, - 30, - 0); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(5), ItemUtils.getSimpleStack(Items.reeds, 32), - ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 2) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mThermalWater, 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 2000), }, - 10 * 20, - 30, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(4), ItemUtils.getSimpleStack(Items.reeds, 32)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 0) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(5), + ItemUtils.getSimpleStack(Items.reeds, 32), + ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 2)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mThermalWater, 2000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 2000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 0) + .addTo(chemicalPlantRecipes); // Sugar Beet if (OreDictUtils.containsValidEntries("cropSugarbeet")) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(4), ItemUtils.getItemStackOfAmountFromOreDict("cropSugarbeet", 4), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000), }, - 30 * 20, - 30, - 0); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(5), ItemUtils.getItemStackOfAmountFromOreDict("cropSugarbeet", 4), - ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 2) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mThermalWater, 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 2000), }, - 10 * 20, - 30, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(4), ItemUtils.getItemStackOfAmountFromOreDict("cropSugarbeet", 4)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 0) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(5), + ItemUtils.getItemStackOfAmountFromOreDict("cropSugarbeet", 4), + ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 2)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mThermalWater, 2000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 2000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 0) + .addTo(chemicalPlantRecipes); + } // Produce Acetone, Butanol and Ethanol @@ -669,23 +676,25 @@ public class BioRecipes { FluidUtils.getFluidStack(BioRecipes.mEthanol, 3000)) .duration(100 * SECONDS) .eut(32) - .specialValue(1) + .metadata(CHEMPLANT_CASING_TIER, 1) .noOptimize() .addTo(chemicalPlantRecipes); } private static void recipePropionicAcid() { // C2H4 + CO + H2O = C3H6O2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getGreenCatalyst(0) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mEthylene, 1000), + GT_Values.RA.stdBuilder() + .itemInputs(CI.getGreenCatalyst(0)) + .fluidInputs( + FluidUtils.getFluidStack(BioRecipes.mEthylene, 1000), FluidUtils.getFluidStack(BioRecipes.mCarbonMonoxide, 1000), - FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mPropionicAcid, 1000), }, - 10 * 20, - 60, - 1); + FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 1000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mPropionicAcid, 1000)) + .duration(10 * SECONDS) + .eut(60) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void recipeEthanol() { @@ -719,53 +728,62 @@ public class BioRecipes { private static void recipeSodiumHydroxide() { // NaCl·H2O = NaOH + Cl + H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(4) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mSalineWater, 1000), }, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mSodiumHydroxide, 3) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mChlorine, 1000), - FluidUtils.getFluidStack(BioRecipes.mHydrogen, 1000), }, - 300 * 20, - 120, - 1); - + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(4)) + .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mSodiumHydroxide, 3)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mSalineWater, 1000)) + .fluidOutputs( + FluidUtils.getFluidStack(BioRecipes.mChlorine, 1000), + FluidUtils.getFluidStack(BioRecipes.mHydrogen, 1000)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); // Na + H2O = NaOH + H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(5), ItemUtils.getItemStackOfAmountFromOreDict("dustSodium", 5) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000), }, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mSodiumHydroxide, 15) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mHydrogen, 5000), }, - 60 * 20, - 60, - 1); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(5), ItemUtils.getItemStackOfAmountFromOreDict("dustSodium", 5)) + .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mSodiumHydroxide, 15)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mHydrogen, 5000)) + .duration(60 * SECONDS) + .eut(60) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void recipeSodiumCarbonate() { if (OreDictUtils.containsValidEntries("fuelCoke")) { // Na2CO3 + Al2O3 =C= 2NaAlO2 + CO2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(18), ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 1), + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(18), + ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 1), ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), - ItemUtils.getSimpleStack(AgriculturalChem.mAluminiumPellet, 5) }, - new FluidStack[] {}, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mSodiumAluminate, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 1000), }, - 120 * 20, - 120, - 1); + ItemUtils.getSimpleStack(AgriculturalChem.mAluminiumPellet, 5)) + .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mSodiumAluminate, 8)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 1000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(18), ItemUtils.getItemStackOfAmountFromOreDict("dustCoal", 2), + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(18), + ItemUtils.getItemStackOfAmountFromOreDict("dustCoal", 2), ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), - ItemUtils.getSimpleStack(AgriculturalChem.mAluminiumPellet, 5) }, - new FluidStack[] {}, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mSodiumAluminate, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 1000), }, - 180 * 20, - 120, - 1); + ItemUtils.getSimpleStack(AgriculturalChem.mAluminiumPellet, 5)) + .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mSodiumAluminate, 8)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 1000)) + .duration(3 * MINUTES) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void recipePelletMold() { @@ -839,18 +857,23 @@ public class BioRecipes { } for (String aOreName : aOreNames) { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(14), - ItemUtils.getSimpleStack(aOreCache.get(aOreName), aOreData2.get(aOreName)) }, - new FluidStack[] { FluidUtils.getSteam(2000 * aOreData2.get(aOreName)) }, - new ItemStack[] { ItemUtils.getSimpleStack( - AgriculturalChem.mCleanAluminiumMix, - (int) (Math.ceil(aOreData3.get(aOreName) * 1.4))) }, - new FluidStack[] { FluidUtils - .getFluidStack(AgriculturalChem.RedMud, 100 * (int) (Math.ceil(aOreData3.get(aOreName) * 1.4))) }, - 20 * 60, - aOreData1.get(aOreName), - aOreName.equals("Bauxite") ? 2 : 1); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(14), + ItemUtils.getSimpleStack(aOreCache.get(aOreName), aOreData2.get(aOreName))) + .itemOutputs( + ItemUtils.getSimpleStack( + AgriculturalChem.mCleanAluminiumMix, + (int) (Math.ceil(aOreData3.get(aOreName) * 1.4)))) + .fluidInputs(FluidUtils.getSteam(2000 * aOreData2.get(aOreName))) + .fluidOutputs( + FluidUtils + .getFluidStack(AgriculturalChem.RedMud, 100 * (int) (Math.ceil(aOreData3.get(aOreName) * 1.4)))) + .duration(60 * SECONDS) + .eut(aOreData1.get(aOreName)) + .metadata(CHEMPLANT_CASING_TIER, aOreName.equals("Bauxite") ? 2 : 1) + .addTo(chemicalPlantRecipes); + } GT_Values.RA.stdBuilder() .itemInputs( @@ -933,160 +956,180 @@ public class BioRecipes { private static void recipeSulfuricAcid() { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(7), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 10), - ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 6) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mSulfuricAcid, 5000), }, - 50 * 20, - 60, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(7), ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 2), - ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 10) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mSulfuricAcid, 5000), }, - 6 * 20, - 180, - 3); + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(7), + ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 10), + ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 6)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mSulfuricAcid, 5000)) + .duration(50 * SECONDS) + .eut(60) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(7), + ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 2), + ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 10)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 5000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mSulfuricAcid, 5000)) + .duration(6 * SECONDS) + .eut(180) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + } private static void recipeUrea() { // 2NH3 + CO2 = CH4N2O + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(9), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mAmmonia, 600), - FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 300), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mUrea, 300), - FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 300), }, - 5 * 20, - 30, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(9), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mUrea, 200), - FluidUtils.getFluidStack(BioRecipes.mFormaldehyde, 200), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 200) }, - 5 * 20, - 30, - 1); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(9)) + .fluidInputs( + FluidUtils.getFluidStack(BioRecipes.mAmmonia, 600), + FluidUtils.getFluidStack(BioRecipes.mCarbonDioxide, 300)) + .fluidOutputs( + FluidUtils.getFluidStack(BioRecipes.mUrea, 300), + FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 300)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(9)) + .fluidInputs( + FluidUtils.getFluidStack(BioRecipes.mUrea, 200), + FluidUtils.getFluidStack(BioRecipes.mFormaldehyde, 200)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 200)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void recipeRawBioResin() { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 5), - ItemUtils.getSimpleStack(Blocks.dirt, 1) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 100), }, - new ItemStack[] { ItemUtils.getSimpleStack(AgriculturalChem.mRawBioResin, 1), }, - new FluidStack[] {}, - 1 * 20, - 30, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(3), + ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 5), + ItemUtils.getSimpleStack(Blocks.dirt, 1)) + .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mRawBioResin, 1)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 100)) + .duration(20 * TICKS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void recipeLiquidResin() { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mRawBioResin, 1) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mEthanol, 200), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 500), }, - 5 * 20, - 30, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 144), }, - new ItemStack[] { ItemUtils.getSimpleStack(Ic2Items.resin, 32) }, - new FluidStack[] {}, - 60 * 20, - 30, - 1); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mRawBioResin, 1)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mEthanol, 200)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 500)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(3), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 8)) + .itemOutputs(ItemUtils.getSimpleStack(Ic2Items.resin, 32)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mLiquidResin, 144)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LV) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void recipeCompost() { ItemStack aFert; if (Forestry.isModLoaded()) { aFert = ItemUtils.getSimpleStack(AgriculturalChem.aFertForestry, 32); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(11), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 16), - ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mUrea, 200), }, - new ItemStack[] { aFert }, - new FluidStack[] {}, - 30 * 20, - 60, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(11), + ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 16), + ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 8)) + .itemOutputs(aFert) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mUrea, 200)) + .duration(30 * SECONDS) + .eut(60) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } aFert = ItemUtils.getSimpleStack(AgriculturalChem.aFertIC2, 32); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(12), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 16), - ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 8) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mUrea, 200), }, - new ItemStack[] { aFert }, - new FluidStack[] {}, - 30 * 20, - 60, - 1); + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(12), + ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 16), + ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 8)) + .itemOutputs(aFert) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mUrea, 200)) + .duration(30 * SECONDS) + .eut(60) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void recipeMethane() { - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(12), ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 10) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 500), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mMethane, 500), }, - 5 * 20, - 64, - 1); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(13), ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 8), + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(12), ItemUtils.getSimpleStack(AgriculturalChem.mAlgaeBiosmass, 10)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mDistilledWater, 500)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mMethane, 500)) + .duration(5 * SECONDS) + .eut(64) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + getBioChip(13), + ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 8), ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 6), - ItemUtils.getSimpleStack(AgriculturalChem.mRedCelluloseFiber, 4) }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mMethane, 2000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mEthylene, 2000), }, - 10 * 20, - 60, - 1); + ItemUtils.getSimpleStack(AgriculturalChem.mRedCelluloseFiber, 4)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mMethane, 2000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mEthylene, 2000)) + .duration(10 * SECONDS) + .eut(60) + .metadata(CHEMPLANT_CASING_TIER, 1) + .addTo(chemicalPlantRecipes); + } private static void recipeBenzene() { // 6CH4 = C6H6 + 18H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(19), CI.getGreenCatalyst(0), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mMethane, 6000), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mBenzene, 1000), Materials.Hydrogen.getGas(18000) }, - 8 * 20, - 120, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(19), CI.getGreenCatalyst(0)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mMethane, 6000)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mBenzene, 1000), Materials.Hydrogen.getGas(18000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_MV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private static void recipeStyrene() { // C8H10 = C8H8 + 2H - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { getBioChip(20), CI.getGreenCatalyst(0), }, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mEthylbenzene, 100), }, - new ItemStack[] {}, - new FluidStack[] { FluidUtils.getFluidStack(BioRecipes.mStyrene, 100), Materials.Hydrogen.getGas(200) }, - 16 * 20, - 480, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(getBioChip(20), CI.getGreenCatalyst(0)) + .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mEthylbenzene, 100)) + .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mStyrene, 100), Materials.Hydrogen.getGas(200)) + .duration(16 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(CHEMPLANT_CASING_TIER, 2) + .addTo(chemicalPlantRecipes); + } private static void recipeBioChip() { @@ -1097,134 +1140,124 @@ public class BioRecipes { long bits = 0; addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 1L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 1L), bits, - new Object[] { "d ", " P ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "d ", " P ", " ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 2L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 2L), bits, - new Object[] { " d ", " P ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d ", " P ", " ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 3L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 3L), bits, - new Object[] { " d", " P ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d", " P ", " ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 4L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 4L), bits, - new Object[] { " ", " Pd", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " Pd", " ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 5L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 5L), bits, - new Object[] { " ", " P ", " d", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", " d", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 6L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 6L), bits, - new Object[] { " ", " P ", " d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", " d ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 7L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 7L), bits, - new Object[] { " ", " P ", "d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " P ", "d ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 8L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 8L), bits, - new Object[] { " ", "dP ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", "dP ", " ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 9L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 9L), bits, - new Object[] { "P d", " ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P d", " ", " ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 10L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 10L), bits, - new Object[] { "P ", " d", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " d", " ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 11L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 11L), bits, - new Object[] { "P ", " ", " d", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " ", " d", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 12L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 12L), bits, - new Object[] { "P ", " ", " d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "P ", " ", " d ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 13L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 13L), bits, - new Object[] { " P", " ", " d", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", " ", " d", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 14L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 14L), bits, - new Object[] { " P", " ", " d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", " ", " d ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 15L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 15L), bits, - new Object[] { " P", " ", "d ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", " ", "d ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 16L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 16L), bits, - new Object[] { " P", "d ", " ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " P", "d ", " ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 17L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 17L), bits, - new Object[] { " ", " ", "d P", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " ", "d P", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 18L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 18L), bits, - new Object[] { " ", "d ", " P", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", "d ", " P", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 19L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 19L), bits, - new Object[] { "d ", " ", " P", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "d ", " ", " P", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 20L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 20L), bits, - new Object[] { " d ", " ", " P", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d ", " ", " P", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 21L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 21L), bits, - new Object[] { "d ", " ", "P ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { "d ", " ", "P ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 22L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 22L), bits, - new Object[] { " d ", " ", "P ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d ", " ", "P ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 23L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 23L), bits, - new Object[] { " d", " ", "P ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " d", " ", "P ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); addCraftingRecipe( - GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 24L, new Object[0]), + GregtechItemList.Circuit_BioRecipeSelector.getWithDamage(1L, 24L), bits, - new Object[] { " ", " d", "P ", 'P', - GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L, new Object[0]) }); + new Object[] { " ", " d", "P ", 'P', GregtechItemList.Circuit_BioRecipeSelector.getWildcard(1L) }); } public static boolean addCraftingRecipe(ItemStack aResult, long aBitMask, Object[] aRecipe) { Method mAddRecipe = ReflectionUtils.getMethod( GT_ModHandler.class, "addCraftingRecipe", - new Class[] { ItemStack.class, Enchantment[].class, int[].class, boolean.class, boolean.class, - boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, boolean.class, - boolean.class, boolean.class, boolean.class, boolean.class, Object[].class }); + ItemStack.class, + Enchantment[].class, + int[].class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + boolean.class, + Object[].class); boolean didInvoke = false; if (mAddRecipe != null) { try { diff --git a/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java b/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java index 347010f71b..52fc252d15 100644 --- a/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java +++ b/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java @@ -1,18 +1,25 @@ package gtPlusPlus.recipes; +import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.cokeOvenRecipes; + import java.util.ArrayList; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.AddGregtechRecipe; @@ -29,36 +36,39 @@ public class CokeAndPyrolyseOven { // Try use all woods found ArrayList<ItemStack> aLogData = OreDictionary.getOres("logWood"); for (ItemStack stack : aLogData) { - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - ItemUtils.getSimpleStack(stack, 20), - 20, - GT_ModHandler.getSteam(1000), - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 24L), - FluidUtils.getFluidStack("fluid.coalgas", 1440), - 60, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(20), ItemUtils.getSimpleStack(stack, 20)) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 24L)) + .fluidInputs(GT_ModHandler.getSteam(1000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coalgas", 1440)) + .duration(72 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(pyrolyseRecipes); } // Coal to Coke - AddGregtechRecipe.addCokeAndPyrolyseRecipes( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 16L), - 22, - GT_ModHandler.getSteam(1000), - ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 10), - FluidUtils.getFluidStack("fluid.coalgas", 2880), - 30, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(22), + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 16L)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 10)) + .fluidInputs(GT_ModHandler.getSteam(1000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coalgas", 2880)) + .duration(36 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(pyrolyseRecipes); // Coke & Coal - CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L), - ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 6), - GT_ModHandler.getSteam(2000), - FluidUtils.getFluidStack("fluid.coalgas", 5040), - ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 14), - 60 * 20, - 240); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 12L), + ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 6)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("fuelCoke", 14)) + .fluidInputs(GT_ModHandler.getSteam(2000)) + .fluidOutputs(FluidUtils.getFluidStack("fluid.coalgas", 5040)) + .eut(240) + .duration(1 * MINUTES) + .addTo(cokeOvenRecipes); } private static void convertPyroToCokeOven() { diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java index 7c9cc5a990..16f364f595 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Comb.java @@ -2,6 +2,8 @@ package gtPlusPlus.xmod.forestry.bees.items.output; import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Mods.GTPlusPlus; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; import java.util.List; @@ -10,14 +12,13 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.FluidStack; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; +import gregtech.api.enums.GT_Values; import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.xmod.forestry.bees.handler.GTPP_CombType; import gtPlusPlus.xmod.forestry.bees.handler.GTPP_DropType; @@ -118,14 +119,13 @@ public class GTPP_Comb extends Item { Material aMat = aInputStack.mMaterial; long aEU = aMat.vVoltageMultiplier; int aTier = Math.max(aMat.vTier / 2, 1); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { aInputStack.getStackForType(aTier), }, - new FluidStack[] {}, - aOutputs, - new FluidStack[] {}, - aChances, - aTier * 20 * 60, - aEU, - aTier); + GT_Values.RA.stdBuilder() + .itemInputs(aInputStack.getStackForType(aTier)) + .itemOutputs(aOutputs) + .duration(aTier * 20 * 60) + .eut(aEU) + .metadata(CHEMPLANT_CASING_TIER, aTier) + .addTo(chemicalPlantRecipes); + } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java deleted file mode 100644 index faa39dadc3..0000000000 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/interfaces/internal/IGregtech_RecipeAdder.java +++ /dev/null @@ -1,380 +0,0 @@ -package gtPlusPlus.xmod.gregtech.api.interfaces.internal; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.Materials; -import gtPlusPlus.core.material.Material; - -@SuppressWarnings("UnusedReturnValue") -public interface IGregtech_RecipeAdder { - - /** - * Adds a Coke Oven Recipe - * - * @param aInput1 = first Input (not null, and respects StackSize) - * @param aInput2 = second Input (can be null, and respects StackSize) - * @param aFluidOutput = Output of the Creosote (not null, and respects StackSize) - * @param aFluidInput = fluid Input (can be null, and respects StackSize) - * @param aOutput = Output of the Coal/coke (can be null, and respects StackSize) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack aOutput, int aDuration, int aEUt); - - boolean addCokeOvenRecipe(int aCircuit, ItemStack aInput2, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int aDuration, int aEUt); - - boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt); - - /** - * Adds a Matter Fabricator Recipe - * - * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize) - * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - @Deprecated - boolean addMatterFabricatorRecipe(FluidStack aFluidInput, FluidStack aFluidOutput, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Dehydrator. (up to 9 Outputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aFluidInput = fluid Input (can be UU_Amp or null, and respects StackSize) - * @param aFluidOutput = Output of the UU-Matter (not null, and respects StackSize) - * @param aOutputItems = ItemStack[] (not null, and respects StackSize) - * @param aChances = Output Change (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - boolean addDehydratorRecipe(ItemStack[] aInput, FluidStack aFluidInput, FluidStack aFluidOutput, - ItemStack[] aOutputItems, int[] aChances, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aOutput, int aChance, int aDuration, int aEUt); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = Input of a fluid (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs, More than 1 Fluids) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = FluidStack[] (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = Input of a fluid (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aOutputStack = Item Output (Can be null) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt); - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt, int aSpecialValue); - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue, boolean aOptimizeRecipe); - - /** - * Adds a Recipe for the Alloy Blast Smelter. (up to 9 Inputs, More than 1 fluids) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = FluidStack[] (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Metal (not null, and respects StackSize) - * @param aOutputStack = Item Output (Can be null) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt); - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt, int aSpecialValue); - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue, boolean aOptimizeRecipe); - - /** - * Adds a Recipe for the LFTRr. (up to 9 Inputs) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = Input of a fluid (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Salts (not null, and respects StackSize) - * @param aOutputStack = Item Output (Can be null) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @param aSpecialValue = Power produced in EU/t per dynamo - * @return true if the Recipe got added, otherwise false. - */ - - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue); - - /** - * Adds a Recipe for the Quantum Force Smelter (up to 9 Inputs) - * - * - **/ - boolean addQuantumTransformerRecipe(ItemStack[] aInput, FluidStack[] aFluidInput, FluidStack[] aFluidOutput, - ItemStack[] aOutputStack, int[] aChances, int aDuration, int aEUt, int aSpecialValue); - - /** - * Adds a Recipe for the LFTRr. (up to 9 Inputs, More than 1 fluids) - * - * @param aInput = ItemStack[] (not null, and respects StackSize) - * @param aInputFluid = FluidStack[] (can be null, and respects StackSize) - * @param aOutput = Output of the Molten Salts (not null, and respects StackSize) - * @param aOutputStack = Item Output (Can be null) - * @param aChance = Output Chance (can be == 0) - * @param aDuration = Duration (must be >= 0) - * @param aEUt = EU per tick needed for heating up (must be >= 0) - * @param aSpecialValue = Power produced in EU/t per dynamo - * @return true if the Recipe got added, otherwise false. - */ - @Deprecated - boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue); - - /** - * Adds a custom Semifluid fuel for the GT++ SemiFluid Generators. - * - * @param aFuelItem - A Fluidstack to be consumed. - * @param aFuelValue - Fuel value in thousands (1 = 1000) - * @return - Was the Fuel added? - */ - boolean addSemifluidFuel(FluidStack aFuelItem, int aFuelValue); - - /** - * Adds a custom Semifluid fuel for the GT++ SemiFluid Generators. - * - * @param aFuelItem - A Fluidstack to be consumed. - * @param aFuelValue - Fuel value in thousands (1 = 1000) - * @return - Was the Fuel added? - */ - boolean addSemifluidFuel(ItemStack aFuelItem, int aFuelValue); - - boolean addFissionFuel(FluidStack aInput1, FluidStack aInput2, FluidStack aInput3, FluidStack aInput4, - FluidStack aInput5, FluidStack aInput6, FluidStack aInput7, FluidStack aInput8, FluidStack aInput9, - FluidStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt); - - boolean addFissionFuel(boolean aOptimise, FluidStack aInput1, FluidStack aInput2, FluidStack aInput3, - FluidStack aInput4, FluidStack aInput5, FluidStack aInput6, FluidStack aInput7, FluidStack aInput8, - FluidStack aInput9, FluidStack aOutput1, FluidStack aOutput2, int aDuration, int aEUt); - - boolean addCyclotronRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, FluidStack aFluidOutput, - int[] aChances, int aDuration, int aEUt, int aSpecialValue); - - boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack[] aOutput, - FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue); - - @Deprecated - boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, - ItemStack aOutput4, int aDuration, int aEUt); - - boolean addMultiblockCentrifugeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial); - - boolean addMultiblockElectrolyzerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial); - - boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial); - - @Deprecated - boolean addSixSlotAssemblingRecipe(ItemStack[] aInputs, FluidStack aInputFluid, ItemStack aOutput1, int aDuration, - int aEUt); - - /** - * Adds an Assemblyline Recipe - * - * @param aInputs must be != null, 4-16 inputs - * @param aFluidInputs 0-4 fluids - * @param aOutput must be != null - * @param aDuration must be > 0 - * @param aEUt should be > 0 - */ - @Deprecated - boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt); - - /** - * Adds a Assemblyline Recipe - * - * @param aInputs elements should be: ItemStack for single item; ItemStack[] for multiple equivalent items; - * {OreDict, amount} for oredict. - */ - @Deprecated - boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, int time, int eu); - - @Deprecated - boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, Object object, int time, int eu); - - @Deprecated - boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, ItemStack object, int time); - - @Deprecated - boolean addChemicalRecipe(ItemStack input1, ItemStack input2, int aCircuit, FluidStack inputFluid, - FluidStack outputFluid, ItemStack output, ItemStack output2, int time, int eu); - - @Deprecated - boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, FluidStack[] fluidStacks2, - ItemStack[] outputs, int time, int eu); - - @Deprecated - boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt); - - @Deprecated - boolean addBrewingRecipe(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, - boolean aHidden); - - @Deprecated - boolean addBrewingRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, boolean aHidden); - - @Deprecated - boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aDust, ItemStack aOutput); - - @Deprecated - boolean addFluidExtractionRecipe(ItemStack input, FluidStack output, int aTime, int aEu); - - @Deprecated - boolean addFluidExtractionRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidOut, int aTime, - int aEu); - - @Deprecated - boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn); - - @Deprecated - boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, - FluidStack rFluidOut); - - @Deprecated - boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, - FluidStack rFluidOut, int aTime, int aEu); - - boolean addVacuumFurnaceRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, int aLevel); - - boolean addVacuumFurnaceRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aLevel); - - @Deprecated - boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu); - - boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int time, long eu, int aTier); - - boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int[] aChances, int time, long eu, int aTier); - - @Deprecated - boolean addBlastRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int time, long eu, int aHeat); - - @Deprecated - boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, - FluidStack aFluidOutput, int aDuration, int aEUt); - - @Deprecated - boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aChance, int aDuration, int aEUt); - - @Deprecated - boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, ItemStack aSolidOutput, - int aDuration, int aEUt, boolean aHidden); - - @Deprecated - boolean addPulverisationRecipe(final ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - final ItemStack aOutput3); - - boolean addMillingRecipe(Materials aMat, int aEU); - - boolean addMillingRecipe(Material aMat, int aEU); - - boolean addFlotationRecipe(Materials aMat, ItemStack aXanthate, FluidStack[] aInputFluids, - FluidStack[] aOutputFluids, int aTime, int aEU); - - boolean addFlotationRecipe(Material aMat, ItemStack aXanthate, FluidStack[] aInputFluids, - FluidStack[] aOutputFluids, int aTime, int aEU); - - @Deprecated - boolean addpackagerRecipe(ItemStack aRecipeType, ItemStack aInput1, ItemStack aInput2, ItemStack aOutputStack1); - - boolean addFuelForRTG(ItemStack aFuelPellet, int aFuelDays, int aVoltage); - - boolean addColdTrapRecipe(int aCircuit, ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - int[] aChances, FluidStack aFluidOutput, int aTime, int aEU); - - boolean addReactorProcessingUnitRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - ItemStack[] aOutputs, int[] aChances, FluidStack aFluidOutput, int aTime, int aEU); - - @Deprecated - boolean addFluidHeaterRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, int aDuration, int aEUt); - - @Deprecated - boolean addVacuumFreezerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU); - - boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU); - - boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEU, int aAmps); -} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java index 8eba4c5526..3cd82939d4 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java @@ -1,7 +1,9 @@ package gtPlusPlus.xmod.gregtech.common.items; +import static gregtech.api.util.GT_RecipeConstants.RTG_DURATION_IN_DAYS; import static gregtech.client.GT_TooltipHandler.Tier.EV; import static gregtech.client.GT_TooltipHandler.registerTieredTooltip; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.rtgFuels; import static gtPlusPlus.core.util.Utils.getTcAspectStack; import static gtPlusPlus.xmod.gregtech.common.items.Ids_MetaGeneratedGregtechItems.Battery_Casing_Gem_1; import static gtPlusPlus.xmod.gregtech.common.items.Ids_MetaGeneratedGregtechItems.Battery_Casing_Gem_2; @@ -45,10 +47,10 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TC_Aspects; import gregtech.api.enums.Textures; +import gregtech.api.enums.TierEU; import gregtech.api.objects.GT_MultiTexture; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_ModHandler; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.data.StringUtils; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -329,11 +331,40 @@ public class MetaGeneratedGregtechItems extends Gregtech_MetaItem_X32 { } private void registerFuelRTGRecipes() { - CORE.RA.addFuelForRTG(GregtechItemList.Pellet_RTG_PU238.get(1), MathUtils.roundToClosestInt(87.7f), 64); - CORE.RA.addFuelForRTG(GregtechItemList.Pellet_RTG_SR90.get(1), MathUtils.roundToClosestInt(28.8f), 32); - CORE.RA.addFuelForRTG(GregtechItemList.Pellet_RTG_PO210.get(1), 1, 512); - CORE.RA.addFuelForRTG(GregtechItemList.Pellet_RTG_AM241.get(1), 216, 16); - CORE.RA.addFuelForRTG(GT_ModHandler.getIC2Item("RTGPellets", 1), MathUtils.roundToClosestInt(2.6f), 8); + GT_Values.RA.stdBuilder() + .itemInputs(GregtechItemList.Pellet_RTG_PU238.get(1)) + .duration(0) + .eut(64) + .metadata(RTG_DURATION_IN_DAYS, MathUtils.roundToClosestInt(87.7f)) + .addTo(rtgFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GregtechItemList.Pellet_RTG_SR90.get(1)) + .duration(0) + .eut(32) + .metadata(RTG_DURATION_IN_DAYS, MathUtils.roundToClosestInt(28.8f)) + .addTo(rtgFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GregtechItemList.Pellet_RTG_PO210.get(1)) + .duration(0) + .eut(TierEU.HV) + .metadata(RTG_DURATION_IN_DAYS, 1) + .addTo(rtgFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GregtechItemList.Pellet_RTG_AM241.get(1)) + .duration(0) + .eut(16) + .metadata(RTG_DURATION_IN_DAYS, 216) + .addTo(rtgFuels); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getIC2Item("RTGPellets", 1)) + .duration(0) + .eut(8) + .metadata(RTG_DURATION_IN_DAYS, MathUtils.roundToClosestInt(2.6f)) + .addTo(rtgFuels); } private void registerCovers() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java index dbafbc7866..6b56de1832 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java @@ -61,8 +61,6 @@ import gregtech.common.tileentities.machines.IDualInputHatch; import gregtech.common.tileentities.machines.IDualInputInventory; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.PlayerUtils; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Solidifier; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -244,7 +242,7 @@ public class GregtechMetaTileEntity_IndustrialMultiMachine extends private ItemStack getCircuit(ItemStack[] t) { for (ItemStack j : t) { - if (j.getItem() == CI.getNumberedCircuit(0) + if (j.getItem() == GT_Utility.getIntegratedCircuit(0) .getItem()) { if (j.getItemDamage() >= 20 && j.getItemDamage() <= 22) { return j; @@ -417,7 +415,7 @@ public class GregtechMetaTileEntity_IndustrialMultiMachine extends if (mold != null && fluid != null) { List<ItemStack> inputItems = new ArrayList<>(); inputItems.add(mold); - inputItems.add(ItemUtils.getGregtechCircuit(22)); + inputItems.add(GT_Utility.getIntegratedCircuit(22)); processingLogic.setInputItems(inputItems.toArray(new ItemStack[0])); processingLogic.setInputFluids(fluid); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java index 580efdcdab..c2ed2cbd31 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java @@ -37,7 +37,6 @@ import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -171,7 +170,7 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter .isServerSide()) { // Get Controller Circuit if (circuit == null) { - circuit = CI.getNumberedCircuit(0) + circuit = GT_Utility.getIntegratedCircuit(0) .getItem(); } if (aStack != null && aStack.getItem() == circuit) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java index 78e4a17274..0133c8b301 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java @@ -49,7 +49,6 @@ import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -62,7 +61,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_MultiBlockBase<GregtechMetaTileEntity_IndustrialFishingPond> implements ISurvivalConstructable { private boolean isUsingControllerCircuit = false; - private static final Item circuit = CI.getNumberedCircuit(0) + private static final Item circuit = GT_Utility.getIntegratedCircuit(0) .getItem(); private int mCasing; private static IStructureDefinition<GregtechMetaTileEntity_IndustrialFishingPond> STRUCTURE_DEFINITION = null; @@ -394,7 +393,7 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends private int getCircuit(ItemStack[] t) { if (!this.isUsingControllerCircuit) { for (ItemStack j : t) { - if (j.getItem() == CI.getNumberedCircuit(0) + if (j.getItem() == GT_Utility.getIntegratedCircuit(0) .getItem()) { // Fish if (j.getItemDamage() == 14) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java index e7e74ac061..597b2b95ca 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java @@ -46,7 +46,6 @@ import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -190,7 +189,7 @@ public class GregtechMetaTileEntity_IndustrialRockBreaker extends private static void generateRecipes() { sRecipe_Cobblestone = new GT_Recipe( false, - new ItemStack[] { CI.getNumberedCircuit(1) }, + new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, new ItemStack[] { ItemUtils.getSimpleStack(Blocks.cobblestone) }, null, new int[] { 10000 }, @@ -201,7 +200,7 @@ public class GregtechMetaTileEntity_IndustrialRockBreaker extends 0); sRecipe_SmoothStone = new GT_Recipe( false, - new ItemStack[] { CI.getNumberedCircuit(2) }, + new ItemStack[] { GT_Utility.getIntegratedCircuit(2) }, new ItemStack[] { ItemUtils.getSimpleStack(Blocks.stone) }, null, new int[] { 10000 }, @@ -212,7 +211,7 @@ public class GregtechMetaTileEntity_IndustrialRockBreaker extends 0); sRecipe_Redstone = new GT_Recipe( false, - new ItemStack[] { CI.getNumberedCircuit(3), + new ItemStack[] { GT_Utility.getIntegratedCircuit(3), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L) }, new ItemStack[] { ItemUtils.getSimpleStack(Blocks.obsidian) }, null, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java index 22b17e545a..7f2e7db51f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java @@ -41,6 +41,7 @@ import com.gtnewhorizon.structurelib.structure.StructureDefinition; import gregtech.api.enums.ConfigCategories; import gregtech.api.enums.Materials; import gregtech.api.enums.TAE; +import gregtech.api.enums.TierEU; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -59,7 +60,6 @@ import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; import gtPlusPlus.core.util.minecraft.PlayerUtils; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -291,7 +291,7 @@ public class GregtechMetaTileEntity_MassFabricator null, null, 40, - MaterialUtils.getVoltageForTier(1), + (int) TierEU.RECIPE_LV, 0); return Stream.of(recipe); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java index d455697330..b56a480c0c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; + import java.util.HashSet; import java.util.Set; @@ -30,34 +32,38 @@ public class RecipeGen_AlloySmelter extends RecipeGen_Base { private void generateRecipes(final Material material) { final int tVoltageMultiplier = material.vVoltageMultiplier; - + final long duration = Math.max(material.getMass() * 2L, 1L); // Nuggets if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getNugget(1))) - GT_Values.RA.addAlloySmelterRecipe( - material.getIngot(1), - ItemList.Shape_Mold_Nugget.get(0), - material.getNugget(9), - (int) Math.max(material.getMass() * 2L, 1L), - tVoltageMultiplier); + && ItemUtils.checkForInvalidItems(material.getNugget(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(material.getIngot(1), ItemList.Shape_Mold_Nugget.get(0)) + .itemOutputs(material.getNugget(9)) + .duration(duration) + .eut(tVoltageMultiplier) + .addTo(alloySmelterRecipes); + } // Gears - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getGear(1))) - GT_Values.RA.addAlloySmelterRecipe( - material.getIngot(8), - ItemList.Shape_Mold_Gear.get(0), - material.getGear(1), - (int) Math.max(material.getMass() * 2L, 1L), - tVoltageMultiplier); + if (ItemUtils.checkForInvalidItems(material.getIngot(1)) + && ItemUtils.checkForInvalidItems(material.getGear(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(material.getIngot(8), ItemList.Shape_Mold_Gear.get(0)) + .itemOutputs(material.getGear(1)) + .duration(duration) + .eut(tVoltageMultiplier) + .addTo(alloySmelterRecipes); + } // Ingot if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getNugget(1))) - GT_Values.RA.addAlloySmelterRecipe( - material.getNugget(9), - ItemList.Shape_Mold_Ingot.get(0), - material.getIngot(1), - (int) Math.max(material.getMass() * 2L, 1L), - tVoltageMultiplier); + && ItemUtils.checkForInvalidItems(material.getNugget(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(material.getNugget(9), ItemList.Shape_Mold_Ingot.get(0)) + .itemOutputs(material.getIngot(1)) + .duration(duration) + .eut(tVoltageMultiplier) + .addTo(alloySmelterRecipes); + } } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java index 1594568d23..8256b73a44 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java @@ -1,11 +1,15 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import java.util.HashSet; import java.util.Set; import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; @@ -33,13 +37,14 @@ public class RecipeGen_Assembler extends RecipeGen_Base { private void generateRecipes(final Material material) { // Frame Box - if (ItemUtils.checkForInvalidItems(new ItemStack[] { material.getRod(1), material.getFrameBox(1) })) - GT_Values.RA.addAssemblerRecipe( - material.getRod(4), - ItemUtils.getGregtechCircuit(4), - material.getFrameBox(1), - 60, - material.vVoltageMultiplier); + if (ItemUtils.checkForInvalidItems(new ItemStack[] { material.getRod(1), material.getFrameBox(1) })) { + GT_Values.RA.stdBuilder() + .itemInputs(material.getRod(4), GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(material.getFrameBox(1)) + .duration(3 * SECONDS) + .eut(material.vVoltageMultiplier) + .addTo(assemblerRecipes); + } // Rotor if (ItemUtils @@ -52,18 +57,29 @@ public class RecipeGen_Assembler extends RecipeGen_Base { material.vVoltageMultiplier); } + @Deprecated private static void addAssemblerRecipe(final ItemStack input1, final ItemStack input2, final ItemStack output1, final int seconds, final int euCost) { - GT_Values.RA.addAssemblerRecipe( - input1, - input2, - FluidUtils.getFluidStack("molten.solderingalloy", 16), - output1, - seconds, - euCost); - GT_Values.RA - .addAssemblerRecipe(input1, input2, FluidUtils.getFluidStack("molten.tin", 32), output1, seconds, euCost); - GT_Values.RA - .addAssemblerRecipe(input1, input2, FluidUtils.getFluidStack("molten.lead", 48), output1, seconds, euCost); + GT_Values.RA.stdBuilder() + .itemInputs(input1, input2) + .itemOutputs(output1) + .fluidInputs(FluidUtils.getFluidStack("molten.solderingalloy", 16)) + .duration(seconds) + .eut(euCost) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(input1, input2) + .itemOutputs(output1) + .fluidInputs(FluidUtils.getFluidStack("molten.tin", 32)) + .duration(seconds) + .eut(euCost) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(input1, input2) + .itemOutputs(output1) + .fluidInputs(FluidUtils.getFluidStack("molten.lead", 48)) + .duration(seconds) + .eut(euCost) + .addTo(assemblerRecipes); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java index 2d573c9fb7..8213aee95e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java @@ -1,7 +1,13 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.alloyBlastSmelterRecipes; + import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; +import java.util.List; +import java.util.Objects; import java.util.Set; import net.minecraft.item.ItemStack; @@ -9,11 +15,11 @@ import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; +import gregtech.api.util.GT_RecipeBuilder; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.recipe.GTPPRecipeCategories; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; @@ -46,276 +52,260 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base { private void generateARecipe(final Material M) { // Add a Blast Smelting Recipe, Let's go! - ItemStack tStack; - if (null != (tStack = M.getDust(1))) { - - final Material[] badMaterials = { FLUORIDES.THORIUM_HEXAFLUORIDE, FLUORIDES.THORIUM_TETRAFLUORIDE, - ALLOY.BLOODSTEEL, NUCLIDE.LiFBeF2ThF4UF4, NUCLIDE.LiFBeF2ZrF4UF4, NUCLIDE.LiFBeF2ZrF4U235 }; - for (final Material R : badMaterials) { - if (M == R) { - return; - } + ItemStack tStack = M.getDust(1); + if (tStack == null) { + return; + } + + final Material[] badMaterials = { FLUORIDES.THORIUM_HEXAFLUORIDE, FLUORIDES.THORIUM_TETRAFLUORIDE, + ALLOY.BLOODSTEEL, NUCLIDE.LiFBeF2ThF4UF4, NUCLIDE.LiFBeF2ZrF4UF4, NUCLIDE.LiFBeF2ZrF4U235 }; + for (final Material R : badMaterials) { + if (M == R) { + return; } + } - // Prepare some Variables - ItemStack[] components; - ArrayList<MaterialStack> tMaterial = new ArrayList<>(); - int inputStackCount = 0; - int fluidAmount = 0; - final boolean doTest = true; - tMaterial = M.getComposites(); + // Prepare some Variables + ItemStack[] components; + ArrayList<MaterialStack> tMaterial = new ArrayList<>(); + int inputStackCount = 0; + int fluidAmount = 0; + final boolean doTest = true; + tMaterial = M.getComposites(); - // This Bad boy here is what dictates unique recipes. - ItemStack circuitGT; + // This Bad boy here is what dictates unique recipes. + ItemStack circuitGT; - // Set a duration - OLD - /* - * int duration = 0; if (M.getMeltingPointK() > 150){ duration = (int) Math.max(M.getMass() / 50L, 1L) * - * M.getMeltingPointK(); } else { duration = (int) Math.max(M.getMass() / 50L, 1L) * 150; } - */ + long aVoltage = MaterialUtils.getVoltageForTier(M.vTier); - long aVoltage = MaterialUtils.getVoltageForTier(M.vTier); + // Set a duration + int duration = 120 * M.vTier * 10; - // Set a duration - NEW - int duration = 120 * M.vTier * 10; + if (M.vTier <= 4) { + duration = 20 * M.vTier * 10; + } + + int mMaterialListSize = 0; + + int mTotalPartsCounter = M.smallestStackSizeWhenProcessing; - if (M.vTier <= 4) { - duration = 20 * M.vTier * 10; + if (M.getComposites() != null) { + for (final gtPlusPlus.core.material.MaterialStack ternkfsdf : M.getComposites()) { + if (ternkfsdf != null) { + mMaterialListSize++; + } } + } else { + mMaterialListSize = 1; + } - int mMaterialListSize = 0; + if (duration <= 0) { + final int second = 20; + duration = 14 * second * mMaterialListSize * 8; + } - int mTotalPartsCounter = M.smallestStackSizeWhenProcessing; + Logger.WARNING("[BAS] Size: " + mMaterialListSize); + + // Make a simple one Material MaterialStack[] and log it for validity. + circuitGT = GT_Utility.getIntegratedCircuit(1); + final ItemStack[] tItemStackTest = new ItemStack[] { circuitGT, tStack }; + inputStackCount = 1; + fluidAmount = 144 * inputStackCount; + Logger.WARNING( + "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName() + + ". Gives " + + fluidAmount + + "L of molten metal."); + for (int das = 0; das < tItemStackTest.length; das++) { + if (tItemStackTest[das] != null) { + Logger.WARNING( + "[BAS] tMaterial[" + das + + "]: " + + tItemStackTest[das].getDisplayName() + + " Meta: " + + tItemStackTest[das].getItemDamage() + + ", Amount: " + + tItemStackTest[das].stackSize); + } + } - if (M.getComposites() != null) { - for (final gtPlusPlus.core.material.MaterialStack ternkfsdf : M.getComposites()) { - if (ternkfsdf != null) { - mMaterialListSize++; - // mTotalPartsCounter += ternkfsdf.getSmallestStackSizes()[0]; - } - } + final boolean hasMoreInputThanACircuit = (tItemStackTest.length > 1); + + // Generate Recipes for all singular materials that can be made molten. + if (hasMoreInputThanACircuit) { + if (M.requiresBlastFurnace()) { + GT_Values.RA.stdBuilder() + .itemInputs(tItemStackTest) + .fluidOutputs(M.getFluidStack(fluidAmount)) + .duration(duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)) + .eut(aVoltage) + .recipeCategory(GTPPRecipeCategories.absNonAlloyRecipes) + .addTo(alloyBlastSmelterRecipes); } else { - mMaterialListSize = 1; + Logger.WARNING("[BAS] Failed."); } + } else { + GT_Values.RA.stdBuilder() + .itemInputs(tItemStackTest) + .fluidOutputs(M.getFluidStack(fluidAmount)) + .eut(aVoltage) + .duration(duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1) / 2) + .addTo(alloyBlastSmelterRecipes); + + Logger.WARNING("[BAS] Success."); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ingot.get(0)) + .itemOutputs(M.getIngot(1)) + .fluidInputs(M.getFluidStack(144)) + .duration(duration / 2) + .eut(60) + .addTo(fluidSolidifierRecipes); + + Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe."); + + } + + if (tMaterial == null) { + Logger.WARNING("[BAS] doTest: " + doTest + " | tMaterial == null: true"); + return; + } + + // Reset the Variables for compounds if last recipe was a success. + inputStackCount = 0; + + if (mMaterialListSize <= 1) { + return; + } + // If this Material has some kind of compound list, proceed + + final gtPlusPlus.core.material.MaterialStack[] tempStack = new gtPlusPlus.core.material.MaterialStack[mMaterialListSize]; + circuitGT = GT_Utility.getIntegratedCircuit(mMaterialListSize); - if (duration <= 0) { - final int second = 20; - duration = 14 * second * mMaterialListSize * 8; + // Builds me a MaterialStack[] from the MaterialList of M. + int ooo = 0; + for (final gtPlusPlus.core.material.MaterialStack xMaterial : M.getComposites()) { + if (xMaterial == null) { + ooo++; + continue; } - Logger.WARNING("[BAS] Size: " + mMaterialListSize); + if (xMaterial.getStackMaterial() == null) { + tempStack[ooo] = xMaterial; + ooo++; + continue; + } - // Make a simple one Material MaterialStack[] and log it for validity. - circuitGT = ItemUtils.getGregtechCircuit(1); - final ItemStack[] tItemStackTest = new ItemStack[] { circuitGT, tStack }; - inputStackCount = 1; - fluidAmount = 144 * inputStackCount; Logger.WARNING( - "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName() - + ". Gives " - + fluidAmount - + "L of molten metal."); - for (int das = 0; das < tItemStackTest.length; das++) { - if (tItemStackTest[das] != null) { - Logger.WARNING( - "[BAS] tMaterial[" + das - + "]: " - + tItemStackTest[das].getDisplayName() - + " Meta: " - + tItemStackTest[das].getItemDamage() - + ", Amount: " - + tItemStackTest[das].stackSize); - } + "[BAS] FOUND: " + xMaterial.getStackMaterial() + .getLocalizedName()); + Logger.WARNING( + "[BAS] ADDING: " + xMaterial.getStackMaterial() + .getLocalizedName()); + tempStack[ooo] = xMaterial; + ooo++; + } + + // Builds me an ItemStack[] of the materials. - Without a circuit - this gets a good count for + // the 144L fluid multiplier + components = new ItemStack[9]; + inputStackCount = 0; + FluidStack componentsFluid = null; + for (int irc = 0; irc < M.getComposites() + .size(); irc++) { + if (M.getComposites() + .get(irc) == null) { + continue; } - final boolean hasMoreInputThanACircuit = (tItemStackTest.length > 1); - - // Generate Recipes for all singular materials that can be made molten. - if (hasMoreInputThanACircuit) { - if (M.requiresBlastFurnace()) { - GT_Values.RA.stdBuilder() - .itemInputs(tItemStackTest) - .fluidOutputs(M.getFluidStack(fluidAmount)) - .duration(duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)) - .eut(aVoltage) - .recipeCategory(GTPPRecipeCategories.absNonAlloyRecipes) - .addTo(GTPPRecipeMaps.alloyBlastSmelterRecipes); - } else { - Logger.WARNING("[BAS] Failed."); + final int r = (int) M.vSmallestRatio[irc]; + inputStackCount = inputStackCount + r; + if ((M.getComposites() + .get(irc) + .getStackMaterial() + .getState() != MaterialState.SOLID) || !ItemUtils.checkForInvalidItems( + M.getComposites() + .get(irc) + .getDustStack(r))) { + final int xr = r; + if ((xr > 0) && (xr <= 100)) { + final int mathmatics = (r * 1000); + componentsFluid = FluidUtils.getFluidStack( + M.getComposites() + .get(irc) + .getStackMaterial() + .getFluidStack(mathmatics), + mathmatics); } } else { - if (CORE.RA.addBlastSmelterRecipe( - tItemStackTest, - M.getFluidStack(fluidAmount), - 100, - duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1) / 2, - (int) aVoltage)) { - Logger.WARNING("[BAS] Success."); - if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ingot.get(0), - M.getFluidStack(144), - M.getIngot(1), - duration / 2, - 60)) { - Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe."); - /* - * if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, - * duration/2, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } if - * (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluidStack(16), 100, - * duration/2/9, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - */ - /* - * if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, - * duration/2/4, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - * if (GT_Values.RA.addFluidExtractionRecipe(M.getTinyDust(1), null, M.getFluid(16), 100, - * duration/2/9, 60)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - */ - } + components[irc] = M.getComposites() + .get(irc) + .getUnificatedDustStack(r); + } + } + + // Adds a circuit + if ((mMaterialListSize < 9) && (mMaterialListSize != 0)) { + final ItemStack[] components_NoCircuit = components; + // Builds me an ItemStack[] of the materials. - With a circuit + components = new ItemStack[components_NoCircuit.length + 1]; + for (int fr = 0; fr < components.length; fr++) { + if (fr == 0) { + components[0] = circuitGT; } else { - Logger.WARNING("[BAS] Failed."); + components[fr] = components_NoCircuit[fr - 1]; } } + Logger.WARNING( + "[BAS] Should have added a circuit. mMaterialListSize: " + mMaterialListSize + + " | circuit: " + + components[0].getDisplayName()); + } else { + Logger.WARNING("[BAS] Did not add a circuit. mMaterialListSize: " + mMaterialListSize); + } - if (tMaterial != null) { - // Reset the Variables for compounds if last recipe was a success. - inputStackCount = 0; - - // If this Material has some kind of compound list, proceed - if (mMaterialListSize > 1) { - final gtPlusPlus.core.material.MaterialStack[] tempStack = new gtPlusPlus.core.material.MaterialStack[mMaterialListSize]; - circuitGT = ItemUtils.getGregtechCircuit(mMaterialListSize); - // Just double checking - if (tempStack.length > 1) { - - // Builds me a MaterialStack[] from the MaterialList of M. - int ooo = 0; - for (final gtPlusPlus.core.material.MaterialStack xMaterial : M.getComposites()) { - if (xMaterial != null) { - if (xMaterial.getStackMaterial() != null) { - Logger.WARNING( - "[BAS] FOUND: " + xMaterial.getStackMaterial() - .getLocalizedName()); - Logger.WARNING( - "[BAS] ADDING: " + xMaterial.getStackMaterial() - .getLocalizedName()); - } - tempStack[ooo] = xMaterial; - } - ooo++; - } - - // Builds me an ItemStack[] of the materials. - Without a circuit - this gets a good count for - // the 144L fluid multiplier - components = new ItemStack[9]; - inputStackCount = 0; - FluidStack componentsFluid = null; - for (int irc = 0; irc < M.getComposites() - .size(); irc++) { - if (M.getComposites() - .get(irc) != null) { - final int r = (int) M.vSmallestRatio[irc]; - inputStackCount = inputStackCount + r; - if ((M.getComposites() - .get(irc) - .getStackMaterial() - .getState() != MaterialState.SOLID) - || !ItemUtils.checkForInvalidItems( - M.getComposites() - .get(irc) - .getDustStack(r))) { - final int xr = r; - if ((xr > 0) && (xr <= 100)) { - final int mathmatics = (r * 1000); - componentsFluid = FluidUtils.getFluidStack( - M.getComposites() - .get(irc) - .getStackMaterial() - .getFluidStack(mathmatics), - mathmatics); - } - } else { - components[irc] = M.getComposites() - .get(irc) - .getUnificatedDustStack(r); - } - } - } - - // Adds a circuit - if ((mMaterialListSize < 9) && (mMaterialListSize != 0)) { - final ItemStack[] components_NoCircuit = components; - // Builds me an ItemStack[] of the materials. - With a circuit - components = new ItemStack[components_NoCircuit.length + 1]; - for (int fr = 0; fr < components.length; fr++) { - if (fr == 0) { - components[0] = circuitGT; - } else { - components[fr] = components_NoCircuit[fr - 1]; - } - } - Logger.WARNING( - "[BAS] Should have added a circuit. mMaterialListSize: " + mMaterialListSize - + " | circuit: " - + components[0].getDisplayName()); - } else { - Logger.WARNING("[BAS] Did not add a circuit. mMaterialListSize: " + mMaterialListSize); - } - - // Set Fluid output - fluidAmount = 144 * inputStackCount; - - Logger.WARNING( - "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName() - + " using it's compound dusts. This material has " - + inputStackCount - + " parts. Gives " - + fluidAmount - + "L of molten metal."); - Logger.WARNING("[BAS] tMaterial.length: " + components.length + "."); - for (int das = 0; das < components.length; das++) { - if (components[das] != null) { - Logger.WARNING( - "[BAS] tMaterial[" + das - + "]: " - + components[das].getDisplayName() - + " Meta: " - + components[das].getItemDamage() - + ", Amount: " - + components[das].stackSize); - } - } - - // Adds Recipe - if (M.requiresBlastFurnace()) { - if (CORE.RA.addBlastSmelterRecipe( - components, - componentsFluid, - M.getFluidStack(fluidAmount), - 100, - duration, - (int) aVoltage)) { - Logger.WARNING("[BAS] Success."); - } else { - Logger.WARNING("[BAS] Failed."); - } - } else { - if (CORE.RA.addBlastSmelterRecipe( - components, - componentsFluid, - M.getFluidStack(fluidAmount), - 100, - duration, - (int) aVoltage / 2)) { - Logger.WARNING("[BAS] Success."); - } else { - Logger.WARNING("[BAS] Failed."); - } - } - } - } - } else { - Logger.WARNING("[BAS] doTest: " + doTest + " | tMaterial != null: " + (tMaterial != null)); + // Set Fluid output + fluidAmount = 144 * inputStackCount; + + Logger.WARNING( + "[BAS] Adding an Alloy Blast Smelter Recipe for " + M.getLocalizedName() + + " using it's compound dusts. This material has " + + inputStackCount + + " parts. Gives " + + fluidAmount + + "L of molten metal."); + Logger.WARNING("[BAS] tMaterial.length: " + components.length + "."); + for (int das = 0; das < components.length; das++) { + if (components[das] != null) { + Logger.WARNING( + "[BAS] tMaterial[" + das + + "]: " + + components[das].getDisplayName() + + " Meta: " + + components[das].getItemDamage() + + ", Amount: " + + components[das].stackSize); } } + + // Adds Recipe + GT_RecipeBuilder builder = GT_Values.RA.stdBuilder(); + List<ItemStack> inputs = Arrays.asList(components); + inputs.removeIf(Objects::isNull); + components = inputs.toArray(new ItemStack[0]); + + builder = builder.itemInputs(components); + if (componentsFluid != null) { + builder.fluidInputs(componentsFluid); + } + builder.fluidOutputs(M.getFluidStack(fluidAmount)); + + if (M.requiresBlastFurnace()) { + builder.eut(aVoltage); + } else { + builder.eut(aVoltage / 2); + } + builder.duration(duration) + .addTo(alloyBlastSmelterRecipes); + Logger.WARNING("[BAS] Success."); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java index 5398a6a0b5..0ac39d39bc 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java @@ -13,11 +13,11 @@ import org.apache.commons.lang3.ArrayUtils; import gregtech.api.enums.GT_Values; import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.minecraft.ItemStackData; import gtPlusPlus.api.recipe.GTPPRecipeCategories; import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -201,7 +201,7 @@ public class RecipeGen_BlastSmelterGT_GTNH { // If no circuit was found, add a circuit here if (!circuitFound) { l = 1; - newInput[0] = CI.getNumberedCircuit(inputs.length); + newInput[0] = GT_Utility.getIntegratedCircuit(inputs.length); } for (ItemStack y : inputs) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index 1499ea3cad..84e910c9b1 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -1,6 +1,17 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.packagerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; + +import java.util.Arrays; import java.util.HashSet; +import java.util.List; +import java.util.Objects; import java.util.Set; import net.minecraft.item.ItemStack; @@ -12,13 +23,10 @@ import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.MaterialStack; import gtPlusPlus.core.material.state.MaterialState; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.RecipeUtils; @@ -113,11 +121,21 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { final ItemStack materialFrameBox = material.getFrameBox(1); if (ItemUtils.checkForInvalidItems(materialBlock)) { - GT_ModHandler.addPulverisationRecipe(materialBlock, material.getDust(9)); + RA.stdBuilder() + .itemInputs(materialBlock) + .itemOutputs(material.getDust(9)) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); } if (ItemUtils.checkForInvalidItems(materialFrameBox)) { - GT_ModHandler.addPulverisationRecipe(materialFrameBox, material.getDust(2)); + RA.stdBuilder() + .itemInputs(materialFrameBox) + .itemOutputs(material.getDust(2)) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); } if (ItemUtils.checkForInvalidItems(smallDust) && ItemUtils.checkForInvalidItems(tinyDust)) { @@ -131,253 +149,270 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { } // Is this a composite? - if ((inputStacks != null) && !disableOptional) { - // Is this a composite? - Logger.WARNING("mixer length: " + inputStacks.length); - if ((inputStacks.length != 0) && (inputStacks.length <= 4)) { - // Log Input items - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - final long[] inputStackSize = material.vSmallestRatio; - Logger.WARNING("mixer is stacksizeVar null? " + (inputStackSize != null)); - // Is smallest ratio invalid? - if (inputStackSize != null) { - // set stack sizes on an input ItemStack[] - for (short x = 0; x < inputStacks.length; x++) { - if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) { - inputStacks[x].stackSize = (int) inputStackSize[x]; - } - } - // Relog input values, with stack sizes - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - - // Get us four ItemStacks to input into the mixer - ItemStack[] input = new ItemStack[4]; - - input[0] = (inputStacks.length >= 1) ? ((inputStacks[0] == null) ? null : inputStacks[0]) : null; - input[1] = (inputStacks.length >= 2) ? ((inputStacks[1] == null) ? null : inputStacks[1]) : null; - input[2] = (inputStacks.length >= 3) ? ((inputStacks[2] == null) ? null : inputStacks[2]) : null; - input[3] = (inputStacks.length >= 4) ? ((inputStacks[3] == null) ? null : inputStacks[3]) : null; - - if (inputStacks.length == 1) { - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length + 10); - } else if (inputStacks.length == 2) { - input[2] = input[1]; - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length + 10); - - } else if (inputStacks.length == 3) { - input[3] = input[2]; - input[2] = input[1]; - input[1] = input[0]; - input[0] = CI.getNumberedCircuit(inputStacks.length + 10); - } + if ((inputStacks == null) || disableOptional) { + return; + } - /* - * for (int g = 0; g<4; g++) { if(inputStacks.length > g) { input[g] = inputStacks[g] != null ? - * inputStacks[g] : null; } else { input[g] = CI.getNumberedCircuit(g+10); break; } } - */ - - // Add mixer Recipe - FluidStack oxygen = GT_Values.NF; - if (material.getComposites() != null) { - for (final MaterialStack x : material.getComposites()) { - if (!material.getComposites() - .isEmpty()) { - if (x != null) { - if (x.getStackMaterial() != null) { - if (x.getStackMaterial() - .getDust(1) == null) { - if (x.getStackMaterial() - .getState() != MaterialState.SOLID - && x.getStackMaterial() - .getState() != MaterialState.ORE - && x.getStackMaterial() - .getState() != MaterialState.PLASMA) { - oxygen = x.getStackMaterial() - .getFluidStack(1000); - break; - } - } - } - } - } - } - } + // Is this a composite? + Logger.WARNING("mixer length: " + inputStacks.length); + if (!((inputStacks.length != 0) && (inputStacks.length <= 4))) { + return; + } + // Log Input items + Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); + final long[] inputStackSize = material.vSmallestRatio; + Logger.WARNING("mixer is stacksizeVar null? " + (inputStackSize != null)); + // Is smallest ratio invalid? + if (inputStackSize == null) { + return; + } + // set stack sizes on an input ItemStack[] + for (short x = 0; x < inputStacks.length; x++) { + if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) { + inputStacks[x].stackSize = (int) inputStackSize[x]; + } + } + // Relog input values, with stack sizes + Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); + + // Get us four ItemStacks to input into the mixer + ItemStack[] input = new ItemStack[4]; + + input[0] = (inputStacks.length >= 1) ? ((inputStacks[0] == null) ? null : inputStacks[0]) : null; + input[1] = (inputStacks.length >= 2) ? ((inputStacks[1] == null) ? null : inputStacks[1]) : null; + input[2] = (inputStacks.length >= 3) ? ((inputStacks[2] == null) ? null : inputStacks[2]) : null; + input[3] = (inputStacks.length >= 4) ? ((inputStacks[3] == null) ? null : inputStacks[3]) : null; + + if (inputStacks.length == 1) { + input[1] = input[0]; + input[0] = GT_Utility.getIntegratedCircuit(inputStacks.length + 10); + } else if (inputStacks.length == 2) { + input[2] = input[1]; + input[1] = input[0]; + input[0] = GT_Utility.getIntegratedCircuit(inputStacks.length + 10); + + } else if (inputStacks.length == 3) { + input[3] = input[2]; + input[2] = input[1]; + input[1] = input[0]; + input[0] = GT_Utility.getIntegratedCircuit(inputStacks.length + 10); + } - input = ItemUtils.cleanItemStackArray(input); - - // Add mixer Recipe - if (GT_Values.RA.addMixerRecipe( - input[0], - input[1], - input[2], - input[3], - oxygen, - null, - outputStacks, - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) // Was 6, but let's try 2. This makes Potin LV, for example. - { - Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Failed"); - } + // Add mixer Recipe + FluidStack oxygen = GT_Values.NF; + if (material.getComposites() != null) { + for (final MaterialStack x : material.getComposites()) { + if (material.getComposites() + .isEmpty()) { + continue; + } + if (x == null) { + continue; + } + if (x.getStackMaterial() == null) { + continue; + } - // Add Shapeless recipe for low tier alloys. - /* - * if (tVoltageMultiplier <= 30){ if (RecipeUtils.addShapedGregtechRecipe(inputStacks, - * outputStacks)){ - * Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Success"); } else { - * Logger.WARNING("Dust Shapeless Recipe: "+material.getLocalizedName()+" - Failed"); } } - */ + if (x.getStackMaterial() + .getDust(1) != null) { + continue; + } + + if (x.getStackMaterial() + .getState() != MaterialState.SOLID + && x.getStackMaterial() + .getState() != MaterialState.ORE + && x.getStackMaterial() + .getState() != MaterialState.PLASMA) { + oxygen = x.getStackMaterial() + .getFluidStack(1000); + break; } } } + + input = ItemUtils.cleanItemStackArray(input); + + // Add mixer Recipe + List<ItemStack> inputs = Arrays.asList(input); + inputs.removeIf(Objects::isNull); + + if (oxygen == null) { + GT_Values.RA.stdBuilder() + .itemInputs(inputs.toArray(new ItemStack[0])) + .itemOutputs(outputStacks) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(mixerRecipes); + } else { + GT_Values.RA.stdBuilder() + .itemInputs(inputs.toArray(new ItemStack[0])) + .itemOutputs(outputStacks) + .fluidInputs(oxygen) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(mixerRecipes); + } + + Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success"); } public static boolean addMixerRecipe_Standalone(final Material material) { final ItemStack[] inputStacks = material.getMaterialComposites(); final ItemStack outputStacks = material.getDust(material.smallestStackSizeWhenProcessing); // Is this a composite? - if ((inputStacks != null)) { - // Is this a composite? - Logger.WARNING("mixer length: " + inputStacks.length); - if ((inputStacks.length >= 1) && (inputStacks.length <= 4)) { - // Log Input items - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - final long[] inputStackSize = material.vSmallestRatio; - Logger.WARNING("mixer is stacksizeVar not null? " + (inputStackSize != null)); - // Is smallest ratio invalid? - if (inputStackSize != null) { - // set stack sizes on an input ItemStack[] - for (short x = 0; x < inputStacks.length; x++) { - if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) { - inputStacks[x].stackSize = (int) inputStackSize[x]; - } - } - // Relog input values, with stack sizes - Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); - - // Get us four ItemStacks to input into the mixer - ItemStack input1, input2, input3, input4; - input1 = inputStacks[0]; - input2 = (inputStacks.length >= 2) ? (input2 = (inputStacks[1] == null) ? null : inputStacks[1]) - : null; - input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2]) - : null; - input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3]) - : null; - - if (inputStacks.length == 1) { - input2 = input1; - input1 = CI.getNumberedCircuit(20); - } else if (inputStacks.length == 2) { - input3 = input2; - input2 = input1; - input1 = CI.getNumberedCircuit(20); - - } else if (inputStacks.length == 3) { - input4 = input3; - input3 = input2; - input2 = input1; - input1 = CI.getNumberedCircuit(20); - } + if (inputStacks == null) { + Logger.WARNING("InputStacks == NUll - " + material.getLocalizedName()); + return false; + } - // Add mixer Recipe - FluidStack oxygen = GT_Values.NF; - if (material.getComposites() != null) { - int compSlot = 0; - for (final MaterialStack x : material.getComposites()) { - if (!material.getComposites() - .isEmpty()) { - if (x != null) { - if (x.getStackMaterial() != null) { - if (x.getStackMaterial() - .getDust(1) == null) { - MaterialState f = x.getStackMaterial() - .getState(); - if (f == MaterialState.GAS || f == MaterialState.LIQUID - || f == MaterialState.PURE_LIQUID - || f == MaterialState.PURE_GAS) { - oxygen = x.getStackMaterial() - .getFluidStack((int) (material.vSmallestRatio[compSlot] * 1000)); - } - } - } - } - } - compSlot++; - } - } + // Is this a composite? + Logger.WARNING("mixer length: " + inputStacks.length); + if (!((inputStacks.length >= 1) && (inputStacks.length <= 4))) { + Logger.WARNING("InputStacks is out range 1-4 - " + material.getLocalizedName()); + return false; + } + // Log Input items + Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); + final long[] inputStackSize = material.vSmallestRatio; + Logger.WARNING("mixer is stacksizeVar not null? " + (inputStackSize != null)); + + // Is smallest ratio invalid? + if (inputStackSize == null) { + Logger.WARNING("inputStackSize == NUll - " + material.getLocalizedName()); + return true; + } - // Add mixer Recipe - try { - if (GT_Values.RA.addMixerRecipe( - input1, - input2, - input3, - input4, - oxygen, - null, - outputStacks, - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) // Was 6, but let's try 2. This makes Potin LV, for - // example. - { - Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success"); - return true; - } else { - Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Failed"); - return false; - } - } catch (Throwable t) { - t.printStackTrace(); - } - } else { - Logger.WARNING("inputStackSize == NUll - " + material.getLocalizedName()); + // set stack sizes on an input ItemStack[] + for (short x = 0; x < inputStacks.length; x++) { + if ((inputStacks[x] != null) && (inputStackSize[x] != 0)) { + inputStacks[x].stackSize = (int) inputStackSize[x]; + } + } + + // Relog input values, with stack sizes + Logger.WARNING(ItemUtils.getArrayStackNames(inputStacks)); + + // Get us four ItemStacks to input into the mixer + ItemStack input1, input2, input3, input4; + input1 = inputStacks[0]; + input2 = (inputStacks.length >= 2) ? (input2 = (inputStacks[1] == null) ? null : inputStacks[1]) : null; + input3 = (inputStacks.length >= 3) ? (input3 = (inputStacks[2] == null) ? null : inputStacks[2]) : null; + input4 = (inputStacks.length >= 4) ? (input4 = (inputStacks[3] == null) ? null : inputStacks[3]) : null; + + if (inputStacks.length == 1) { + input2 = input1; + input1 = GT_Utility.getIntegratedCircuit(20); + } else if (inputStacks.length == 2) { + input3 = input2; + input2 = input1; + input1 = GT_Utility.getIntegratedCircuit(20); + + } else if (inputStacks.length == 3) { + input4 = input3; + input3 = input2; + input2 = input1; + input1 = GT_Utility.getIntegratedCircuit(20); + } + + // Add mixer Recipe + FluidStack oxygen = GT_Values.NF; + if (material.getComposites() != null) { + int compSlot = 0; + for (final MaterialStack x : material.getComposites()) { + + if (material.getComposites() + .isEmpty()) { + compSlot++; + continue; + } + if (x == null) { + compSlot++; + continue; } + + if (x.getStackMaterial() == null) { + compSlot++; + continue; + } + + if (x.getStackMaterial() + .getDust(1) == null) { + compSlot++; + continue; + } + + MaterialState f = x.getStackMaterial() + .getState(); + if (f == MaterialState.GAS || f == MaterialState.LIQUID + || f == MaterialState.PURE_LIQUID + || f == MaterialState.PURE_GAS) { + oxygen = x.getStackMaterial() + .getFluidStack((int) (material.vSmallestRatio[compSlot] * 1000)); + } + compSlot++; + } + } + + // Add mixer Recipe + try { + if (oxygen == null) { + GT_Values.RA.stdBuilder() + .itemInputs(input1, input2, input3, input4) + .itemOutputs(outputStacks) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(mixerRecipes); } else { - Logger.WARNING("InputStacks is out range 1-4 - " + material.getLocalizedName()); + GT_Values.RA.stdBuilder() + .itemInputs(input1, input2, input3, input4) + .itemOutputs(outputStacks) + .fluidInputs(oxygen) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(mixerRecipes); } - } else { - Logger.WARNING("InputStacks == NUll - " + material.getLocalizedName()); + + Logger.WARNING("Dust Mixer Recipe: " + material.getLocalizedName() + " - Success"); + + } catch (Throwable t) { + t.printStackTrace(); } - return false; + return true; } public static boolean generatePackagerRecipes(Material aMatInfo) { - AutoMap<Boolean> aResults = new AutoMap<>(); // Small Dust - aResults.put( - GT_Values.RA.addBoxingRecipe( - GT_Utility.copyAmount(4L, new Object[] { aMatInfo.getSmallDust(4) }), - ItemList.Schematic_Dust.get(0L, new Object[0]), - aMatInfo.getDust(1), - 100, - 4)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(4, aMatInfo.getSmallDust(4)), ItemList.Schematic_Dust.get(0)) + .itemOutputs(aMatInfo.getDust(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(packagerRecipes); + // Tiny Dust - aResults.put( - GT_Values.RA.addBoxingRecipe( - GT_Utility.copyAmount(9L, new Object[] { aMatInfo.getTinyDust(9) }), - ItemList.Schematic_Dust.get(0L, new Object[0]), - aMatInfo.getDust(1), - 100, - 4)); - - for (boolean b : aResults) { - if (!b) { - return false; - } - } + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(4, aMatInfo.getTinyDust(9)), ItemList.Schematic_Dust.get(0)) + .itemOutputs(aMatInfo.getDust(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(packagerRecipes); return true; } private void addMacerationRecipe(Material aMatInfo) { try { Logger.MATERIALS("Adding Maceration recipe for " + aMatInfo.getLocalizedName() + " Ingot -> Dusts"); - final int chance = (aMatInfo.vTier * 10) / MathUtils.randInt(10, 20); - GT_ModHandler.addPulverisationRecipe(aMatInfo.getIngot(1), aMatInfo.getDust(1), null, chance); + int chance = (aMatInfo.vTier * 10) / MathUtils.randInt(10, 20); + chance = chance <= 0 ? 1000 : 100 * chance; // comes from RA1 -> RA2 conversion + + RA.stdBuilder() + .itemInputs(aMatInfo.getIngot(1)) + .itemOutputs(aMatInfo.getDust(1)) + .outputChances(chance) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); } catch (Throwable t) { t.printStackTrace(); } @@ -391,7 +426,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { if (aMatInfo.requiresBlastFurnace()) { aOutput = aMatInfo.getHotIngot(1); if (ItemUtils.checkForInvalidItems(aOutput)) { - if (addBlastFurnaceRecipe(aMatInfo, aDust, null, aOutput, null, aMatInfo.getMeltingPointK())) { + if (addBlastFurnaceRecipe(aMatInfo, aDust, aOutput, aMatInfo.getMeltingPointK())) { Logger .MATERIALS("Successfully added a blast furnace recipe for " + aMatInfo.getLocalizedName()); } else { @@ -403,7 +438,7 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { } else { aOutput = aMatInfo.getIngot(1); if (ItemUtils.checkForInvalidItems(aOutput)) { - if (CORE.RA.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput)) { + if (GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput, false)) { Logger.MATERIALS("Successfully added a furnace recipe for " + aMatInfo.getLocalizedName()); } else { Logger.MATERIALS("Failed to add a furnace recipe for " + aMatInfo.getLocalizedName()); @@ -415,34 +450,26 @@ public class RecipeGen_DustGeneration extends RecipeGen_Base { } } - private boolean addBlastFurnaceRecipe(Material aMatInfo, final ItemStack input1, final ItemStack input2, - final ItemStack output1, final ItemStack output2, final int tempRequired) { - - try { - int timeTaken = 125 * aMatInfo.vTier * 10; + private boolean addBlastFurnaceRecipe(Material aMatInfo, final ItemStack input1, final ItemStack output1, + final int tempRequired) { - if (aMatInfo.vTier <= 4) { - timeTaken = 25 * aMatInfo.vTier * 10; - } - int aSlot = aMatInfo.vTier; - if (aSlot < 2) { - aSlot = 2; - } - long aVoltage = aMatInfo.vVoltageMultiplier; - - return GT_Values.RA.addBlastRecipe( - input1, - input2, - GT_Values.NF, - GT_Values.NF, - output1, - output2, - timeTaken, - (int) aVoltage, - tempRequired); - } catch (Throwable t) { - t.printStackTrace(); - return false; + int timeTaken; + if (aMatInfo.vTier <= 4) { + timeTaken = 25 * aMatInfo.vTier * 10; + } else { + timeTaken = 125 * aMatInfo.vTier * 10; } + + long aVoltage = aMatInfo.vVoltageMultiplier; + + GT_Values.RA.stdBuilder() + .itemInputs(input1) + .itemOutputs(output1) + .duration(timeTaken) + .eut(aVoltage) + .metadata(COIL_HEAT, tempRequired) + .addTo(blastFurnaceRecipes); + return true; + } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java index a69a96b925..c559a77e23 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.extruderRecipes; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import java.util.HashSet; import java.util.Set; @@ -50,110 +53,107 @@ public class RecipeGen_Extruder extends RecipeGen_Base { if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getBlock(1))) { // Ingot Recipe - if (GT_Values.RA.addExtruderRecipe( - material.getBlock(1), - shape_Ingot, - material.getIngot(9), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Failed"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getBlock(1), shape_Ingot) + .itemOutputs(material.getIngot(9)) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(extruderRecipes); + + Logger.WARNING("Extruder Ingot Recipe: " + material.getLocalizedName() + " - Success"); // Block Recipe - if (GT_Values.RA.addExtruderRecipe( - material.getIngot(9), - shape_Block, - material.getBlock(1), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Failed"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getIngot(9), shape_Block) + .itemOutputs(material.getBlock(1)) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(extruderRecipes); + + Logger.WARNING("Extruder Block Recipe: " + material.getLocalizedName() + " - Success"); } // Plate Recipe if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getPlate(1))) - if (GT_Values.RA.addExtruderRecipe(itemIngot, shape_Plate, itemPlate, 10, material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Failed"); - } + && ItemUtils.checkForInvalidItems(material.getPlate(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(itemIngot, shape_Plate) + .itemOutputs(itemPlate) + .duration(10 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(extruderRecipes); + + Logger.WARNING("Extruder Plate Recipe: " + material.getLocalizedName() + " - Success"); + } // Ring Recipe - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRing(1))) + if (ItemUtils.checkForInvalidItems(material.getIngot(1)) + && ItemUtils.checkForInvalidItems(material.getRing(1))) { if (!material.isRadioactive) { - if (GT_Values.RA.addExtruderRecipe( - itemIngot, - shape_Ring, - material.getRing(4), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Failed"); - } + GT_Values.RA.stdBuilder() + .itemInputs(itemIngot, shape_Ring) + .itemOutputs(material.getRing(4)) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(extruderRecipes); + + Logger.WARNING("Extruder Ring Recipe: " + material.getLocalizedName() + " - Success"); } + } // Gear Recipe if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getGear(1))) if (!material.isRadioactive) { - if (GT_Values.RA.addExtruderRecipe( - material.getIngot(4), - shape_Gear, - itemGear, - (int) Math.max(material.getMass() * 5L, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Failed"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getIngot(4), shape_Gear) + .itemOutputs(itemGear) + .duration((int) Math.max(material.getMass() * 5L, 1)) + .eut(material.vVoltageMultiplier) + .addTo(extruderRecipes); + + Logger.WARNING("Extruder Gear Recipe: " + material.getLocalizedName() + " - Success"); } // Rod Recipe - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRod(1))) - if (GT_Values.RA.addExtruderRecipe( - itemIngot, - shape_Rod, - material.getRod(2), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } + if (ItemUtils.checkForInvalidItems(material.getIngot(1)) + && ItemUtils.checkForInvalidItems(material.getRod(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(itemIngot, shape_Rod) + .itemOutputs(material.getRod(2)) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(extruderRecipes); + + Logger.WARNING("Extruder Rod Recipe: " + material.getLocalizedName() + " - Success"); + } // Bolt Recipe if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1))) if (!material.isRadioactive) { - if (GT_Values.RA.addExtruderRecipe( - itemIngot, - shape_Bolt, - material.getBolt(8), - (int) Math.max(material.getMass() * 2L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Failed"); - } + GT_Values.RA.stdBuilder() + .itemInputs(itemIngot, shape_Bolt) + .itemOutputs(material.getBolt(8)) + .duration((int) Math.max(material.getMass() * 2L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(extruderRecipes); + + Logger.WARNING("Extruder Bolt Recipe: " + material.getLocalizedName() + " - Success"); } // Rotor Recipe // Shape_Extruder_Rotor if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getRotor(1))) - if (GT_Values.RA.addExtruderRecipe( - material.getIngot(5), - ItemList.Shape_Extruder_Rotor.get(0), - material.getRotor(1), - (int) Math.max(material.getMass() * 5L * 1, 1), - material.vVoltageMultiplier)) { - Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Failed"); - } + && ItemUtils.checkForInvalidItems(material.getRotor(1))) { + + GT_Values.RA.stdBuilder() + .itemInputs(material.getIngot(5), ItemList.Shape_Extruder_Rotor.get(0)) + .itemOutputs(material.getRotor(1)) + .duration((int) Math.max(material.getMass() * 5L * 1, 1)) + .eut(material.vVoltageMultiplier) + .addTo(extruderRecipes); + + Logger.WARNING("Extruder Rotor Recipe: " + material.getLocalizedName() + " - Success"); + } + } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java index dd0c1b505c..06bb7a48c2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java @@ -1,5 +1,9 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; + import java.util.HashSet; import java.util.Set; @@ -49,163 +53,156 @@ public class RecipeGen_Fluids extends RecipeGen_Base { // Making Shapes from fluid // Ingot - if (ItemUtils.checkForInvalidItems(material.getIngot(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ingot.get(0), // Item Shape - material.getFluidStack(144), // Fluid Input - material.getIngot(1), // output - 32, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getIngot(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ingot.get(0)) + .itemOutputs(material.getIngot(1)) + .fluidInputs(material.getFluidStack(144)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING("144l fluid molder for 1 ingot Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("144l fluid molder for 1 ingot Recipe: " + material.getLocalizedName() + " - Failed"); } // Plate - if (ItemUtils.checkForInvalidItems(material.getPlate(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Plate.get(0), // Item Shape - material.getFluidStack(144), // Fluid Input - material.getPlate(1), // output - 32, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getPlate(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Plate.get(0)) + .itemOutputs(material.getPlate(1)) + .fluidInputs(material.getFluidStack(144)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING("144l fluid molder for 1 plate Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("144l fluid molder for 1 plate Recipe: " + material.getLocalizedName() + " - Failed"); } // Nugget - if (ItemUtils.checkForInvalidItems(material.getNugget(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Nugget.get(0), // Item Shape - material.getFluidStack(16), // Fluid Input - material.getNugget(1), // output - 16, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getNugget(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Nugget.get(0)) + .itemOutputs(material.getNugget(1)) + .fluidInputs(material.getFluidStack(16)) + .duration(16 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING("16l fluid molder for 1 nugget Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("16l fluid molder for 1 nugget Recipe: " + material.getLocalizedName() + " - Failed"); } // Gears - if (ItemUtils.checkForInvalidItems(material.getGear(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Gear.get(0), // Item Shape - material.getFluidStack(576), // Fluid Input - material.getGear(1), // output - 128, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getGear(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Gear.get(0)) + .itemOutputs(material.getGear(1)) + .fluidInputs(material.getFluidStack(576)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING("576l fluid molder for 1 gear Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("576l fluid molder for 1 gear Recipe: " + material.getLocalizedName() + " - Failed"); + } // Blocks - if (ItemUtils.checkForInvalidItems(material.getBlock(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Block.get(0), // Item Shape - material.getFluidStack(144 * 9), // Fluid Input - material.getBlock(1), // output - 288, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getBlock(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Block.get(0)) + .itemOutputs(material.getBlock(1)) + .fluidInputs(material.getFluidStack(144 * 9)) + .duration(14 * SECONDS + 8 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING( (144 * 9) + "l fluid molder from 1 block Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 block Recipe: " + material.getLocalizedName() + " - Failed"); } - // GTNH - // Rod - if (ItemUtils.checkForInvalidItems(material.getRod(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Rod.get(0), // Item Shape - material.getFluidStack(72), // Fluid Input - material.getRod(1), // output - 150, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getRod(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Rod.get(0)) + .itemOutputs(material.getRod(1)) + .fluidInputs(material.getFluidStack(72)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING( (144 * 9) + "l fluid molder from 1 rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rod Recipe: " + material.getLocalizedName() + " - Failed"); } // Rod Long - if (ItemUtils.checkForInvalidItems(material.getLongRod(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Rod_Long.get(0), // Item - // Shape - material.getFluidStack(144), // Fluid Input - material.getLongRod(1), // output - 300, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getLongRod(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Rod_Long.get(0)) + .itemOutputs(material.getLongRod(1)) + .fluidInputs(material.getFluidStack(144)) + .duration(15 * SECONDS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING( (144 * 9) + "l fluid molder from 1 rod long Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rod long Recipe: " + material.getLocalizedName() + " - Failed"); } // Bolt - if (ItemUtils.checkForInvalidItems(material.getBolt(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Bolt.get(0), // Item Shape - material.getFluidStack(18), // Fluid Input - material.getBolt(1), // output - 50, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getBolt(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Bolt.get(0)) + .itemOutputs(material.getBolt(1)) + .fluidInputs(material.getFluidStack(18)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING( (144 * 9) + "l fluid molder from 1 bolt Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 bolt Recipe: " + material.getLocalizedName() + " - Failed"); } // Screw - if (ItemUtils.checkForInvalidItems(material.getScrew(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Screw.get(0), // Item Shape - material.getFluidStack(18), // Fluid Input - material.getScrew(1), // output - 50, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getScrew(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Screw.get(0)) + .itemOutputs(material.getScrew(1)) + .fluidInputs(material.getFluidStack(18)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING( (144 * 9) + "l fluid molder from 1 screw Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 screw Recipe: " + material.getLocalizedName() + " - Failed"); + } // Ring - if (ItemUtils.checkForInvalidItems(material.getRing(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ring.get(0), // Item Shape - material.getFluidStack(36), // Fluid Input - material.getRing(1), // output - 100, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getRing(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ring.get(0)) + .itemOutputs(material.getRing(1)) + .fluidInputs(material.getFluidStack(36)) + .duration(5 * SECONDS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING( (144 * 9) + "l fluid molder from 1 ring Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 ring Recipe: " + material.getLocalizedName() + " - Failed"); + } // Rotor - if (ItemUtils.checkForInvalidItems(material.getRotor(1))) if (GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Rotor.get(0), // Item Shape - material.getFluidStack(612), // Fluid Input - material.getRotor(1), // output - 100, // Duration - material.vVoltageMultiplier // Eu Tick - )) { + if (ItemUtils.checkForInvalidItems(material.getRotor(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Rotor.get(0)) + .itemOutputs(material.getRotor(1)) + .fluidInputs(material.getFluidStack(612)) + .duration(5 * SECONDS) + .eut(material.vVoltageMultiplier) + .addTo(fluidSolidifierRecipes); + Logger.WARNING( (144 * 9) + "l fluid molder from 1 rotor Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING( - (144 * 9) + "l fluid molder from 1 rotor Recipe: " + material.getLocalizedName() + " - Failed"); } } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java index a3ba819fb6..8d0ed2ff1d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java @@ -1,5 +1,15 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; +import static gregtech.api.recipe.RecipeMaps.hammerRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; + import java.util.HashSet; import java.util.Set; @@ -7,10 +17,8 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_ModHandler; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.nuclear.FLUORIDES; @@ -142,126 +150,122 @@ public class RecipeGen_Fluorite extends RecipeGen_Base { * Macerate */ // Macerate ore to Crushed - if (GT_Values.RA.addPulveriserRecipe( - material.getOre(1), - new ItemStack[] { material.getCrushed(2) }, - new int[] { 10000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getOre(1)) + .itemOutputs(material.getCrushed(2)) + .duration(20 * SECONDS) + .eut(tVoltageMultiplier / 2) + .addTo(maceratorRecipes); + + Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'"); + // Macerate raw ore to Crushed - if (GT_Values.RA.addPulveriserRecipe( - material.getRawOre(1), - new ItemStack[] { material.getCrushed(2) }, - new int[] { 10000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getRawOre(1)) + .itemOutputs(material.getCrushed(2)) + .duration(20 * SECONDS) + .eut(tVoltageMultiplier / 2) + .addTo(maceratorRecipes); + + Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'"); // Macerate Centrifuged to Pure Dust - if (GT_Values.RA.addPulveriserRecipe( - material.getCrushedCentrifuged(1), - new ItemStack[] { matDust, matDustA }, - new int[] { 10000, 1000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'"); - } - if (GT_ModHandler.addThermalCentrifugeRecipe( - material.getCrushedPurified(1), - (int) Math.min(5000L, Math.abs(material.getMass() * 20L)), - material.getCrushedCentrifuged(1), - tinyDustA, - dustStone)) { - Logger.MATERIALS( - "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: " - + material.getCrushedPurified(1) - .getDisplayName() - + " | Outputs: " - + material.getCrushedCentrifuged(1) - .getDisplayName() - + ", " - + tinyDustA.getDisplayName() - + ", " - + dustStone.getDisplayName() - + "."); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedCentrifuged(1)) + .itemOutputs(matDust, matDustA) + .outputChances(100_00, 10_00) + .duration(20 * SECONDS) + .eut(tVoltageMultiplier / 2) + .addTo(maceratorRecipes); + + Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'"); - GT_Values.RA.addChemicalBathRecipe( - FLUORIDES.FLUORITE.getCrushed(2), - FluidUtils.getFluidStack("hydrogen", 2000), - FLUORIDES.FLUORITE.getCrushedPurified(8), - FLUORIDES.FLUORITE.getDustImpure(4), - FLUORIDES.FLUORITE.getDustPurified(2), - new int[] { 10000, 5000, 1000 }, - 30 * 20, - 240); + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedPurified(1)) + .itemOutputs(material.getCrushedCentrifuged(1), tinyDustA, dustStone) + .duration(25 * SECONDS) + .eut(48) + .addTo(thermalCentrifugeRecipes); + + Logger.MATERIALS( + "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: " + + material.getCrushedPurified(1) + .getDisplayName() + + " | Outputs: " + + material.getCrushedCentrifuged(1) + .getDisplayName() + + ", " + + tinyDustA.getDisplayName() + + ", " + + dustStone.getDisplayName() + + "."); + + GT_Values.RA.stdBuilder() + .itemInputs(FLUORIDES.FLUORITE.getCrushed(2)) + .itemOutputs( + FLUORIDES.FLUORITE.getCrushedPurified(8), + FLUORIDES.FLUORITE.getDustImpure(4), + FLUORIDES.FLUORITE.getDustPurified(2)) + .outputChances(100_00, 50_00, 10_00) + .fluidInputs(FluidUtils.getFluidStack("hydrogen", 2000)) + .duration(30 * SECONDS) + .eut(240) + .addTo(chemicalBathRecipes); /** * Forge Hammer */ - if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), matDust, 10, tVoltageMultiplier / 4)) { - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'"); - } + + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedCentrifuged(1)) + .itemOutputs(matDust) + .duration(10 * TICKS) + .eut(tVoltageMultiplier / 4) + .addTo(hammerRecipes); + + Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'"); /** * Centrifuge */ // Purified Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustPurified(1), - null, - null, // In Fluid - null, // Out Fluid - matDust, - tinyDustA, - null, - null, - null, - null, - new int[] { 10000, 10000 }, // Chances - (int) Math.max(1L, material.getMass() * 8L), // Time - tVoltageMultiplier / 2)) { // Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getDustPurified(1)) + .itemOutputs(matDust, tinyDustA) + .eut(tVoltageMultiplier / 2) + .duration((int) Math.max(1L, material.getMass() * 8L)) + .addTo(centrifugeRecipes); + + Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust"); // Impure Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustImpure(1), - null, - null, // In Fluid - null, // Out Fluid - matDust, - tinyDustB, - null, - null, - null, - null, - new int[] { 10000, 10000 }, // Chances - (int) Math.max(1L, material.getMass() * 8L), // Time - tVoltageMultiplier / 2)) { // Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getDustImpure(1)) + .itemOutputs(matDust, tinyDustB) + .eut(tVoltageMultiplier / 2) + .duration((int) Math.max(1L, material.getMass() * 8L)) + .addTo(centrifugeRecipes); + + Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust"); // CaF2 + H2SO4 → CaSO4(solid) + 2 HF FluidStack aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 16000); if (aGregtechHydro == null) { aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid", 16000); } - - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(5), FLUORIDES.FLUORITE.getDust(37), }, - FluidUtils.getFluidStack("sulfuricacid", 8000), - aGregtechHydro, // Fluid output (slot 2) - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 15), + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(5), FLUORIDES.FLUORITE.getDust(37)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 15), ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 2), ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2) }, - new int[] { 10000, 1000, 1000, 3000, 2000 }, - 10 * 60 * 20, - 240); // EU + ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2)) + .outputChances(100_00, 10_00, 10_00, 30_00, 20_00) + .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 8000)) + .fluidOutputs(aGregtechHydro) + .eut(240) + .duration(10 * MINUTES) + .addTo(chemicalDehydratorRecipes); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java index 83bbe6a6d7..6b96b558f9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java @@ -1,17 +1,22 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; + +import java.util.Arrays; import java.util.HashSet; +import java.util.List; +import java.util.Objects; import java.util.Set; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.MaterialStack; @@ -143,6 +148,7 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base { + " as input."); } else { Logger.MATERIALS("[Centrifuge] Could not find valid input dust, exiting."); + return; } } @@ -156,32 +162,33 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base { } } - try { - if (addCentrifgeRecipe( - mainDust, - emptyCell, // input 2 - null, // Input fluid 1 - null, // Output fluid 1 - mInternalOutputs[0], - mInternalOutputs[1], - mInternalOutputs[2], - mInternalOutputs[3], - mInternalOutputs[4], - mInternalOutputs[5], - mChances, - 20 * 1 * (tVoltageMultiplier / 10), - tVoltageMultiplier)) { - Logger.MATERIALS( - "[Centrifuge] Generated Centrifuge recipe for " + material.getDust(1) - .getDisplayName()); - } else { - Logger.MATERIALS( - "[Centrifuge] Failed to generate Centrifuge recipe for " + material.getDust(1) - .getDisplayName()); - } - } catch (Throwable t) { - t.printStackTrace(); + // i don't understand the mess above, so let's just strip nulls and assume the chances are in correct + // order + List<ItemStack> internalOutputs = Arrays.asList(mInternalOutputs); + internalOutputs.removeIf(Objects::isNull); + int[] chances = new int[internalOutputs.size()]; + for (int i = 0; i < internalOutputs.size(); i++) { + chances[i] = mChances[i]; + } + + ItemStack[] inputs; + if (emptyCell == null) { + inputs = new ItemStack[] { mainDust }; + } else { + inputs = new ItemStack[] { mainDust, emptyCell }; } + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(internalOutputs.toArray(new ItemStack[0])) + .outputChances(chances) + .eut(tVoltageMultiplier) + .duration((tVoltageMultiplier / 10) * SECONDS) + .addTo(centrifugeRecipes); + + Logger.MATERIALS( + "[Centrifuge] Generated Centrifuge recipe for " + material.getDust(1) + .getDisplayName()); + } else if (componentMap.size() > 6 && componentMap.size() <= 9) { Logger.MATERIALS( "[Issue][Electrolyzer] " + material.getLocalizedName() @@ -258,6 +265,7 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base { + " as input."); } else { Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting."); + return; } } @@ -270,49 +278,34 @@ public class RecipeGen_MaterialProcessing extends RecipeGen_Base { "[Dehydrator] Set slot " + j + " to " + mInternalOutputs[j].getDisplayName() + "."); } } + // i don't understand the mess above, so let's just strip nulls and assume the chances are in correct + // order + List<ItemStack> internalOutputs = Arrays.asList(mInternalOutputs); + internalOutputs.removeIf(Objects::isNull); + int[] chances = new int[internalOutputs.size()]; + for (int i = 0; i < internalOutputs.size(); i++) { + chances[i] = mChances[i]; + } - try { - - if (CORE.RA.addDehydratorRecipe( - new ItemStack[] { mainDust, emptyCell }, - null, - null, - mInternalOutputs, - mChances, - 20 * 1 * (tVoltageMultiplier / 10), - tVoltageMultiplier)) { - Logger.MATERIALS( - "[Dehydrator] Generated Dehydrator recipe for " + material.getDust(1) - .getDisplayName()); - } else { - Logger.MATERIALS( - "[Dehydrator] Failed to generate Dehydrator recipe for " + material.getDust(1) - .getDisplayName()); - } - } catch (Throwable t) { - t.printStackTrace(); + ItemStack[] inputs; + if (emptyCell == null) { + inputs = new ItemStack[] { mainDust }; + } else { + inputs = new ItemStack[] { mainDust, emptyCell }; } + + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(internalOutputs.toArray(new ItemStack[0])) + .outputChances(chances) + .eut(tVoltageMultiplier) + .duration(20 * (tVoltageMultiplier / 10)) + .addTo(chemicalDehydratorRecipes); + + Logger.MATERIALS( + "[Dehydrator] Generated Dehydrator recipe for " + material.getDust(1) + .getDisplayName()); } } } - - @Deprecated - public static boolean addCentrifgeRecipe(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 GT_Values.RA.addCentrifugeRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - aChances, - aDuration, - aEUt); - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java index f11b97cbda..ce17a8724c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MetalRecipe.java @@ -1,13 +1,18 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.cutterRecipes; +import static gregtech.api.recipe.RecipeMaps.hammerRecipes; +import static gregtech.api.recipe.RecipeMaps.latheRecipes; +import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + import java.util.HashSet; import java.util.Set; import gregtech.api.enums.GT_Values; -import gregtech.api.util.GT_ModHandler; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -34,79 +39,83 @@ public class RecipeGen_MetalRecipe extends RecipeGen_Base { Logger.WARNING("Generating Metal recipes for " + material.getLocalizedName()); if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getBlock(1))) - if (GT_ModHandler.addCompressionRecipe(material.getIngot(9), material.getBlock(1))) { - Logger.WARNING("Compress Block Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Compress Block Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(material.getIngot(1)) && ItemUtils.checkForInvalidItems(material.getRod(1))) - if (GT_Values.RA.addLatheRecipe( - material.getIngot(1), - material.getRod(1), - material.getSmallDust(2), - (int) Math.max(material.getMass() / 8L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Lathe Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Lathe Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1))) - if (GT_Values.RA.addCutterRecipe( - material.getRod(1), - material.getBolt(4), - null, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Cut Bolt Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Cut Bolt Recipe: " + material.getLocalizedName() + " - Failed"); - } + && ItemUtils.checkForInvalidItems(material.getBlock(1))) { + + GT_Values.RA.stdBuilder() + .itemInputs(material.getIngot(9)) + .itemOutputs(material.getBlock(1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + Logger.WARNING("Compress Block Recipe: " + material.getLocalizedName() + " - Success"); + + } + + if (ItemUtils.checkForInvalidItems(material.getIngot(1)) + && ItemUtils.checkForInvalidItems(material.getRod(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(material.getIngot(1)) + .itemOutputs(material.getRod(1), material.getSmallDust(2)) + .duration(Math.max(material.getMass() / 8L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(latheRecipes); + + Logger.WARNING("Lathe Rod Recipe: " + material.getLocalizedName() + " - Success"); + } + + if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getBolt(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(material.getRod(1)) + .itemOutputs(material.getBolt(4)) + .duration(Math.max(material.getMass() * 2L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(cutterRecipes); + + Logger.WARNING("Cut Bolt Recipe: " + material.getLocalizedName() + " - Success"); + } if (ItemUtils.checkForInvalidItems(material.getIngot(1)) - && ItemUtils.checkForInvalidItems(material.getHotIngot(1))) - if (CORE.RA.addVacuumFreezerRecipe( - material.getHotIngot(1), - material.getIngot(1), - (int) Math.max(material.getMass() * 3L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Cool Hot Ingot Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Cool Hot Ingot Recipe: " + material.getLocalizedName() + " - Failed"); - } + && ItemUtils.checkForInvalidItems(material.getHotIngot(1))) { + + GT_Values.RA.stdBuilder() + .itemInputs(material.getHotIngot(1)) + .itemOutputs(material.getIngot(1)) + .duration((int) Math.max(material.getMass() * 3L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(vacuumFreezerRecipes); + Logger.WARNING("Cool Hot Ingot Recipe: " + material.getLocalizedName() + " - Success"); + } if (ItemUtils.checkForInvalidItems(material.getRod(1)) && ItemUtils.checkForInvalidItems(material.getLongRod(1))) { - if (GT_Values.RA.addForgeHammerRecipe( - material.getRod(2), - material.getLongRod(1), - (int) Math.max(material.getMass(), 1L), - 16)) { - Logger.WARNING("Hammer Long Rod Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Hammer Long Rod Recipe: " + material.getLocalizedName() + " - Failed"); - } - - GT_Values.RA.addCutterRecipe( - material.getLongRod(1), - material.getRod(2), - null, - (int) Math.max(material.getMass(), 1L), - 4); + GT_Values.RA.stdBuilder() + .itemInputs(material.getRod(2)) + .itemOutputs(material.getLongRod(1)) + .duration((int) Math.max(material.getMass(), 1L)) + .eut(16) + .addTo(hammerRecipes); + + Logger.WARNING("Hammer Long Rod Recipe: " + material.getLocalizedName() + " - Success"); + + GT_Values.RA.stdBuilder() + .itemInputs(material.getLongRod(1)) + .itemOutputs(material.getRod(2)) + .duration(Math.max(material.getMass(), 1L)) + .eut(4) + .addTo(cutterRecipes); + } - if (ItemUtils.checkForInvalidItems(material.getBolt(1)) && ItemUtils.checkForInvalidItems(material.getScrew(1))) - if (GT_Values.RA.addLatheRecipe( - material.getBolt(1), - material.getScrew(1), - null, - (int) Math.max(material.getMass() / 8L, 1L), - 4)) { - Logger.WARNING("Lathe Screw Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Lathe Screw Recipe: " + material.getLocalizedName() + " - Failed"); - } + if (ItemUtils.checkForInvalidItems(material.getBolt(1)) + && ItemUtils.checkForInvalidItems(material.getScrew(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(material.getBolt(1)) + .itemOutputs(material.getScrew(1)) + .duration(Math.max(material.getMass() / 8L, 1L)) + .eut(4) + .addTo(latheRecipes); + + Logger.WARNING("Lathe Screw Recipe: " + material.getLocalizedName() + " - Success"); + } } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java index 32d6a1066b..eb55f2989c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java @@ -1,11 +1,22 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.hammerRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; + import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; +import java.util.List; +import java.util.Objects; import java.util.Set; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; @@ -14,7 +25,6 @@ import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.material.MaterialStack; @@ -195,50 +205,57 @@ public class RecipeGen_Ore extends RecipeGen_Base { * Macerate */ // Macerate ore to Crushed - if (GT_Values.RA.addPulveriserRecipe( - material.getOre(1), - new ItemStack[] { material.getCrushed(2) }, - new int[] { 10000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getOre(1)) + .itemOutputs(material.getCrushed(2)) + .duration(20 * SECONDS) + .eut(tVoltageMultiplier / 2) + .addTo(maceratorRecipes); + + Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate ore to Crushed ore'"); + // Macerate raw ore to Crushed - if (GT_Values.RA.addPulveriserRecipe( - material.getRawOre(1), - new ItemStack[] { material.getCrushed(2) }, - new int[] { 10000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getRawOre(1)) + .itemOutputs(material.getCrushed(2)) + .duration(20 * SECONDS) + .eut(tVoltageMultiplier / 2) + .addTo(maceratorRecipes); + + Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate raw ore to Crushed ore'"); + // Macerate Crushed to Impure Dust - if (GT_Values.RA.addPulveriserRecipe( - material.getCrushed(1), - new ItemStack[] { material.getDustImpure(1), matDustA }, - new int[] { 10000, 1000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Crushed ore to Impure Dust'"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushed(1)) + .itemOutputs(material.getDustImpure(1), matDustA) + .outputChances(100_00, 10_00) + .duration(20 * SECONDS) + .eut(tVoltageMultiplier / 2) + .addTo(maceratorRecipes); + + Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Crushed ore to Impure Dust'"); + // Macerate Washed to Purified Dust - if (GT_Values.RA.addPulveriserRecipe( - material.getCrushedPurified(1), - new ItemStack[] { material.getDustPurified(1), matDustA }, - new int[] { 10000, 1000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Washed ore to Purified Dust'"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedPurified(1)) + .itemOutputs(material.getDustPurified(1), matDustA) + .outputChances(100_00, 10_00) + .duration(20 * SECONDS) + .eut(tVoltageMultiplier / 2) + .addTo(maceratorRecipes); + + Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Washed ore to Purified Dust'"); + // Macerate Centrifuged to Pure Dust - if (GT_Values.RA.addPulveriserRecipe( - material.getCrushedCentrifuged(1), - new ItemStack[] { matDust, matDustA }, - new int[] { 10000, 1000 }, - 20 * 20, - tVoltageMultiplier / 2)) { - Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedCentrifuged(1)) + .itemOutputs(matDust, matDustA) + .outputChances(100_00, 10_00) + .duration(20 * SECONDS) + .eut(tVoltageMultiplier / 2) + .addTo(maceratorRecipes); + + Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'"); /** * Wash @@ -280,14 +297,16 @@ public class RecipeGen_Ore extends RecipeGen_Base { try { // .08 compat - if (GT_ModHandler.addThermalCentrifugeRecipe( - material.getCrushed(1), - new int[] { 10000, 1111, 10000 }, - (int) Math.min(5000L, Math.abs(material.getMass() * 20L)), - material.getCrushedCentrifuged(1), - matDustB, - dustStone)) { - Logger.MATERIALS( + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushed(1)) + .itemOutputs(material.getCrushedCentrifuged(1), matDustB, dustStone) + .outputChances(100_00, 11_11, 100_00) + .duration(25 * SECONDS) + .eut(48) + .addTo(thermalCentrifugeRecipes); + + Logger + .MATERIALS( "[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: " + material.getCrushed(1) .getDisplayName() @@ -299,86 +318,85 @@ public class RecipeGen_Ore extends RecipeGen_Base { + ", " + dustStone.getDisplayName() + "."); - } + } catch (Throwable t) {} try { - if (GT_ModHandler.addThermalCentrifugeRecipe( - material.getCrushedPurified(1), - new int[] { 10000, 1111, 10000 }, - (int) Math.min(5000L, Math.abs(material.getMass() * 20L)), - material.getCrushedCentrifuged(1), - matDustA, - dustStone)) { - Logger.MATERIALS( - "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: " - + material.getCrushedPurified(1) - .getDisplayName() - + " | Outputs: " - + material.getCrushedCentrifuged(1) - .getDisplayName() - + ", " - + matDustA.getDisplayName() - + ", " - + dustStone.getDisplayName() - + "."); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedPurified(1)) + .itemOutputs(material.getCrushedCentrifuged(1), matDustA, dustStone) + .outputChances(100_00, 11_11, 100_00) + .duration(25 * SECONDS) + .eut(48) + .addTo(thermalCentrifugeRecipes); + + Logger.MATERIALS( + "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: " + + material.getCrushedPurified(1) + .getDisplayName() + + " | Outputs: " + + material.getCrushedCentrifuged(1) + .getDisplayName() + + ", " + + matDustA.getDisplayName() + + ", " + + dustStone.getDisplayName() + + "."); + } catch (Throwable t) {} /** * Forge Hammer */ - if (GT_Values.RA.addForgeHammerRecipe(material.getCrushedCentrifuged(1), matDust, 10, tVoltageMultiplier / 4)) { - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'"); - } - if (GT_Values.RA.addForgeHammerRecipe( - material.getCrushedPurified(1), - material.getDustPurified(1), - 10, - tVoltageMultiplier / 4)) { - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Purified to Purified Dust'"); - } - if (GT_Values.RA.addForgeHammerRecipe(material.getOre(1), material.getCrushed(1), 10, tVoltageMultiplier / 4)) { - Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedCentrifuged(1)) + .itemOutputs(matDust) + .duration(10 * TICKS) + .eut(tVoltageMultiplier / 4) + .addTo(hammerRecipes); + + Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Centrifuged to Pure Dust'"); + + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedPurified(1)) + .itemOutputs(material.getDustPurified(1)) + .duration(10 * TICKS) + .eut(tVoltageMultiplier / 4) + .addTo(hammerRecipes); + Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Crushed Purified to Purified Dust'"); + + GT_Values.RA.stdBuilder() + .itemInputs(material.getOre(1)) + .itemOutputs(material.getCrushed(1)) + .duration(10 * TICKS) + .eut(tVoltageMultiplier / 4) + .addTo(hammerRecipes); + + Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'"); /** * Centrifuge */ // Purified Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustPurified(1), - null, - null, // In Fluid - null, // Out Fluid - matDust, - matDustA, - null, - null, - null, - null, - new int[] { 10000, 1111 }, // Chances - (int) Math.max(1L, material.getMass() * 8L), // Time - tVoltageMultiplier / 2)) { // Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getDustPurified(1)) + .itemOutputs(matDust, matDustA) + .outputChances(100_00, 11_11) + .eut(tVoltageMultiplier / 2) + .duration((int) Math.max(1L, material.getMass() * 8L)) + .addTo(centrifugeRecipes); + + Logger.MATERIALS("[Centrifuge] Added Recipe: Purified Dust to Clean Dust"); // Impure Dust to Clean - if (GT_Values.RA.addCentrifugeRecipe( - material.getDustImpure(1), - null, - null, // In Fluid - null, // Out Fluid - matDust, - matDustB, - null, - null, - null, - null, - new int[] { 10000, 1111 }, // Chances - (int) Math.max(1L, material.getMass() * 8L), // Time - tVoltageMultiplier / 2)) { // Eu - Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust"); - } + GT_Values.RA.stdBuilder() + .itemInputs(material.getDustImpure(1)) + .itemOutputs(matDust, matDustB) + .outputChances(100_00, 11_11) + .eut(tVoltageMultiplier / 2) + .duration((int) Math.max(1L, material.getMass() * 8L)) + .addTo(centrifugeRecipes); + + Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust"); /** * Electrolyzer @@ -458,6 +476,7 @@ public class RecipeGen_Ore extends RecipeGen_Base { + " as input."); } else { Logger.MATERIALS("[Electrolyzer] Could not find valid input dust, exiting."); + return; } } @@ -471,30 +490,30 @@ public class RecipeGen_Ore extends RecipeGen_Base { } } - try { - if (addElectrolyzerRecipe( - mainDust, - emptyCell, // input 2 - null, // Input fluid 1 - null, // Output fluid 1 - mInternalOutputs[0], - mInternalOutputs[1], - mInternalOutputs[2], - mInternalOutputs[3], - mInternalOutputs[4], - mInternalOutputs[5], - mChances, - (int) Math.max(material.getMass() * 3L * 1, 1), - tVoltageMultiplier)) { - Logger - .MATERIALS("[Electrolyzer] Generated Electrolyzer recipe for " + matDust.getDisplayName()); - } else { - Logger.MATERIALS( - "[Electrolyzer] Failed to generate Electrolyzer recipe for " + matDust.getDisplayName()); - } - } catch (Throwable t) { - t.printStackTrace(); + // i don't understand the mess above, so let's just strip nulls and assume the chances are in correct + // order + List<ItemStack> internalOutputs = Arrays.asList(mInternalOutputs); + internalOutputs.removeIf(Objects::isNull); + int[] chances = new int[internalOutputs.size()]; + for (int i = 0; i < internalOutputs.size(); i++) { + chances[i] = mChances[i]; + } + ItemStack[] inputs; + if (emptyCell == null) { + inputs = new ItemStack[] { mainDust }; + } else { + inputs = new ItemStack[] { mainDust, emptyCell }; } + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(internalOutputs.toArray(new ItemStack[0])) + .outputChances(chances) + .duration(Math.max(material.getMass() * 3L * 1, 1)) + .eut(tVoltageMultiplier) + .addTo(electrolyzerRecipes); + + Logger.MATERIALS("[Electrolyzer] Generated Electrolyzer recipe for " + matDust.getDisplayName()); + } else if (componentMap.size() > 6 && componentMap.size() <= 9) { Logger.MATERIALS( "[Issue][Electrolyzer] " + material.getLocalizedName() @@ -573,6 +592,7 @@ public class RecipeGen_Ore extends RecipeGen_Base { + " as input."); } else { Logger.MATERIALS("[Dehydrator] Could not find valid input dust, exiting."); + return; } } @@ -586,33 +606,42 @@ public class RecipeGen_Ore extends RecipeGen_Base { } } - try { - if (CORE.RA.addDehydratorRecipe( - new ItemStack[] { mainDust, emptyCell }, - null, - null, - mInternalOutputs, - mChances, - (int) Math.max(material.getMass() * 4L * 1, 1), - tVoltageMultiplier)) { - Logger.MATERIALS("[Dehydrator] Generated Dehydrator recipe for " + matDust.getDisplayName()); - Logger.MATERIALS( - "Inputs: " + mainDust.getDisplayName() - + " x" - + mainDust.stackSize - + ", " - + (emptyCell == null ? "No Cells" - : "" + emptyCell.getDisplayName() + " x" + emptyCell.stackSize)); - Logger.MATERIALS("Outputs " + ItemUtils.getArrayStackNames(mInternalOutputs)); - Logger.MATERIALS("Time: " + ((int) Math.max(material.getMass() * 4L * 1, 1))); - Logger.MATERIALS("EU: " + tVoltageMultiplier); - } else { - Logger.MATERIALS( - "[Dehydrator] Failed to generate Dehydrator recipe for " + matDust.getDisplayName()); - } - } catch (Throwable t) { - t.printStackTrace(); + // i don't understand the mess above, so let's just strip nulls and assume the chances are in correct + // order + List<ItemStack> internalOutputs = Arrays.asList(mInternalOutputs); + internalOutputs.removeIf(Objects::isNull); + int[] chances = new int[internalOutputs.size()]; + for (int i = 0; i < internalOutputs.size(); i++) { + chances[i] = mChances[i]; } + + ItemStack[] inputs; + if (emptyCell == null) { + inputs = new ItemStack[] { mainDust }; + } else { + inputs = new ItemStack[] { mainDust, emptyCell }; + } + + GT_Values.RA.stdBuilder() + .itemInputs(inputs) + .itemOutputs(internalOutputs.toArray(new ItemStack[0])) + .outputChances(chances) + .eut(tVoltageMultiplier) + .duration((int) Math.max(material.getMass() * 4L * 1, 1)) + .addTo(chemicalDehydratorRecipes); + + Logger.MATERIALS("[Dehydrator] Generated Dehydrator recipe for " + matDust.getDisplayName()); + Logger.MATERIALS( + "Inputs: " + mainDust.getDisplayName() + + " x" + + mainDust.stackSize + + ", " + + (emptyCell == null ? "No Cells" + : "" + emptyCell.getDisplayName() + " x" + emptyCell.stackSize)); + Logger.MATERIALS("Outputs " + ItemUtils.getArrayStackNames(mInternalOutputs)); + Logger.MATERIALS("Time: " + ((int) Math.max(material.getMass() * 4L * 1, 1))); + Logger.MATERIALS("EU: " + tVoltageMultiplier); + } } @@ -699,39 +728,6 @@ public class RecipeGen_Ore extends RecipeGen_Base { // } } - public static 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))) { - Logger.MATERIALS("[Electrolyzer] Either both inputs or outputs are null."); - return false; - } - if ((aInput1 != null) && (aDuration <= 0)) { - Logger.MATERIALS("[Electrolyzer] Fail 1."); - return false; - } - if ((aFluidInput != null) && (aDuration <= 0)) { - Logger.MATERIALS("[Electrolyzer] Fail 2."); - return false; - } - GT_Values.RA.addElectrolyzerRecipe( - aInput1, - aInput2, - aFluidInput, - aFluidOutput, - aOutput1, - aOutput2, - aOutput3, - aOutput4, - aOutput5, - aOutput6, - aChances, - aDuration, - aEUt); - Logger.MATERIALS("[Electrolyzer] Recipe added."); - return true; - } - public static ItemStack getTinyDust(Material m) { ItemStack x = m.getTinyDust(1); if (x == null) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java index 01d6f9bb02..2ece69065f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plasma.java @@ -1,11 +1,17 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; +import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; + import java.util.HashSet; import java.util.Set; import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_RecipeConstants; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.core.material.Material; @@ -42,20 +48,42 @@ public class RecipeGen_Plasma extends RecipeGen_Base { if (ItemUtils.checkForInvalidItems(new ItemStack[] { aPlasmaCell, aContainerItem })) { switch (material.getUnlocalizedName()) { case "Runite": - GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, aPlasmaCell), aContainerItem, 350_000, 4); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aPlasmaCell)) + .itemOutputs(aContainerItem) + .metadata(FUEL_VALUE, 350_000) + .metadata(FUEL_TYPE, GT_RecipeConstants.FuelType.PlasmaTurbine.ordinal()) + .duration(0) + .eut(0) + .addTo(GT_RecipeConstants.Fuel); case "CelestialTungsten": - GT_Values.RA.addFuel(GT_Utility.copyAmount(1L, aPlasmaCell), aContainerItem, 720_000, 4); - default: - GT_Values.RA.addFuel( - GT_Utility.copyAmount(1L, aPlasmaCell), - aContainerItem, - (int) Math.max(1024L, 1024L * material.getMass()), - 4); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aPlasmaCell)) + .itemOutputs(aContainerItem) + .metadata(FUEL_VALUE, 720_000) + .metadata(FUEL_TYPE, GT_RecipeConstants.FuelType.PlasmaTurbine.ordinal()) + .duration(0) + .eut(0) + .addTo(GT_RecipeConstants.Fuel); + default: + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1L, aPlasmaCell)) + .itemOutputs(aContainerItem) + .metadata(FUEL_VALUE, (int) Math.max(1024L, 1024L * material.getMass())) + .metadata(FUEL_TYPE, GT_RecipeConstants.FuelType.PlasmaTurbine.ordinal()) + .duration(0) + .eut(0) + .addTo(GT_RecipeConstants.Fuel); } } if (ItemUtils.checkForInvalidItems(new ItemStack[] { aCell, aPlasmaCell })) { - GT_Values.RA.addVacuumFreezerRecipe(aPlasmaCell, aCell, (int) Math.max(material.getMass() * 2L, 1L)); + GT_Values.RA.stdBuilder() + .itemInputs(aPlasmaCell) + .itemOutputs(aCell) + .duration(Math.max(material.getMass() * 2L, 1L)) + .eut(TierEU.RECIPE_MV) + .addTo(vacuumFreezerRecipes); } } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java index 7eebc16af7..f126e80834 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java @@ -1,5 +1,10 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; +import static gregtech.api.recipe.RecipeMaps.benderRecipes; +import static gregtech.api.recipe.RecipeMaps.cutterRecipes; +import static gregtech.api.recipe.RecipeMaps.hammerRecipes; + import java.util.HashSet; import java.util.Set; @@ -9,12 +14,11 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.recipe.RecipeMaps; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; public class RecipeGen_Plates extends RecipeGen_Base { @@ -37,7 +41,6 @@ public class RecipeGen_Plates extends RecipeGen_Base { private void generateRecipes(final Material material) { - final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15; final ItemStack ingotStackOne = material.getIngot(1); final ItemStack ingotStackTwo = material.getIngot(2); final ItemStack ingotStackThree = material.getIngot(3); @@ -54,172 +57,124 @@ public class RecipeGen_Plates extends RecipeGen_Base { Logger.WARNING("Generating Plate recipes for " + material.getLocalizedName()); // Forge Hammer - if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single)) - if (addForgeHammerRecipe( - ingotStackThree, - plate_SingleTwo, - (int) Math.max(material.getMass(), 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Failed"); - } + if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single)) { + GT_Values.RA.stdBuilder() + .itemInputs(ingotStackThree) + .itemOutputs(plate_SingleTwo) + .duration(Math.max(material.getMass(), 1L)) + .eut(material.vVoltageMultiplier) + .addTo(hammerRecipes); + + Logger.WARNING("Forge Hammer Recipe: " + material.getLocalizedName() + " - Success"); + } + // Bender - if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(plate_Single)) - if (addBenderRecipe( - ingotStackOne, - plate_Single, - (int) Math.max(material.getMass() * 1L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(foil_SingleFour)) - if (addBenderRecipe( - ingotStackOne, - CI.getNumberedCircuit(10), - foil_SingleFour, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } + if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(plate_Single)) { + GT_Values.RA.stdBuilder() + .itemInputs(ingotStackOne, GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(plate_Single) + .duration(Math.max(material.getMass() * 1L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(benderRecipes); + + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); + } + + if (ItemUtils.checkForInvalidItems(ingotStackOne) && ItemUtils.checkForInvalidItems(foil_SingleFour)) { + GT_Values.RA.stdBuilder() + .itemInputs(ingotStackOne, GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(foil_SingleFour) + .duration(Math.max(material.getMass() * 2L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(benderRecipes); + + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); + } + // Alloy Smelter - if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single)) - if (GT_Values.RA.addAlloySmelterRecipe( - ingotStackTwo, - shape_Mold, - plate_Single, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Failed"); - } + if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Single)) { + GT_Values.RA.stdBuilder() + .itemInputs(ingotStackTwo, shape_Mold) + .itemOutputs(plate_Single) + .duration(Math.max(material.getMass() * 2L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(alloySmelterRecipes); + + Logger.WARNING("Alloy Smelter Recipe: " + material.getLocalizedName() + " - Success"); + } // Cutting Machine - if (ItemUtils.checkForInvalidItems(block) && ItemUtils.checkForInvalidItems(plate_Single)) - if (GT_Values.RA.addCutterRecipe( - block, - plate_SingleNine, - null, - (int) Math.max(material.getMass() * 10L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Failed"); - } + if (ItemUtils.checkForInvalidItems(block) && ItemUtils.checkForInvalidItems(plate_Single)) { + GT_Values.RA.stdBuilder() + .itemInputs(block) + .itemOutputs(plate_SingleNine) + .duration(Math.max(material.getMass() * 10L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(cutterRecipes); + + Logger.WARNING("Cutting Machine Recipe: " + material.getLocalizedName() + " - Success"); + } // Making Double Plates - if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Double)) - if (addBenderRecipe( - ingotStackTwo, - plate_Double, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(plate_SingleTwo) && ItemUtils.checkForInvalidItems(plate_Double)) - if (addBenderRecipe( - plate_SingleTwo, - plate_Double, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } + if (ItemUtils.checkForInvalidItems(ingotStackTwo) && ItemUtils.checkForInvalidItems(plate_Double)) { + GT_Values.RA.stdBuilder() + .itemInputs(ingotStackTwo, GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(plate_Double) + .duration(Math.max(material.getMass() * 2L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(benderRecipes); + + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); + } + + if (ItemUtils.checkForInvalidItems(plate_SingleTwo) && ItemUtils.checkForInvalidItems(plate_Double)) { + GT_Values.RA.stdBuilder() + .itemInputs(plate_SingleTwo, GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(plate_Double) + .duration(Math.max(material.getMass() * 2L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(benderRecipes); + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); + } // Bender - if (ItemUtils.checkForInvalidItems(material.getPlate(1)) && ItemUtils.checkForInvalidItems(material.getFoil(1))) - if (addBenderRecipe( - material.getPlate(1), - material.getFoil(4), - (int) Math.max(material.getMass(), 1L), - material.vVoltageMultiplier)) { - GregTech_API.registerCover( - material.getFoil(1), - new GT_RenderedTexture(material.getTextureSet().mTextures[70], material.getRGBA(), false), - null); - Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Failed"); - } + if (ItemUtils.checkForInvalidItems(material.getPlate(1)) + && ItemUtils.checkForInvalidItems(material.getFoil(1))) { + GT_Values.RA.stdBuilder() + .itemInputs(material.getPlate(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(material.getFoil(4)) + .duration(Math.max(material.getMass(), 1L)) + .eut(material.vVoltageMultiplier) + .addTo(benderRecipes); + + GregTech_API.registerCover( + material.getFoil(1), + new GT_RenderedTexture(material.getTextureSet().mTextures[70], material.getRGBA(), false), + null); + Logger.WARNING("Bender Foil Recipe: " + material.getLocalizedName() + " - Success"); + } // Making Dense Plates - if (ItemUtils.checkForInvalidItems(ingotStackNine) && ItemUtils.checkForInvalidItems(plate_Dense)) - if (addBenderRecipe( - ingotStackNine, - plate_Dense, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - - if (ItemUtils.checkForInvalidItems(plate_SingleNine) && ItemUtils.checkForInvalidItems(plate_Dense)) - if (addBenderRecipe( - plate_SingleNine, - plate_Dense, - (int) Math.max(material.getMass() * 2L, 1L), - material.vVoltageMultiplier)) { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); - } else { - Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Failed"); - } - } - - public static boolean addBenderRecipe(final ItemStack aInput1, final ItemStack aOutput1, int aDuration, - final int aEUt) { - return GT_Values.RA.addBenderRecipe(aInput1, aOutput1, aDuration, aEUt); - } + if (ItemUtils.checkForInvalidItems(ingotStackNine) && ItemUtils.checkForInvalidItems(plate_Dense)) { + GT_Values.RA.stdBuilder() + .itemInputs(ingotStackNine, GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(plate_Dense) + .duration(Math.max(material.getMass() * 2L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(benderRecipes); + + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); + } - public static boolean addBenderRecipe(final ItemStack aInput1, final ItemStack aCircuit, final ItemStack aOutput1, - int aDuration, final int aEUt) { - return GT_Values.RA.addBenderRecipe(aInput1, aCircuit, aOutput1, aDuration, aEUt); - } + if (ItemUtils.checkForInvalidItems(plate_SingleNine) && ItemUtils.checkForInvalidItems(plate_Dense)) { + GT_Values.RA.stdBuilder() + .itemInputs(plate_SingleNine, GT_Utility.getIntegratedCircuit(9)) + .itemOutputs(plate_Dense) + .duration(Math.max(material.getMass() * 2L, 1L)) + .eut(material.vVoltageMultiplier) + .addTo(benderRecipes); - public static boolean addExtruderRecipe(final ItemStack aInput, final ItemStack aShape, final ItemStack aOutput, - int aDuration, final int aEUt) { - if ((aInput == null) || (aShape == null) || (aOutput == null)) { - return false; - } - if (aDuration <= 0) { - return false; + Logger.WARNING("Bender Recipe: " + material.getLocalizedName() + " - Success"); } - RecipeMaps.extruderRecipes.addRecipe( - true, - new ItemStack[] { aInput, aShape }, - new ItemStack[] { aOutput }, - null, - null, - null, - aDuration, - aEUt, - 0); - return true; - } - public static boolean addForgeHammerRecipe(final ItemStack aInput1, final ItemStack aOutput1, final int aDuration, - final 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; } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java index 044ce58c62..d780e4dcbe 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Recycling.java @@ -1,26 +1,29 @@ package gtPlusPlus.xmod.gregtech.loaders; -import static gregtech.api.enums.GT_Values.L; import static gregtech.api.enums.GT_Values.M; +import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import java.util.ArrayList; import java.util.Map; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; import org.apache.commons.lang3.reflect.FieldUtils; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.data.Pair; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.state.MaterialState; import gtPlusPlus.core.util.Utils; @@ -83,114 +86,86 @@ public class RecipeGen_Recycling implements Runnable { } } - if (mValidPairs.length > 0) { - int validCounter = 0; - Pair<OrePrefixes, ItemStack>[] temp = mValidPairs; - for (Pair<OrePrefixes, ItemStack> temp2 : mValidPairs) { - if (temp2 != null) { - Logger.WARNING( - "Valid: " + temp2.getValue() - .getDisplayName()); - validCounter++; - } - } - Pair<OrePrefixes, ItemStack> temp3[] = new Pair[validCounter]; - int temp4 = 0; - for (Pair<OrePrefixes, ItemStack> r : mValidPairs) { - if (r != null) { - temp3[temp4++] = r; - } - } - if (temp3.length > 0) { - mValidPairs = temp3.clone(); + int validCounter = 0; + Pair<OrePrefixes, ItemStack>[] temp = mValidPairs; + for (Pair<OrePrefixes, ItemStack> temp2 : mValidPairs) { + if (temp2 == null) { + continue; } + Logger.WARNING( + "Valid: " + temp2.getValue() + .getDisplayName()); + validCounter++; } + Pair<OrePrefixes, ItemStack> temp3[] = new Pair[validCounter]; + int temp4 = 0; + for (Pair<OrePrefixes, ItemStack> r : mValidPairs) { + if (r == null) { + continue; + } - if (mValidPrefixesAsString.length >= 1) { - for (final Pair<OrePrefixes, ItemStack> validPrefix : mValidPairs) { - try { + temp3[temp4++] = r; + } + if (temp3.length > 0) { + mValidPairs = temp3.clone(); + } - if (material == null || validPrefix == null - || (material.getState() != MaterialState.SOLID && material.getState() != MaterialState.LIQUID) - || validPrefix.getKey() == OrePrefixes.ingotHot) { - continue; - } + for (final Pair<OrePrefixes, ItemStack> validPrefix : mValidPairs) { + if (material == null || validPrefix == null + || (material.getState() != MaterialState.SOLID && material.getState() != MaterialState.LIQUID) + || validPrefix.getKey() == OrePrefixes.ingotHot) { + continue; + } - final ItemStack tempStack = validPrefix.getValue(); - final ItemStack mDust = getDust(material, validPrefix.getKey()); - final Pair<OrePrefixes, ItemStack> mData = getDustData(material, validPrefix.getKey()); - int mFluidAmount = (int) GT_Utility - .translateMaterialToFluidAmount(validPrefix.getKey().mMaterialAmount, true); - - // Maceration - if (ItemUtils.checkForInvalidItems(tempStack)) { - // mValidItems[mSlotIndex++] = tempStack; - if ((mDust != null) && GT_ModHandler.addPulverisationRecipe(tempStack, mDust)) { - Logger.WARNING( - "Recycle Recipe: " + material.getLocalizedName() - + " - Success - Recycle " - + tempStack.getDisplayName() - + " and obtain " - + mDust.getDisplayName()); - } else { - Logger.WARNING("Recycle Recipe: " + material.getLocalizedName() + " - Failed"); - if (mDust == null) { - Logger.WARNING("Invalid Dust output."); - } - } - } + final ItemStack tempStack = validPrefix.getValue(); + final ItemStack mDust = getDust(material, validPrefix.getKey()); + + // Maceration + if (ItemUtils.checkForInvalidItems(tempStack) && mDust != null) { + RA.stdBuilder() + .itemInputs(tempStack) + .itemOutputs(mDust) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); + Logger.WARNING( + "Recycle Recipe: " + material.getLocalizedName() + + " - Success - Recycle " + + tempStack.getDisplayName() + + " and obtain " + + mDust.getDisplayName()); + } - // Arc Furnace - if (ItemUtils.checkForInvalidItems(tempStack)) {} - - // Fluid Extractor - if (ItemUtils.checkForInvalidItems(tempStack)) { - // mValidItems[mSlotIndex++] = tempStack; - - int aFluidAmount = (int) ((L * validPrefix.getKey().mMaterialAmount) - / (M * tempStack.stackSize)); - int aDuration = (int) Math.max(1, (24 * validPrefix.getKey().mMaterialAmount) / M); - boolean aGenFluidExtraction = CORE.RA.addFluidExtractionRecipe( - tempStack, - material.getFluidStack(aFluidAmount), - aDuration, - material.vVoltageMultiplier); - if (aGenFluidExtraction /* - * (mDust != null) && CORE.RA.addFluidExtractionRecipe(tempStack, - * material.getFluidStack(mFluidAmount), 30, - * material.vVoltageMultiplier) - */) { - Logger.WARNING( - "Fluid Recycle Recipe: " + material.getLocalizedName() - + " - Success - Recycle " - + tempStack.getDisplayName() - + " and obtain " - + aFluidAmount - + "mb of " - + material.getFluidStack(1) - .getLocalizedName() - + ". Time: " - + aDuration - + ", Voltage: " - + material.vVoltageMultiplier); - } else { - Logger.WARNING("Fluid Recycle Recipe: " + material.getLocalizedName() + " - Failed"); - if (mDust == null) { - Logger.WARNING("Invalid Dust output."); - } - } - } + // Fluid Extractor + if (ItemUtils.checkForInvalidItems(tempStack)) { + int aFluidAmount = (int) ((144 * validPrefix.getKey().mMaterialAmount) / (M * tempStack.stackSize)); + int aDuration = (int) Math.max(1, (24 * validPrefix.getKey().mMaterialAmount) / M); + FluidStack fluidInput = material.getFluidStack(aFluidAmount); + if (fluidInput != null) { + GT_Values.RA.stdBuilder() + .itemInputs(tempStack) + .fluidOutputs() + .duration(aDuration) + .eut(material.vVoltageMultiplier) + .addTo(fluidExtractionRecipes); - } catch (final Throwable t) { - t.printStackTrace(); - // Utils.LOG_WARNING("Returning Null. Throwable Info: - // "+t.getMessage()); - // Utils.LOG_WARNING("Throwable Info: "+t.toString()); - // Utils.LOG_WARNING("Throwable Info: - // "+t.getCause().toString()); + Logger.WARNING( + "Fluid Recycle Recipe: " + material.getLocalizedName() + + " - Success - Recycle " + + tempStack.getDisplayName() + + " and obtain " + + aFluidAmount + + "mb of " + + material.getFluidStack(1) + .getLocalizedName() + + ". Time: " + + aDuration + + ", Voltage: " + + material.vVoltageMultiplier); } } } + } public static Pair<OrePrefixes, ItemStack> getDustData(final Material aMaterial, final OrePrefixes aPrefix) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java index dfa6d9dea6..07beb07256 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java @@ -6,9 +6,14 @@ import static gregtech.api.enums.Mods.GalaxySpace; import static gregtech.api.enums.Mods.GoodGenerator; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.fusionRecipes; import static gregtech.api.util.GT_ModHandler.getModItem; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; +import static gregtech.api.util.GT_RecipeConstants.QFT_FOCUS_TIER; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.quantumForceTransformerRecipes; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; @@ -30,7 +35,6 @@ import gregtech.api.util.GT_Utility; import gregtech.common.items.CombType; import gregtech.loaders.misc.GT_Bees; import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MISC_MATERIALS; @@ -65,442 +69,550 @@ public class RecipeLoader_ChemicalSkips { ItemStack stemcells = GT_Utility.copyAmountUnsafe(64 * 32, ItemList.Circuit_Chip_Stemcell.get(1)); ItemStack biocells = GT_Utility.copyAmountUnsafe(64 * 32, ItemList.Circuit_Chip_Biocell.get(1)); // Platline - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { WerkstoffLoader.PTMetallicPowder.get(OrePrefixes.dust, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] {}, - new ItemStack[] { Materials.Platinum.getDust(64), Materials.Palladium.getDust(64), - Materials.Iridium.getDust(64), Materials.Osmium.getDust(64), + GT_Values.RA.stdBuilder() + .itemInputs( + WerkstoffLoader.PTMetallicPowder.get(OrePrefixes.dust, 32), + ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .itemOutputs( + Materials.Platinum.getDust(64), + Materials.Palladium.getDust(64), + Materials.Iridium.getDust(64), + Materials.Osmium.getDust(64), WerkstoffLoader.Rhodium.get(OrePrefixes.dust, 64), - WerkstoffLoader.Ruthenium.get(OrePrefixes.dust, 64) }, - new int[] { 1667, 1667, 1667, 1667, 1667, 1667 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - + WerkstoffLoader.Ruthenium.get(OrePrefixes.dust, 64)) + .outputChances(1667, 1667, 1667, 1667, 1667, 1667) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UV) + .metadata(QFT_FOCUS_TIER, 1) + .addTo(quantumForceTransformerRecipes); // Early Plastics - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Carbon.getDust(64), - ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 0) }, - new FluidStack[] { Materials.Oxygen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16), - Materials.Chlorine.getGas(1000 * 16), Materials.Fluorine.getGas(1000 * 16) }, - new FluidStack[] { Materials.Plastic.getMolten(144 * 256), Materials.PolyvinylChloride.getMolten(144 * 128), - Materials.Polystyrene.getMolten(144 * 64), Materials.Polytetrafluoroethylene.getMolten(144 * 128), - Materials.Epoxid.getMolten(144 * 64), Materials.Polybenzimidazole.getMolten(144 * 64) }, - null, - new int[] { 2000, 2000, 2000, 2000, 2000, 2000 }, - 20 * 20, - (int) TierEU.RECIPE_ZPM, - 1); - + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(64), ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 0)) + .fluidInputs( + Materials.Oxygen.getGas(1000 * 16), + Materials.Hydrogen.getGas(1000 * 16), + Materials.Chlorine.getGas(1000 * 16), + Materials.Fluorine.getGas(1000 * 16)) + .fluidOutputs( + Materials.Plastic.getMolten(144 * 256), + Materials.PolyvinylChloride.getMolten(144 * 128), + Materials.Polystyrene.getMolten(144 * 64), + Materials.Polytetrafluoroethylene.getMolten(144 * 128), + Materials.Epoxid.getMolten(144 * 64), + Materials.Polybenzimidazole.getMolten(144 * 64)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .metadata(QFT_FOCUS_TIER, 1) + .addTo(quantumForceTransformerRecipes); // Early Rubbers/Cable Materials - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Carbon.getDust(64), - ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 0) }, - new FluidStack[] { Materials.Oxygen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16), - Materials.Chlorine.getGas(1000 * 16) }, - new FluidStack[] { Materials.Silicone.getMolten(144 * 64), + GT_Values.RA.stdBuilder() + .itemInputs(Materials.Carbon.getDust(64), ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 0)) + .fluidInputs( + Materials.Oxygen.getGas(1000 * 16), + Materials.Hydrogen.getGas(1000 * 16), + Materials.Chlorine.getGas(1000 * 16)) + .fluidOutputs( + Materials.Silicone.getMolten(144 * 64), Materials.StyreneButadieneRubber.getMolten(144 * 64), - Materials.PolyphenyleneSulfide.getMolten(144 * 128), Materials.Rubber.getMolten(144 * 256) }, - null, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_ZPM, - 1); - + Materials.PolyphenyleneSulfide.getMolten(144 * 128), + Materials.Rubber.getMolten(144 * 256)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .metadata(QFT_FOCUS_TIER, 1) + .addTo(quantumForceTransformerRecipes); // Glues and Solders - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Carbon.getDust(32), Materials.Bismuth.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 0) }, - new FluidStack[] { Materials.Oxygen.getGas(10000), Materials.Hydrogen.getGas(10000) }, - new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1000 * 32), - Materials.AdvancedGlue.getFluid(1000 * 16), ALLOY.INDALLOY_140.getFluidStack(144 * 64), - Materials.SolderingAlloy.getMolten(144 * 128) }, - new ItemStack[] { ItemList.StableAdhesive.get(1) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Carbon.getDust(32), + Materials.Bismuth.getDust(32), + ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 0)) + .itemOutputs(ItemList.StableAdhesive.get(1)) + .outputChances(2000) + .fluidInputs(Materials.Oxygen.getGas(10000), Materials.Hydrogen.getGas(10000)) + .fluidOutputs( + MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1000 * 32), + Materials.AdvancedGlue.getFluid(1000 * 16), + ALLOY.INDALLOY_140.getFluidStack(144 * 64), + Materials.SolderingAlloy.getMolten(144 * 128)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UV) + .metadata(QFT_FOCUS_TIER, 1) + .addTo(quantumForceTransformerRecipes); // Titanium, Tungsten, Indium - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Lead.getDust(16), Materials.Bauxite.getDust(32), - Materials.Tungstate.getDust(16), ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] {}, - new ItemStack[] { Materials.Titanium.getDust(64), Materials.TungstenSteel.getDust(64), - Materials.TungstenCarbide.getDust(64), Materials.Indium.getDust(64) }, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Lead.getDust(16), + Materials.Bauxite.getDust(32), + Materials.Tungstate.getDust(16), + ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 0)) + .itemOutputs( + Materials.Titanium.getDust(64), + Materials.TungstenSteel.getDust(64), + Materials.TungstenCarbide.getDust(64), + Materials.Indium.getDust(64)) + .outputChances(2500, 2500, 2500, 2500) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UV) + .metadata(QFT_FOCUS_TIER, 1) + .addTo(quantumForceTransformerRecipes); // Thorium, Uranium, Plutonium - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Thorium.getDust(32), Materials.Uranium.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] {}, - new ItemStack[] { ELEMENT.getInstance().THORIUM232.getDust(64), - ELEMENT.getInstance().URANIUM233.getDust(64), Materials.Uranium235.getDust(64), - ELEMENT.getInstance().PLUTONIUM238.getDust(64), Materials.Plutonium.getDust(64), - Materials.Plutonium241.getDust(64) }, - new int[] { 1667, 1667, 1667, 1667, 1667, 1667 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); - + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Thorium.getDust(32), + Materials.Uranium.getDust(32), + ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 0)) + .itemOutputs( + ELEMENT.getInstance().THORIUM232.getDust(64), + ELEMENT.getInstance().URANIUM233.getDust(64), + Materials.Uranium235.getDust(64), + ELEMENT.getInstance().PLUTONIUM238.getDust(64), + Materials.Plutonium.getDust(64), + Materials.Plutonium241.getDust(64)) + .outputChances(1667, 1667, 1667, 1667, 1667, 1667) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UV) + .metadata(QFT_FOCUS_TIER, 1) + .addTo(quantumForceTransformerRecipes); // Monaline - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Monazite.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] {}, - new ItemStack[] { Materials.Cerium.getDust(64), Materials.Gadolinium.getDust(64), - Materials.Samarium.getDust(64), getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11002), // Hafnia - getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11007), // Zirconium - ItemList.SuperconductorComposite.get(1) }, - new int[] { 1667, 1667, 1667, 1667, 1667, 1667 }, - 20 * 20, - (int) TierEU.RECIPE_UHV, - 2); - + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Monazite.getDust(32), + ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0)) + .itemOutputs( + Materials.Cerium.getDust(64), + Materials.Gadolinium.getDust(64), + Materials.Samarium.getDust(64), + getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11002), + getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 11007), + ItemList.SuperconductorComposite.get(1)) + .outputChances(1667, 1667, 1667, 1667, 1667, 1667) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .metadata(QFT_FOCUS_TIER, 2) + .addTo(quantumForceTransformerRecipes); // Bastline - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Bastnasite.getDust(32), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0) }, - null, - null, - new ItemStack[] { Materials.Holmium.getDust(64), Materials.Cerium.getDust(64), - Materials.Samarium.getDust(64), Materials.Gadolinium.getDust(64), Materials.Lanthanum.getDust(64) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }, - 20 * 20, - (int) TierEU.RECIPE_UHV, - 2); - + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Bastnasite.getDust(32), + ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 0)) + .itemOutputs( + Materials.Holmium.getDust(64), + Materials.Cerium.getDust(64), + Materials.Samarium.getDust(64), + Materials.Gadolinium.getDust(64), + Materials.Lanthanum.getDust(64)) + .outputChances(2000, 2000, 2000, 2000, 2000) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .metadata(QFT_FOCUS_TIER, 2) + .addTo(quantumForceTransformerRecipes); // Early Waterline skip (first 4 tiers) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 0) }, - new FluidStack[] { Materials.Water.getFluid(40000L) }, - new FluidStack[] { Materials.Grade1PurifiedWater.getFluid(20000L), - Materials.Grade2PurifiedWater.getFluid(10000L), Materials.Grade3PurifiedWater.getFluid(5000L), - Materials.Grade4PurifiedWater.getFluid(1000L) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UHV, - 2); - + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 0)) + .fluidInputs(Materials.Water.getFluid(40000L)) + .fluidOutputs( + Materials.Grade1PurifiedWater.getFluid(20000L), + Materials.Grade2PurifiedWater.getFluid(10000L), + Materials.Grade3PurifiedWater.getFluid(5000L), + Materials.Grade4PurifiedWater.getFluid(1000L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .metadata(QFT_FOCUS_TIER, 2) + .addTo(quantumForceTransformerRecipes); // Stem Cells - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Calcium.getDust(32), Materials.MeatRaw.getDust(32), + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Calcium.getDust(32), + Materials.MeatRaw.getDust(32), getModItem(NewHorizonsCoreMod.ID, "GTNHBioItems", 32, 2), - ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] { Materials.GrowthMediumRaw.getFluid(1000 * 1024), - Materials.GrowthMediumSterilized.getFluid(1000 * 512) }, - new ItemStack[] { stemcells }, - new int[] { 3333, 3333, 3333 }, - 20 * 20, - (int) TierEU.RECIPE_UEV, - 3); - + ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 0)) + .itemOutputs(stemcells) + .outputChances(3333) + .fluidOutputs( + Materials.GrowthMediumRaw.getFluid(1000 * 1024), + Materials.GrowthMediumSterilized.getFluid(1000 * 512)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .metadata(QFT_FOCUS_TIER, 3) + .addTo(quantumForceTransformerRecipes); // Unknown Particles - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 0) }, - new FluidStack[] { Materials.Hydrogen.getGas(10000L), Materials.Deuterium.getGas(1000L) }, - new FluidStack[] { FluidUtils.getFluidStack("plasma.hydrogen", 1000) }, - new ItemStack[] { Particle.getBaseParticle(Particle.UNKNOWN), Particle.getBaseParticle(Particle.GRAVITON), - Particle.getBaseParticle(Particle.PROTON), Particle.getBaseParticle(Particle.ELECTRON) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }, - 5 * 20, - (int) TierEU.RECIPE_UEV, - 3); - + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 0)) + .itemOutputs( + Particle.getBaseParticle(Particle.UNKNOWN), + Particle.getBaseParticle(Particle.GRAVITON), + Particle.getBaseParticle(Particle.PROTON), + Particle.getBaseParticle(Particle.ELECTRON)) + .outputChances(2000, 2000, 2000, 2000) + .fluidInputs(Materials.Hydrogen.getGas(10000L), Materials.Deuterium.getGas(1000L)) + .fluidOutputs(FluidUtils.getFluidStack("plasma.hydrogen", 1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .metadata(QFT_FOCUS_TIER, 3) + .addTo(quantumForceTransformerRecipes); // Lategame Plastics (Missing Radox Polymer and Heavy Radox) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { Materials.Carbon.getDust(64), Materials.Osmium.getDust(24), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0) }, - new FluidStack[] { Materials.Hydrogen.getGas(1000 * 16), Materials.Nitrogen.getGas(1000 * 16) }, - new FluidStack[] { FluidUtils.getFluidStack("xenoxene", 1000 * 16), + GT_Values.RA.stdBuilder() + .itemInputs( + Materials.Carbon.getDust(64), + Materials.Osmium.getDust(24), + ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0)) + .fluidInputs(Materials.Hydrogen.getGas(1000 * 16), Materials.Nitrogen.getGas(1000 * 16)) + .fluidOutputs( + FluidUtils.getFluidStack("xenoxene", 1000 * 16), FluidUtils.getFluidStack("molten.radoxpoly", 144 * 64), - FluidUtils.getFluidStack("heavyradox", 1000 * 16), MaterialsKevlar.Kevlar.getMolten(144 * 64) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UIV, - 4); - + FluidUtils.getFluidStack("heavyradox", 1000 * 16), + MaterialsKevlar.Kevlar.getMolten(144 * 64)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .metadata(QFT_FOCUS_TIER, 4) + .addTo(quantumForceTransformerRecipes); // Lategame Kevlar using Kevlar bee comb - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { GT_Bees.combs.getStackForType(CombType.KEVLAR, 24), Materials.Carbon.getDust(64), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0) }, - new FluidStack[] { Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16) }, - new FluidStack[] { MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32), - MaterialsKevlar.LiquidCrystalKevlar.getFluid(144 * 32), MaterialsKevlar.Kevlar.getMolten(144 * 64) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UIV, - 4); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Bees.combs.getStackForType(CombType.KEVLAR, 24), + Materials.Carbon.getDust(64), + ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 0)) + .fluidInputs(Materials.Nitrogen.getGas(1000 * 16), Materials.Hydrogen.getGas(1000 * 16)) + .fluidOutputs( + MaterialsKevlar.PolyurethaneResin.getFluid(1000 * 32), + MaterialsKevlar.LiquidCrystalKevlar.getFluid(144 * 32), + MaterialsKevlar.Kevlar.getMolten(144 * 64)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .metadata(QFT_FOCUS_TIER, 4) + .addTo(quantumForceTransformerRecipes); // Platline skip using Platline Combs (Palladium, Osmium, Iridium, Platinum) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { GT_Bees.combs.getStackForType(CombType.PLATINUM, 32), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Bees.combs.getStackForType(CombType.PLATINUM, 32), GT_Bees.combs.getStackForType(CombType.PALLADIUM, 32), - GT_Bees.combs.getStackForType(CombType.OSMIUM, 32), GT_Bees.combs.getStackForType(CombType.IRIDIUM, 32), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] { Materials.Osmium.getMolten(144 * 256), Materials.Palladium.getMolten(144 * 256), - Materials.Iridium.getMolten(144 * 256), Materials.Platinum.getMolten(144 * 256) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UV, - 1); + GT_Bees.combs.getStackForType(CombType.OSMIUM, 32), + GT_Bees.combs.getStackForType(CombType.IRIDIUM, 32), + ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 0)) + .fluidOutputs( + Materials.Osmium.getMolten(144 * 256), + Materials.Palladium.getMolten(144 * 256), + Materials.Iridium.getMolten(144 * 256), + Materials.Platinum.getMolten(144 * 256)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UV) + .metadata(QFT_FOCUS_TIER, 1) + .addTo(quantumForceTransformerRecipes); // Bio Cells and Mutated Solder - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemList.Circuit_Chip_Stemcell.get(16), Materials.InfinityCatalyst.getDust(4), - ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 0) }, - new FluidStack[] {}, - new FluidStack[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 128), - Materials.BioMediumSterilized.getFluid(1000 * 256), Materials.BioMediumRaw.getFluid(1000 * 512) }, - new ItemStack[] { biocells }, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UIV, - 4); - + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Chip_Stemcell.get(16), + Materials.InfinityCatalyst.getDust(4), + ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 0)) + .itemOutputs(biocells) + .outputChances(2500) + .fluidOutputs( + MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(144 * 128), + Materials.BioMediumSterilized.getFluid(1000 * 256), + Materials.BioMediumRaw.getFluid(1000 * 512)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .metadata(QFT_FOCUS_TIER, 4) + .addTo(quantumForceTransformerRecipes); // Advanced Waterline skip (last 4 tiers) - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 0) }, - new FluidStack[] { Materials.Water.getFluid(40000L) }, - new FluidStack[] { Materials.Grade5PurifiedWater.getFluid(20000L), - Materials.Grade6PurifiedWater.getFluid(10000L), Materials.Grade7PurifiedWater.getFluid(5000L), - Materials.Grade8PurifiedWater.getFluid(1000L) }, - new ItemStack[] {}, - new int[] { 2500, 2500, 2500, 2500 }, - 20 * 20, - (int) TierEU.RECIPE_UIV, - 4); - + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 0)) + .fluidInputs(Materials.Water.getFluid(40000L)) + .fluidOutputs( + Materials.Grade5PurifiedWater.getFluid(20000L), + Materials.Grade6PurifiedWater.getFluid(10000L), + Materials.Grade7PurifiedWater.getFluid(5000L), + Materials.Grade8PurifiedWater.getFluid(1000L)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .metadata(QFT_FOCUS_TIER, 4) + .addTo(quantumForceTransformerRecipes); // Rare Particles - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 0), - GregtechItemList.Laser_Lens_Special.get(1) }, - new FluidStack[] { FluidUtils.getFluidStack("plasma.hydrogen", 30000), Materials.Helium.getPlasma(30000L), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 0), + GregtechItemList.Laser_Lens_Special.get(1)) + .itemOutputs( + Particle.getBaseParticle(Particle.Z_BOSON), + Particle.getBaseParticle(Particle.W_BOSON), + Particle.getBaseParticle(Particle.LAMBDA), + Particle.getBaseParticle(Particle.OMEGA), + Particle.getBaseParticle(Particle.HIGGS_BOSON)) + .outputChances(2000, 2000, 2000, 2000, 2000) + .fluidInputs( + FluidUtils.getFluidStack("plasma.hydrogen", 30000), + Materials.Helium.getPlasma(30000L), Materials.Americium.getPlasma(30000L), - new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 30000) }, - new FluidStack[] {}, - new ItemStack[] { Particle.getBaseParticle(Particle.Z_BOSON), Particle.getBaseParticle(Particle.W_BOSON), - Particle.getBaseParticle(Particle.LAMBDA), Particle.getBaseParticle(Particle.OMEGA), - Particle.getBaseParticle(Particle.HIGGS_BOSON) }, - new int[] { 2000, 2000, 2000, 2000, 2000 }, - 200 * 20, - (int) TierEU.RECIPE_UIV, - 4); + new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 30000)) + .duration(3 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .metadata(QFT_FOCUS_TIER, 4) + .addTo(quantumForceTransformerRecipes); if (GalaxySpace.isModLoaded()) { // Seaweed ItemStack seaweed = GT_Utility .copyAmountUnsafe(64 * 32, getModItem(GalaxySpace.ID, "tcetiedandelions", 1, 4)); - CORE.RA.addQuantumTransformerRecipe( - new ItemStack[] { GT_OreDictUnificator.get("cropSeaweed", 64), Materials.Mytryl.getDust(16), - ItemUtils.getSimpleStack(GenericChem.mAlgagenicGrowthPromoterCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack("unknowwater", 25_000) }, - new FluidStack[] { FluidUtils.getFluidStack("seaweedbroth", 50_000), - FluidUtils.getFluidStack("iodine", 64_000) }, - new ItemStack[] { seaweed, getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 16) }, - new int[] { 2_500, 2_500, 2_500, 2_500 }, - 20 * SECONDS, - (int) TierEU.RECIPE_UIV, - 4); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get("cropSeaweed", 64), + Materials.Mytryl.getDust(16), + ItemUtils.getSimpleStack(GenericChem.mAlgagenicGrowthPromoterCatalyst, 0)) + .itemOutputs(seaweed, getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 16)) + .outputChances(25_00, 25_00) + .fluidInputs(FluidUtils.getFluidStack("unknowwater", 25_000)) + .fluidOutputs( + FluidUtils.getFluidStack("seaweedbroth", 50_000), + FluidUtils.getFluidStack("iodine", 64_000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .metadata(QFT_FOCUS_TIER, 4) + .addTo(quantumForceTransformerRecipes); + } } private static void fusionReactorRecipes() { - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[] { Materials.Radon.getPlasma(100), Materials.Nitrogen.getPlasma(100) }, - new FluidStack[] { new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 100) }, - 30 * 20, - (int) TierEU.RECIPE_UHV, - 1_000_000_000); + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Radon.getPlasma(100), Materials.Nitrogen.getPlasma(100)) + .fluidOutputs(new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 100)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[] { Materials.Americium.getPlasma(100), Materials.Boron.getPlasma(100) }, - new FluidStack[] { new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 100) }, - 30 * 20, - (int) TierEU.RECIPE_UHV, - 1_000_000_000); + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Americium.getPlasma(100), Materials.Boron.getPlasma(100)) + .fluidOutputs(new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 100)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); // MK5 versions - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[] { new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 288), - Materials.Yttrium.getMolten(288) }, - new FluidStack[] { new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 288) }, - 1 * SECONDS + 12 * TICKS, - (int) TierEU.RECIPE_UEV, - 1_000_000_000); + GT_Values.RA.stdBuilder() + .fluidInputs(new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 288), Materials.Yttrium.getMolten(288)) + .fluidOutputs(new FluidStack(ELEMENT.getInstance().NEPTUNIUM.getPlasma(), 288)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_UEV) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); - GT_Values.RA.addFusionReactorRecipe( - new FluidStack[] { new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 288), - Materials.Rubidium.getMolten(288) }, - new FluidStack[] { new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 288) }, - 1 * SECONDS + 12 * TICKS, - (int) TierEU.RECIPE_UEV, - 1_000_000_000); + GT_Values.RA.stdBuilder() + .fluidInputs(new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 288), Materials.Rubidium.getMolten(288)) + .fluidOutputs(new FluidStack(ELEMENT.getInstance().FERMIUM.getPlasma(), 288)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_UEV) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); } private static void catalystRecipes() { - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 88), Materials.Osmiridium.getDust(64), - Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - Materials.Polybenzimidazole.getDust(64), Materials.Polytetrafluoroethylene.getDust(64), - Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Silicone.getDust(64), - Materials.StyreneButadieneRubber.getDust(64), Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ALLOY.INDALLOY_140.getDust(64), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getCell(64), Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UHV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.TungstenSteel.getDust(64), - Materials.Indium.getDust(64), Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UHV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - ELEMENT.getInstance().URANIUM235.getDust(64), ELEMENT.getInstance().PLUTONIUM241.getDust(64), - Materials.Carbon.getNanite(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360), - ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UHV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Samarium.getDust(64), - Materials.Gadolinium.getDust(64), Materials.Silver.getNanite(1) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216), - ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + getModItem(BartWorks.ID, "gt.bwMetaGenerateddust", 64L, 88), + Materials.Osmiridium.getDust(64), + Materials.Carbon.getNanite(64)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mPlatinumGroupCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Polybenzimidazole.getDust(64), + Materials.Polytetrafluoroethylene.getDust(64), + Materials.Carbon.getNanite(64)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mPlasticPolymerCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Silicone.getDust(64), + Materials.StyreneButadieneRubber.getDust(64), + Materials.Carbon.getNanite(64)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mRubberPolymerCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + ALLOY.INDALLOY_140.getDust(64), + MISC_MATERIALS.ETHYL_CYANOACRYLATE.getCell(64), + Materials.Carbon.getNanite(64)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mAdhesionPromoterCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.TungstenSteel.getDust(64), + Materials.Indium.getDust(64), + Materials.Carbon.getNanite(64)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mTitaTungstenIndiumCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + ELEMENT.getInstance().URANIUM235.getDust(64), + ELEMENT.getInstance().PLUTONIUM241.getDust(64), + Materials.Carbon.getNanite(64)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mRadioactivityCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(360)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Samarium.getDust(64), + Materials.Gadolinium.getDust(64), + Materials.Silver.getNanite(1)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mRareEarthGroupCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), WerkstoffLoader.Hedenbergit.get(OrePrefixes.lens, 1), GT_OreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 1, false), - ItemList.Circuit_Silicon_Wafer6.get(64) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216), - ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Naquadah.getDust(64), - Materials.Adamantium.getDust(64), Materials.Silver.getNanite(1) }, - ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216), - ItemUtils.getSimpleStack(GenericChem.mSimpleNaquadahCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UEV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), Materials.Naquadria.getDust(64), - Materials.Trinium.getDust(64), Materials.Gold.getNanite(1) }, - MaterialsUEVplus.SpaceTime.getMolten(9216L), - ItemUtils.getSimpleStack(GenericChem.mAdvancedNaquadahCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UIV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ItemList.Circuit_Chip_Stemcell.get(64), - Materials.Gold.getNanite(1) }, - MaterialsUEVplus.SpaceTime.getMolten(9216L), - ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UIV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), + ItemList.Circuit_Silicon_Wafer6.get(64)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mLimpidWaterCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Naquadah.getDust(64), + Materials.Adamantium.getDust(64), + Materials.Silver.getNanite(1)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mSimpleNaquadahCatalyst, 1)) + .fluidInputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(9216)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + Materials.Naquadria.getDust(64), + Materials.Trinium.getDust(64), + Materials.Gold.getNanite(1)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mAdvancedNaquadahCatalyst, 1)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(9216L)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + ItemList.Circuit_Chip_Stemcell.get(64), + Materials.Gold.getNanite(1)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mRawIntelligenceCatalyst, 1)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(9216L)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), GregtechItemList.Laser_Lens_Special.get(64), - GT_ModHandler.getModItem(EternalSingularity.ID, "eternal_singularity", 10) }, - MaterialsUEVplus.SpaceTime.getMolten(9216L), - ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UIV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), MaterialsKevlar.Kevlar.getDust(64), - MaterialsUEVplus.TranscendentMetal.getNanite(1) }, - FluidUtils.getFluidStack("molten.shirabon", 92160), - ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UMV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), ItemList.Circuit_Chip_Biocell.get(64), - MaterialsUEVplus.TranscendentMetal.getNanite(1) }, - FluidUtils.getFluidStack("molten.shirabon", 92160), - ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UMV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), + GT_ModHandler.getModItem(EternalSingularity.ID, "eternal_singularity", 10)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mParticleAccelerationCatalyst, 1)) + .fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(9216L)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + MaterialsKevlar.Kevlar.getDust(64), + MaterialsUEVplus.TranscendentMetal.getNanite(1)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mUltimatePlasticCatalyst, 1)) + .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92160)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + ItemList.Circuit_Chip_Biocell.get(64), + MaterialsUEVplus.TranscendentMetal.getNanite(1)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mBiologicalIntelligenceCatalyst, 1)) + .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92160)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), WerkstoffLoader.Hedenbergit.get(OrePrefixes.lens, 64), GT_OreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 64, false), - ItemList.Circuit_Silicon_Wafer6.get(64) }, - FluidUtils.getFluidStack("molten.shirabon", 92160), - ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UMV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - Particle.getBaseParticle(Particle.HIGGS_BOSON), Particle.getIon("Helium", 0), - Particle.getIon("Hydrogen", 0), MaterialsUEVplus.Eternity.getNanite(16) }, - FluidUtils.getFluidStack("molten.shirabon", 92160), - ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UMV); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedCircuit(10), CI.getEmptyCatalyst(1), - GT_OreDictUnificator.get("blockShirabon", 16), MaterialsUEVplus.Universium.getNanite(1), - ItemList.Timepiece.get(1) }, - Materials.DarkIron.getMolten(92160), - ItemUtils.getSimpleStack(GenericChem.TemporalHarmonyCatalyst, 1), - 60 * 20, - (int) TierEU.RECIPE_UXV); + ItemList.Circuit_Silicon_Wafer6.get(64)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mFlawlessWaterCatalyst, 1)) + .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92160)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + Particle.getBaseParticle(Particle.HIGGS_BOSON), + Particle.getIon("Helium", 0), + Particle.getIon("Hydrogen", 0), + MaterialsUEVplus.Eternity.getNanite(16)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mSynchrotronCapableCatalyst, 1)) + .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92160)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(10), + CI.getEmptyCatalyst(1), + GT_OreDictUnificator.get("blockShirabon", 16), + MaterialsUEVplus.Universium.getNanite(1), + ItemList.Timepiece.get(1)) + .itemOutputs(ItemUtils.getSimpleStack(GenericChem.TemporalHarmonyCatalyst, 1)) + .fluidInputs(Materials.DarkIron.getMolten(92160)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UXV) + .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( - CI.getNumberedCircuit(10), + GT_Utility.getIntegratedCircuit(10), CI.getEmptyCatalyst(1), getModItem(NewHorizonsCoreMod.ID, "item.TCetiESeaweedExtract", 64), GT_OreDictUnificator.get("dustIodine", 64), @@ -650,12 +762,17 @@ public class RecipeLoader_ChemicalSkips { 120 * 20, (int) TierEU.RECIPE_UXV); - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { new ItemStack(QuantumGlassBlock.INSTANCE, 1), ItemList.Field_Generator_ZPM.get(1), - ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getLongRod(6), ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getPlate(6) }, - ALLOY.QUANTUM.getFluidStack(144 * 6), - GregtechItemList.ForceFieldGlass.get(1), - 10 * 20, - (int) TierEU.RECIPE_UEV); + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(QuantumGlassBlock.INSTANCE, 1), + ItemList.Field_Generator_ZPM.get(1), + ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getLongRod(6), + ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getPlate(6)) + .itemOutputs(GregtechItemList.ForceFieldGlass.get(1)) + .fluidInputs(ALLOY.QUANTUM.getFluidStack(144 * 6)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(assemblerRecipes); + } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java index 4aa13a0072..680a4291e8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GTNH.java @@ -1,5 +1,11 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; +import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; +import static gregtech.api.recipe.RecipeMaps.fusionRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; + import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; @@ -8,38 +14,43 @@ import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; import gtPlusPlus.core.material.ELEMENT; public class RecipeLoader_GTNH { public static void generate() { - GT_Values.RA.addFluidSolidifierRecipe( - ItemList.Shape_Mold_Ball.get(0L), - new FluidStack(FluidRegistry.getFluid("ender"), 250), - new ItemStack(Items.ender_pearl, 1, 0), - 100, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Ball.get(0L)) + .itemOutputs(new ItemStack(Items.ender_pearl, 1, 0)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ender"), 250)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(fluidSolidifierRecipes); + // MK4 - GT_Values.RA.addFusionReactorRecipe( - Materials.Plutonium241.getMolten(144), - Materials.Helium.getGas(1000), - ELEMENT.getInstance().CURIUM.getFluidStack(144), - 96, - 98304, - 500000000); - GT_Values.RA.addFusionReactorRecipe( - ELEMENT.getInstance().CURIUM.getFluidStack(144), - Materials.Helium.getPlasma(144), - ELEMENT.getInstance().CALIFORNIUM.getFluidStack(144), - 128, - 196608, - 750000000); - GT_Values.RA.addFusionReactorRecipe( - Materials.Plutonium241.getMolten(144), - Materials.Calcium.getPlasma(144), - Materials.Flerovium.getMolten(144), - 160, - 196608, - 1000000000); + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Plutonium241.getMolten(144), Materials.Helium.getGas(1000)) + .fluidOutputs(ELEMENT.getInstance().CURIUM.getFluidStack(144)) + .duration(4 * SECONDS + 16 * TICKS) + .eut(98304) + .metadata(FUSION_THRESHOLD, 500_000_000) + .addTo(fusionRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(ELEMENT.getInstance().CURIUM.getFluidStack(144), Materials.Helium.getPlasma(144)) + .fluidOutputs(ELEMENT.getInstance().CALIFORNIUM.getFluidStack(144)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(196608) + .metadata(FUSION_THRESHOLD, 750_000_000) + .addTo(fusionRecipes); + + GT_Values.RA.stdBuilder() + .fluidInputs(Materials.Plutonium241.getMolten(144), Materials.Calcium.getPlasma(144)) + .fluidOutputs(Materials.Flerovium.getMolten(144)) + .duration(8 * SECONDS) + .eut(196608) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java index 2dae8a3f75..40cf569df6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_GlueLine.java @@ -2,12 +2,22 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; import static gregtech.api.enums.Mods.GalacticraftCore; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes; +import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; @@ -20,12 +30,10 @@ import gregtech.api.util.GT_Utility; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.item.chemistry.AgriculturalChem; import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.MISC_MATERIALS; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; import gtPlusPlus.plugin.agrichem.BioRecipes; public class RecipeLoader_GlueLine { @@ -47,103 +55,122 @@ public class RecipeLoader_GlueLine { private static void chemicalPlantRecipes() { // CO + C3H6O2 = C4H6O3 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), ItemUtils.getSimpleStack(GenericChem.mBlueCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack("carbonmonoxide", 1000), - FluidUtils.getFluidStack("methylacetate", 1000), }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000) }, - 10 * 20, - 500, - 3); - - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(18) }, - new FluidStack[] { FluidUtils.getFluidStack("aceticacid", 1000), FluidUtils.getFluidStack("chlorine", 1000), - MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000), - MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(950) }, - 150 * 20, - 1000, - 4); - + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(17), ItemUtils.getSimpleStack(GenericChem.mBlueCatalyst, 0)) + .fluidInputs( + FluidUtils.getFluidStack("carbonmonoxide", 1000), + FluidUtils.getFluidStack("methylacetate", 1000)) + .fluidOutputs(MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000)) + .duration(10 * SECONDS) + .eut(500) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(18)) + .fluidInputs( + FluidUtils.getFluidStack("aceticacid", 1000), + FluidUtils.getFluidStack("chlorine", 1000), + MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(1000)) + .fluidOutputs( + MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000), + MISC_MATERIALS.ACETIC_ANHYDRIDE.getFluidStack(950)) + .duration(2 * MINUTES + 30 * SECONDS) + .eut(1000) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); // Na2CO3 + NaCN + C2H3O2Cl + 2HCl = C3H3NO2 + 3NaCl + CO2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), - MISC_MATERIALS.SODIUM_CYANIDE.getDust(3) }, - new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(1000), - FluidUtils.getFluidStack("hydrochloricacid_gt5u", 2000) }, - new ItemStack[] { MISC_MATERIALS.CYANOACETIC_ACID.getDust(9), Materials.Salt.getDust(6) }, - new FluidStack[] { Materials.CarbonDioxide.getGas(1000), GT_ModHandler.getWater(1000) }, - 20 * 20, - 1000, - 4); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(19), + ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 6), + MISC_MATERIALS.SODIUM_CYANIDE.getDust(3)) + .itemOutputs(MISC_MATERIALS.CYANOACETIC_ACID.getDust(9), Materials.Salt.getDust(6)) + .fluidInputs( + MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(1000), + FluidUtils.getFluidStack("hydrochloricacid_gt5u", 2000)) + .fluidOutputs(Materials.CarbonDioxide.getGas(1000), GT_ModHandler.getWater(1000)) + .duration(20 * SECONDS) + .eut(1000) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); // CuSO4 + 5C3H3NO2 + 5C2H6O = CuSO4·5(H2O) + 5C5H7NO2 - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0), - MISC_MATERIALS.COPPER_SULFATE.getDust(6), MISC_MATERIALS.CYANOACETIC_ACID.getDust(45) }, - new FluidStack[] { Materials.Ethanol.getFluid(5000) }, - new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11) }, - new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(5000) }, - 500 * 20, - 6000, - 5); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(20), + ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0), + MISC_MATERIALS.COPPER_SULFATE.getDust(6), + MISC_MATERIALS.CYANOACETIC_ACID.getDust(45)) + .itemOutputs(MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11)) + .fluidInputs(Materials.Ethanol.getFluid(5000)) + .fluidOutputs(MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(5000)) + .duration(8 * MINUTES + 20 * SECONDS) + .eut(6000) + .metadata(CHEMPLANT_CASING_TIER, 5) + .addTo(chemicalPlantRecipes); // C3H3NO2 + C2H6O = C5H7NO2 + H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(21), MISC_MATERIALS.CYANOACETIC_ACID.getDust(9) }, - new FluidStack[] { Materials.Ethanol.getFluid(1000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(1000) }, - 1000 * 20, - 6000, - 5); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(21), MISC_MATERIALS.CYANOACETIC_ACID.getDust(9)) + .fluidInputs(Materials.Ethanol.getFluid(1000)) + .fluidOutputs(MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(1000)) + .duration(16 * MINUTES + 40 * SECONDS) + .eut(6000) + .metadata(CHEMPLANT_CASING_TIER, 5) + .addTo(chemicalPlantRecipes); BioRecipes.mFormaldehyde = FluidUtils.getFluidStack("fluid.formaldehyde", 1) .getFluid(); - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(22), ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0) }, - new FluidStack[] { MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(100), - FluidUtils.getFluidStack(BioRecipes.mFormaldehyde, 100) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100), FluidUtils.getWater(1000) }, - 10 * 20, - 8000, - 5); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(22), + ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 0)) + .fluidInputs( + MISC_MATERIALS.ETHYL_CYANOACETATE.getFluidStack(100), + FluidUtils.getFluidStack(BioRecipes.mFormaldehyde, 100)) + .fluidOutputs(MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100), FluidUtils.getWater(1000)) + .duration(10 * SECONDS) + .eut(8000) + .metadata(CHEMPLANT_CASING_TIER, 5) + .addTo(chemicalPlantRecipes); // CH4 + NH3 + 3O = HCN + 3H2O - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] { CI.getNumberedCircuit(23), ItemUtils.getSimpleStack(GenericChem.mPinkCatalyst, 0) }, - new FluidStack[] { FluidUtils.getFluidStack("methane", 2000), FluidUtils.getFluidStack("ammonia", 2000), - FluidUtils.getFluidStack("oxygen", 6000) }, - new ItemStack[] {}, - new FluidStack[] { MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(2000), FluidUtils.getWater(6000) }, - 10 * 20, - 500, - 3); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(23), ItemUtils.getSimpleStack(GenericChem.mPinkCatalyst, 0)) + .fluidInputs( + FluidUtils.getFluidStack("methane", 2000), + FluidUtils.getFluidStack("ammonia", 2000), + FluidUtils.getFluidStack("oxygen", 6000)) + .fluidOutputs(MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(2000), FluidUtils.getWater(6000)) + .duration(10 * SECONDS) + .eut(500) + .metadata(CHEMPLANT_CASING_TIER, 3) + .addTo(chemicalPlantRecipes); + } private static void chemicalReactorRecipes() { // NaOH + HCN = NaCN + H2O - GT_Values.RA.addChemicalRecipe( - CI.getNumberedCircuit(17), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3), - MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000), - FluidUtils.getWater(1000), - MISC_MATERIALS.SODIUM_CYANIDE.getDust(3), - 10 * 20); - // #addChemicalRecipe won't generate LCR recipe if config >= 10 - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { CI.getNumberedCircuit(17), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3) }, - new FluidStack[] { MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000) }, - new FluidStack[] { FluidUtils.getWater(1000) }, - new ItemStack[] { MISC_MATERIALS.SODIUM_CYANIDE.getDust(3) }, - 10 * 20, - 30); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(17), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3)) + .itemOutputs(MISC_MATERIALS.SODIUM_CYANIDE.getDust(3)) + .fluidInputs(MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000)) + .fluidOutputs(FluidUtils.getWater(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + // #UniversalChemical recipemap won't generate LCR recipe if config >= 10 + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(17), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3)) + .itemOutputs(MISC_MATERIALS.SODIUM_CYANIDE.getDust(3)) + .fluidInputs(MISC_MATERIALS.HYDROGEN_CYANIDE.getFluidStack(1000)) + .fluidOutputs(FluidUtils.getWater(1000)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(multiblockChemicalReactorRecipes); // CaCO3 + 2HCl = CaCl2 + CO2 + H2O GT_Values.RA.stdBuilder() @@ -157,220 +184,243 @@ public class RecipeLoader_GlueLine { // Cu + 2H2SO4 = CuSO4 + SO2 + 2H2O // SO2 + 2H2O -> diluted sulfuric acid - GT_Values.RA.addChemicalRecipe( - CI.getNumberedCircuit(19), - ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1), - FluidUtils.getFluidStack("sulfuricacid", 2000), - FluidUtils.getFluidStack("dilutedsulfuricacid", 1000), - MISC_MATERIALS.COPPER_SULFATE.getDust(6), - 5 * 20); - // #addChemicalRecipe won't generate LCR recipe if config >= 10 - GT_Values.RA.addMultiblockChemicalRecipe( - new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1) }, - new FluidStack[] { FluidUtils.getFluidStack("sulfuricacid", 2000) }, - new FluidStack[] { FluidUtils.getFluidStack("dilutedsulfuricacid", 1000) }, - new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE.getDust(6) }, - 5 * 20, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(19), ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1)) + .itemOutputs(MISC_MATERIALS.COPPER_SULFATE.getDust(6)) + .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 2000)) + .fluidOutputs(FluidUtils.getFluidStack("dilutedsulfuricacid", 1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(chemicalReactorRecipes); + + // #UniversalChemical won't generate LCR recipe if config >= 10 + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(19), ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 1)) + .itemOutputs(MISC_MATERIALS.COPPER_SULFATE.getDust(6)) + .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 2000)) + .fluidOutputs(FluidUtils.getFluidStack("dilutedsulfuricacid", 1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(multiblockChemicalReactorRecipes); } private static void dehydratorRecipes() { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11), }, - null, - GT_ModHandler.getWater(5000), - new ItemStack[] { MISC_MATERIALS.COPPER_SULFATE.getDust(6) }, - new int[] { 10000, 10000, 10000 }, - 300 * 20, - 10); + GT_Values.RA.stdBuilder() + .itemInputs(MISC_MATERIALS.COPPER_SULFATE_HYDRATED.getDust(11)) + .itemOutputs(MISC_MATERIALS.COPPER_SULFATE.getDust(6)) + .fluidOutputs(GT_ModHandler.getWater(5000)) + .eut(10) + .duration(5 * MINUTES) + .addTo(chemicalDehydratorRecipes); } private static void distillationTowerRecipes() { - GT_Values.RA.addDistillationTowerRecipe( - MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000), - new FluidStack[] { MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(100), + GT_Values.RA.stdBuilder() + .fluidInputs(MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(1000)) + .fluidOutputs( + MISC_MATERIALS.CHLOROACETIC_ACID.getFluidStack(100), MISC_MATERIALS.DICHLOROACETIC_ACID.getFluidStack(450), - MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(450) }, - null, - 4 * 20, - MaterialUtils.getVoltageForTier(5)); + MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(450)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(distillationTowerRecipes); + } private static void fluidHeaterRecipes() { - CORE.RA.addFluidHeaterRecipe( - CI.getNumberedCircuit(16), - MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - 30 * 30, - 500); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(16)) + .fluidInputs(MISC_MATERIALS.CYANOACRYLATE_POLYMER.getFluidStack(100)) + .fluidOutputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100)) + .duration(45 * SECONDS) + .eut(500) + .addTo(fluidHeaterRecipes); } private static void mixerRecipes() { - GT_Values.RA.addMixerRecipe( - CI.getNumberedCircuit(1), - MISC_MATERIALS.DICHLOROACETIC_ACID.getCell(1), - null, - null, - MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(1000), - MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(2000), - CI.emptyCells(1), - 100, - 100); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1), MISC_MATERIALS.DICHLOROACETIC_ACID.getCell(1)) + .itemOutputs(CI.emptyCells(1)) + .fluidInputs(MISC_MATERIALS.TRICHLOROACETIC_ACID.getFluidStack(1000)) + .fluidOutputs(MISC_MATERIALS.CHLOROACETIC_MIXTURE.getFluidStack(2000)) + .duration(5 * SECONDS) + .eut(100) + .addTo(mixerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(CI.emptyCells(1)) + .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 1000)) + .fluidOutputs(MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000)) + .duration(5 * SECONDS) + .eut(40) + .addTo(mixerRecipes); - GT_Values.RA.addMixerRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellSulfurTrioxide", 1), - CI.getNumberedCircuit(2), - null, - null, - FluidUtils.getFluidStack("sulfuricacid", 1000), - MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000), - CI.emptyCells(1), - 100, - 40); } private static void glueUsageRecipes() { // Braintech Tape recipe, PBI and superglue make 16 tape at once - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Polybenzimidazole, 1L), - GT_ModHandler.getIC2Item("carbonMesh", 1L), CI.getNumberedCircuit(10) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - ItemList.Duct_Tape.get(16L), - 120, - 30); - + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Polybenzimidazole, 1L), + GT_ModHandler.getIC2Item("carbonMesh", 1L), + GT_Utility.getIntegratedCircuit(10)) + .itemOutputs(ItemList.Duct_Tape.get(16L)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Maintenance Hatch recipe, using Braintech Tape - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hull_LV.get(1), ItemList.Duct_Tape.get(1), CI.getNumberedCircuit(1) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - ItemList.Hatch_Maintenance.get(1), - 120, - 30); - + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Hull_LV.get(1), ItemList.Duct_Tape.get(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Hatch_Maintenance.get(1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100)) + .duration(6 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(assemblerRecipes); // Graphene recipes from later wafer tiers, using superglue instead of the bronze age glue - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64), - ItemList.Circuit_Silicon_Wafer4.get(2L), CI.getNumberedCircuit(2) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(500), - ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64), - 400, - 30720); - - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64), - ItemList.Circuit_Silicon_Wafer5.get(1L), CI.getNumberedCircuit(2) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(250), - ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64), - 80, - 122880); - - GT_Values.RA.addMixerRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4L), - GT_Values.NI, - GT_Values.NI, - GT_Utility.getIntegratedCircuit(1), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - null, - ItemList.SFMixture.get(32), - 1600, - 16); - - GT_Values.RA.addMixerRecipe( - ItemList.GelledToluene.get(1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1L), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Polybenzimidazole, 1L), - GT_Values.NI, - GT_Values.NI, - GT_Utility.getIntegratedCircuit(1), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100), - null, - ItemList.SFMixture.get(64), - 1600, - 16); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 8), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 32), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(200), - new ItemStack(Items.book, 64, 0), - 32, - 8); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 18), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(144), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32505", 1), - 300, - 7680); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 6), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(288), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32506", 1), - 200, - 30720); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.ElectrumFlux, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 18), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32507", 1), - 300, - 122880); - - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.ElectrumFlux, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 24), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1152), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32561", 1), - 100, - 491520); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64), + ItemList.Circuit_Silicon_Wafer4.get(2L), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(500)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustGraphite", 64), + ItemList.Circuit_Silicon_Wafer5.get(1L), + GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustGraphene", 64)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(250)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.ElectrumFlux, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahEnriched, 36), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(2304), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32562", 1), - 200, - 1966080); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 4L), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.SFMixture.get(32)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(16) + .addTo(mixerRecipes); - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.ElectrumFlux, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 48), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(4608), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32563", 1), - 300, - 1966080); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.GelledToluene.get(1), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1L), + GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Polybenzimidazole, 1L), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.SFMixture.get(64)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(100)) + .duration(1 * MINUTES + 20 * SECONDS) + .eut(16) + .addTo(mixerRecipes); - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 56), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(9216), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32564", 1), - 600, - 1966080); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.foil, Materials.PolyvinylChloride, 8), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 32)) + .itemOutputs(new ItemStack(Items.book, 64, 0)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(200)) + .duration(1 * SECONDS + 12 * TICKS) + .eut(8) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.RedSteel, 18)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32505", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(144)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.NaquadahAlloy, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Europium, 6)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32506", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(288)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.ElectrumFlux, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Americium, 18)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32507", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt02, Materials.ElectrumFlux, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Naquadah, 24)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32561", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(1152)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.ElectrumFlux, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahEnriched, 36)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32562", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(2304)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.cableGt08, Materials.ElectrumFlux, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 48)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32563", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(4608)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 56)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32564", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(9216)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DraconiumAwakened, 64)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32565", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(18432)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(assemblerRecipes); - GT_Values.RA.addAssemblerRecipe( - GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 2), - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DraconiumAwakened, 64), - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(18432), - ItemUtils.getItemStackFromFQRN("gregtech:gt.metaitem.01:32565", 1), - 1200, - 1966080); if (NewHorizonsCoreMod.isModLoaded() && GalacticraftCore.isModLoaded()) { - GT_Values.RA.addAssemblerRecipe( - new ItemStack[] { ItemUtils.getItemStackFromFQRN("GalacticraftMars:item.itemBasicAsteroids:7", 1), + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackFromFQRN("GalacticraftMars:item.itemBasicAsteroids:7", 1), GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Titanium, 8), - ItemUtils.getItemStackFromFQRN("dreamcraft:item.TungstenString", 8), CI.getNumberedCircuit(1) }, - MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576), - ItemUtils.getItemStackFromFQRN("GalaxySpace:item.ThermalClothT2", 1), - 600, - 1024); + ItemUtils.getItemStackFromFQRN("dreamcraft:item.TungstenString", 8), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(ItemUtils.getItemStackFromFQRN("GalaxySpace:item.ThermalClothT2", 1)) + .fluidInputs(MISC_MATERIALS.ETHYL_CYANOACRYLATE.getFluidStack(576)) + .duration(30 * SECONDS) + .eut(1024) + .addTo(assemblerRecipes); + } } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java index 81fde457ae..d5a41b8ba2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java @@ -1,13 +1,17 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; -import net.minecraft.item.ItemStack; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.LFTR_OUTPUT_POWER; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes; + import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.util.GasSpargingRecipeMap; import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; @@ -60,49 +64,45 @@ public class RecipeLoader_LFTR { FluidStack Li2BeF4 = NUCLIDE.Li2BeF4.getFluidStack(200); // LiFBeF2ThF4UF4 - T3 - GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] { 10000, 10000, 5000, 2500 }, - new FluidStack[] { NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100), Li2BeF4 }, - new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(100), NUCLIDE.LiFBeF2ThF4.getFluidStack(200), - FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(20), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10) }, - 100 * 20, // time - 0, // cost - 32768 * 4 // fuel value - ); + GT_Values.RA.stdBuilder() + .fluidInputs(NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100), Li2BeF4) + .fluidOutputs( + NUCLIDE.LiFBeF2UF4FP.getFluidStack(100), + NUCLIDE.LiFBeF2ThF4.getFluidStack(200), + FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(20), + FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(LFTR_OUTPUT_POWER, 32768 * 4) + .addTo(liquidFluorineThoriumReactorRecipes); // LiFBeF2ZrF4UF4 - T2 - GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] { 10000, 10000, 2500, 1250 }, - new FluidStack[] { NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(100), Li2BeF4 }, - new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(50), NUCLIDE.LiFBeF2ThF4.getFluidStack(100), - FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(5) }, - 100 * 20, // time - 0, // cost - 8192 * 4 // fuel value - ); + GT_Values.RA.stdBuilder() + .fluidInputs(NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(100), Li2BeF4) + .fluidOutputs( + NUCLIDE.LiFBeF2UF4FP.getFluidStack(50), + NUCLIDE.LiFBeF2ThF4.getFluidStack(100), + FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(10), + FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(5)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(LFTR_OUTPUT_POWER, 8192 * 4) + .noOptimize() + .addTo(liquidFluorineThoriumReactorRecipes); // LiFBeF2ZrF4U235 - T1 - GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] { 10000, 10000, 1000, 500 }, - new FluidStack[] { NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(100), Li2BeF4 }, - new FluidStack[] { NUCLIDE.LiFBeF2UF4FP.getFluidStack(25), NUCLIDE.LiFThF4.getFluidStack(50), - FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(4), FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(2) }, - 100 * 20, // time - 0, // cost - 8192 // fuel value - ); + GT_Values.RA.stdBuilder() + .fluidInputs(NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(100), Li2BeF4) + .fluidOutputs( + NUCLIDE.LiFBeF2UF4FP.getFluidStack(25), + NUCLIDE.LiFThF4.getFluidStack(50), + FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(4), + FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(2)) + .duration(1 * MINUTES + 40 * SECONDS) + .eut(0) + .metadata(LFTR_OUTPUT_POWER, 8192) + .noOptimize() + .addTo(liquidFluorineThoriumReactorRecipes); // Sparging NEI Recipes GasSpargingRecipeMap.addRecipe( diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java index cd576dbc8d..df9ef3b1b3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_MolecularTransformer.java @@ -3,23 +3,26 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; import static advsolar.utils.MTRecipeManager.transformerRecipes; import static gregtech.api.enums.Mods.AdvancedSolarPanel; import static gregtech.api.enums.Mods.GalaxySpace; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.molecularTransformerRecipes; import advsolar.utils.MTRecipeRecord; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; public class RecipeLoader_MolecularTransformer { public static void run() { for (MTRecipeRecord aRecipe : transformerRecipes) { - int aEU = MaterialUtils.getVoltageForTier(5); + int aEU = (int) TierEU.RECIPE_IV; Logger.INFO("======================="); Logger.INFO("Generating GT recipe for Molecular Transformer."); Logger.INFO( @@ -30,49 +33,56 @@ public class RecipeLoader_MolecularTransformer { int aTicksRoundedUp = MathUtils.roundToClosestInt(Math.ceil(aTicks)); Logger.INFO("Ticks: " + aTicksRoundedUp); Logger.INFO("Total EU equal or greater? " + ((aTicksRoundedUp * aEU) >= aRecipe.energyPerOperation)); - CORE.RA.addMolecularTransformerRecipe(aRecipe.inputStack, aRecipe.outputStack, aTicksRoundedUp, aEU, 2); + GT_Values.RA.stdBuilder() + .itemInputs(aRecipe.inputStack) + .itemOutputs(aRecipe.outputStack) + .duration(aTicksRoundedUp) + .eut(aEU) + .addTo(molecularTransformerRecipes); + Logger.INFO("======================="); } transformerRecipes.clear(); if (AdvancedSolarPanel.isModLoaded() && GalaxySpace.isModLoaded()) { - CORE.RA.addMolecularTransformerRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 600, - 1920, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 0), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 150, - 7680, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 1), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 38, - 30720, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 2), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 10, - 122880, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 3), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 3, - 491520, - 2); - CORE.RA.addMolecularTransformerRecipe( - GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 4), - GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9), - 1, - 1996080, - 2); + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L)) + .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(molecularTransformerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 0)) + .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_IV) + .addTo(molecularTransformerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 1)) + .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9)) + .duration(1 * SECONDS + 18 * TICKS) + .eut(TierEU.RECIPE_LuV) + .addTo(molecularTransformerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 2)) + .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9)) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_ZPM) + .addTo(molecularTransformerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 3)) + .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9)) + .duration(3 * TICKS) + .eut(TierEU.RECIPE_UV) + .addTo(molecularTransformerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(GalaxySpace.ID, "item.GlowstoneDusts", 1L, 4)) + .itemOutputs(GT_ModHandler.getModItem(AdvancedSolarPanel.ID, "asp_crafting_items", 1L, 9)) + .duration(1 * TICKS) + .eut(1996080) + .addTo(molecularTransformerRecipes); + } } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java index 8b30a3e344..c78fc8a9bd 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java @@ -1,11 +1,23 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; +import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; +import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes; import static gregtech.api.recipe.RecipeMaps.fusionRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.sifterRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD; +import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; import net.minecraft.item.ItemStack; @@ -16,12 +28,10 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.item.chemistry.GenericChem; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.MISC_MATERIALS; @@ -56,39 +66,32 @@ public class RecipeLoader_Nuclear { } private static void autoclave() { - - GT_Values.RA.addAutoclaveRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - FluidUtils.getFluidStack("chlorine", 4000), - ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1), - 0, - 15 * 20, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1)) + .fluidInputs(FluidUtils.getFluidStack("chlorine", 4_000)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(autoclaveRecipes); } private static void blastFurnace() { - GT_Values.RA.addBlastRecipe( - FLUORIDES.LITHIUM_FLUORIDE.getDust(4), - FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3), - GT_Values.NF, - GT_Values.NF, - NUCLIDE.Li2BeF4.getDust(7), - null, - 140 * 20, - 2000, - 3000); - - GT_Values.RA.addBlastRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1), - null, - GT_Values.NF, - GT_Values.NF, - ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1), - null, - 60 * 20, - 340, - 300); + GT_Values.RA.stdBuilder() + .itemInputs(FLUORIDES.LITHIUM_FLUORIDE.getDust(4), FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3)) + .itemOutputs(NUCLIDE.Li2BeF4.getDust(7)) + .duration(2 * MINUTES + 20 * SECONDS) + .eut(2000) + .metadata(COIL_HEAT, 3000) + .addTo(blastFurnaceRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1)) + .duration(1 * MINUTES) + .eut(340) + .metadata(COIL_HEAT, 300) + .addTo(blastFurnaceRecipes); } private static void centrifugeRecipes() { @@ -160,36 +163,39 @@ public class RecipeLoader_Nuclear { private static void chemicalBathRecipes() { int[] chances = { 9000, 6000, 3000 }; - GT_Values.RA.addChemicalBathRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12), - FluidUtils.getFluidStack("chlorine", 2400), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 4), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 5), - chances, - 30 * 20, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 12)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 4), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 5)) + .outputChances(chances) + .fluidInputs(FluidUtils.getFluidStack("chlorine", 2400)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalBathRecipes); chances = new int[] { 9000, 3000, 1000 }; - GT_Values.RA.addChemicalBathRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustRutile", 5), - FluidUtils.getFluidStack("chlorine", 4000), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), - ItemUtils.getItemStackOfAmountFromOreDict("dustTitanium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1), - chances, - 30 * 20, - 1024); - - GT_Values.RA.addChemicalBathRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), - FluidUtils.getFluidStack("hydrofluoricacid", 500), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2), - null, - null, - new int[] {}, - 9 * 20, - 480); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustRutile", 5)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 3), + ItemUtils.getItemStackOfAmountFromOreDict("dustTitanium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1)) + .outputChances(chances) + .fluidInputs(FluidUtils.getFluidStack("chlorine", 4000)) + .duration(30 * SECONDS) + .eut(1024) + .addTo(chemicalBathRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2)) + .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 500)) + .duration(9 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(chemicalBathRecipes); + } private static void chemicalReactorRecipes() { @@ -197,100 +203,110 @@ public class RecipeLoader_Nuclear { ItemStack aGtHydrofluoricAcid = ItemUtils .getItemStackOfAmountFromOreDictNoBroken("cellHydrofluoricAcid_GT5U", 2); - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 6), // Input - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input - null, // Fluid Input - null, // Fluid Output - ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11), - 600 * 20); - - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3), // Input - null, // Input Stack 2 - FluidUtils.getFluidStack("hydrofluoricacid", 500), - FluidUtils.getFluidStack("water", 1000), // Fluid Output - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2), - 120 * 20); - - GT_Values.RA.addChemicalRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 8), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16), - FluidUtils.getFluidStack("water", 8000), - FluidUtils.getFluidStack("lithiumhydroxide", 6912), - CI.emptyCells(8), - 300 * 20); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 6), + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11)) + .duration(10 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 3)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 2)) + .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 500)) + .fluidOutputs(FluidUtils.getFluidStack("water", 1000)) + .duration(2 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 8), + ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 16)) + .itemOutputs(CI.emptyCells(8)) + .fluidInputs(FluidUtils.getFluidStack("water", 8000)) + .fluidOutputs(FluidUtils.getFluidStack("lithiumhydroxide", 6912)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); // LFTR Fuel Related Compounds // Hydroxide - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - ELEMENT.getInstance().OXYGEN.getCell(1), - ELEMENT.getInstance().HYDROGEN.getFluidStack(1000), - MISC_MATERIALS.HYDROXIDE.getFluidStack(1000), - CI.emptyCells(1), - GT_Values.NI, - 8 * 20, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3), ELEMENT.getInstance().OXYGEN.getCell(1)) + .itemOutputs(CI.emptyCells(1)) + .fluidInputs(ELEMENT.getInstance().HYDROGEN.getFluidStack(1000)) + .fluidOutputs(MISC_MATERIALS.HYDROXIDE.getFluidStack(1000)) + .duration(8 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + // Beryllium Hydroxide - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - ELEMENT.getInstance().BERYLLIUM.getDust(1), - MISC_MATERIALS.HYDROXIDE.getFluidStack(2000), - FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(432), - GT_Values.NI, - 4 * 20, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3), ELEMENT.getInstance().BERYLLIUM.getDust(1)) + .fluidInputs(MISC_MATERIALS.HYDROXIDE.getFluidStack(2000)) + .fluidOutputs(FLUORIDES.BERYLLIUM_HYDROXIDE.getFluidStack(432)) + .duration(4 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + // Ammonium Bifluoride - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1), - MISC_MATERIALS.AMMONIA.getFluidStack(1000), - FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576), - CI.emptyCells(1), - 20 * 20, - 30); - if (aGtHydrofluoricAcid != null) { - // Ammonium Bifluoride - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - aGtHydrofluoricAcid, - MISC_MATERIALS.AMMONIA.getFluidStack(1000), - FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576), - CI.emptyCells(2), - 40 * 20, - 30); - } + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(3), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1)) + .itemOutputs(CI.emptyCells(1)) + .fluidInputs(MISC_MATERIALS.AMMONIA.getFluidStack(1000)) + .fluidOutputs(FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + // Ammonium Bifluoride + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3), aGtHydrofluoricAcid) + .itemOutputs(CI.emptyCells(2)) + .fluidInputs(MISC_MATERIALS.AMMONIA.getFluidStack(1000)) + .fluidOutputs(FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(576)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + // Ammonium // To be deprecated now that it is no longer needed for ammonium bifluoride - GT_Values.RA.addChemicalRecipe( - ItemUtils.getGregtechCircuit(3), - ELEMENT.getInstance().HYDROGEN.getCell(1), - MISC_MATERIALS.AMMONIA.getFluidStack(1000), - MISC_MATERIALS.AMMONIUM.getFluidStack(2000), - CI.emptyCells(1), - GT_Values.NI, - 20 * 20, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3), ELEMENT.getInstance().HYDROGEN.getCell(1)) + .itemOutputs(CI.emptyCells(1)) + .fluidInputs(MISC_MATERIALS.AMMONIA.getFluidStack(1000)) + .fluidOutputs(MISC_MATERIALS.AMMONIUM.getFluidStack(2000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); // Sodium Fluoride - GT_Values.RA.addChemicalRecipe( - CI.getNumberedBioCircuit(15), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3), - FluidUtils.getFluidStack("hydrofluoricacid", 500), - FluidUtils.getWater(1000), - FLUORIDES.SODIUM_FLUORIDE.getDust(2), - 60 * 20); - - if (FluidUtils.doesFluidExist("hydrofluoricacid_gt5u")) { - GT_Values.RA.addChemicalRecipe( + GT_Values.RA.stdBuilder() + .itemInputs( CI.getNumberedBioCircuit(15), - ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3), - FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1000), - FluidUtils.getWater(1000), - FLUORIDES.SODIUM_FLUORIDE.getDust(2), - 60 * 20); - } + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3)) + .itemOutputs(FLUORIDES.SODIUM_FLUORIDE.getDust(2)) + .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 500)) + .fluidOutputs(FluidUtils.getWater(1000)) + .duration(1 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); + + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedBioCircuit(15), + ItemUtils.getItemStackOfAmountFromOreDict("dustSodiumHydroxide", 3)) + .itemOutputs(FLUORIDES.SODIUM_FLUORIDE.getDust(2)) + .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1000)) + .fluidOutputs(FluidUtils.getWater(1000)) + .duration(1 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(UniversalChemical); } private static void dehydratorRecipes() { @@ -310,37 +326,31 @@ public class RecipeLoader_Nuclear { .addTo(chemicalDehydratorRecipes); // Makes Lithium Carbonate - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.emptyCells(12), ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20) }, // Item - // input - // (Array, - // up - // to - // 2) - FluidUtils.getFluidStack("sulfuricacid", 10000), - FluidUtils.getFluidStack("sulfuriclithium", 10000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1), + GT_Values.RA.stdBuilder() + .itemInputs(CI.emptyCells(12), ItemUtils.getItemStackOfAmountFromOreDict("dustLepidolite", 20)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustPotassium", 1), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4), ItemUtils.getItemStackOfAmountFromOreDict("cellOxygen", 10), ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 2), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3), // LithiumCarbonate - }, // Output Array of Items - Upto 9, - new int[] { 10000, 10000, 10000, 10000, 10000 }, - 75 * 20, // Time in ticks - 1000); // EU + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 3)) + .fluidInputs(FluidUtils.getFluidStack("sulfuricacid", 10000)) + .fluidOutputs(FluidUtils.getFluidStack("sulfuriclithium", 10000)) + .eut(1_000) + .duration(1 * MINUTES + 15 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Calcium Hydroxide if (ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) { // CaO + H2O = Ca(OH)2 - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedBioCircuit(20), - ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 2) }, - FluidUtils.getFluidStack("water", 1000), - null, // Fluid output (slot 2) - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5) }, // Output - new int[] { 10000 }, - 12 * 20, // Time in ticks - 120); // EU + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedBioCircuit(20), ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 2)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5)) + .fluidInputs(FluidUtils.getFluidStack("water", 1000)) + .eut(TierEU.RECIPE_MV) + .duration(12 * SECONDS) + .addTo(chemicalDehydratorRecipes); + } else { Logger.INFO("[dustCalciumHydroxide] FAILED TO LOAD RECIPE"); if (!ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) { @@ -349,143 +359,164 @@ public class RecipeLoader_Nuclear { } // 2 LiOH + CaCO3 - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(20), - ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11) }, // Item - null, // Fluid input (slot 1) - null, // Fluid output (slot 2) - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 6), - ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5) }, // Output - new int[] { 10000, 10000 }, - 240 * 20, // Time in ticks - 1000); // EU + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(20), + ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 11)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 6), + ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumCarbonate", 5)) + .eut(1_000) + .duration(6 * MINUTES) + .addTo(chemicalDehydratorRecipes); // LiOH Liquid to Dust - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(22) }, - FluidUtils.getFluidStack("lithiumhydroxide", 144), - null, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1) }, - new int[] { 10000 }, - 1 * 20, // Time in ticks - 64); // EU + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(22)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 1)) + .fluidInputs(FluidUtils.getFluidStack("lithiumhydroxide", 144)) + .eut(64) + .duration(1 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Zirconium Chloride -> TetraFluoride FluidStack aHydrogenChloride = new FluidStack(GenericChem.HydrochloricAcid, 800); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(11), - ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1), }, // Item - FluidUtils.getFluidStack("hydrofluoricacid", 400), - aHydrogenChloride, - new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1) }, - new int[] { 10000 }, - 15 * 20, // Time in ticks - 500); // EU + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(11), + ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1)) + .itemOutputs() + .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 400)) + .fluidOutputs(aHydrogenChloride) + .eut(500) + .duration(15 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Zirconium Chloride -> TetraFluoride - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(10), - ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1) }, - FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 800), - aHydrogenChloride, - new ItemStack[] { FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1) }, - new int[] { 10000 }, - 30 * 20, // Time in ticks - 500); // EU + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(10), + ItemUtils.getItemStackOfAmountFromOreDict("dustCookedZrCl4", 1)) + .itemOutputs(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1)) + .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 800)) + .fluidOutputs(aHydrogenChloride) + .eut(500) + .duration(30 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Be(OH)2 + 2 (NH4)HF2 → (NH4)2BeF4 + 2 H2O // Inputs use solid rule because they are molten forms of solids // Outputs use fluid rule because they are not molten forms of solids - CORE.RA.addDehydratorRecipe( - new ItemStack[] { FLUORIDES.BERYLLIUM_HYDROXIDE.getDust(3), CI.emptyCells(2) }, - FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(1152), // Fluid input (slot 1) - FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2) }, - new int[] { 10000 }, - 6 * 20, // Time in ticks - 64); // EU + GT_Values.RA.stdBuilder() + .itemInputs(FLUORIDES.BERYLLIUM_HYDROXIDE.getDust(3), CI.emptyCells(2)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellWater", 2)) + .fluidInputs(FLUORIDES.AMMONIUM_BIFLUORIDE.getFluidStack(1152)) + .fluidOutputs(FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000)) + .eut(64) + .duration(6 * SECONDS) + .addTo(chemicalDehydratorRecipes); // (NH4)2BeF4 → 2 NH3 + 2 HF + BeF2 // Ammonium tetrafluoroberyllate uses fluid rule because it is not a molten form of a solid // Beryllium fluoride uses solid rule // Industrial strength hydrofluoric acid follows its usual convention where it is twice as dense as regular // hydrofluoric acid - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(17), CI.emptyCells(3) }, - FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000), - null, - new ItemStack[] { MISC_MATERIALS.AMMONIA.getCell(2), + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(17), CI.emptyCells(3)) + .itemOutputs( + MISC_MATERIALS.AMMONIA.getCell(2), ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 1), - FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3) }, - new int[] { 10000, 10000, 10000 }, - 5 * 60 * 20, - 120); + FLUORIDES.BERYLLIUM_FLUORIDE.getDust(3)) + .fluidInputs(FLUORIDES.AMMONIUM_TETRAFLUOROBERYLLATE.getFluidStack(1000)) + .eut(TierEU.RECIPE_MV) + .duration(5 * MINUTES) + .addTo(chemicalDehydratorRecipes); } private static void electroMagneticSeperator() { // Zirconium - GT_Values.RA.addElectromagneticSeparatorRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1), - ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1), - new int[] { 10000, 2500, 4000 }, - 20 * 20, - 24); - + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedBauxite", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustBauxite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallRutile", 1), + ItemUtils.getItemStackOfAmountFromOreDict("nuggetZirconium", 1)) + .outputChances(10000, 2500, 4000) + .duration(20 * SECONDS) + .eut(24) + .addTo(electroMagneticSeparatorRecipes); // Zircon - GT_Values.RA.addElectromagneticSeparatorRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMagnetite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1), - new int[] { 10000, 1250, 2500 }, - 20 * 20, - 24); - GT_Values.RA.addElectromagneticSeparatorRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1), - new int[] { 10000, 1250, 2500 }, - 20 * 20, - 24); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedMagnetite", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustMagnetite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1)) + .outputChances(10000, 1250, 2500) + .duration(20 * SECONDS) + .eut(24) + .addTo(electroMagneticSeparatorRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustSmallZircon", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustTinyZircon", 1)) + .outputChances(10000, 1250, 2500) + .duration(20 * SECONDS) + .eut(24) + .addTo(electroMagneticSeparatorRecipes); + } private static void fluidExtractorRecipes() { // FLiBe fuel - CORE.RA.addFluidExtractionRecipe(NUCLIDE.Li2BeF4.getDust(1), NUCLIDE.Li2BeF4.getFluidStack(144), 100, 500); + GT_Values.RA.stdBuilder() + .itemInputs(NUCLIDE.Li2BeF4.getDust(1)) + .fluidOutputs(NUCLIDE.Li2BeF4.getFluidStack(144)) + .duration(5 * SECONDS) + .eut(500) + .addTo(fluidExtractionRecipes); + // Lithium Fluoride - CORE.RA.addFluidExtractionRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 1), - FLUORIDES.LITHIUM_FLUORIDE.getFluidStack(144), - 100, - 500); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 1)) + .fluidOutputs(FLUORIDES.LITHIUM_FLUORIDE.getFluidStack(144)) + .duration(5 * SECONDS) + .eut(500) + .addTo(fluidExtractionRecipes); + // LFTR Fuel 1 - CORE.RA.addFluidExtractionRecipe( - NUCLIDE.LiFBeF2ZrF4U235.getDust(1), - NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(144), - 250, - 1000); - CORE.RA.addFluidExtractionRecipe( - NUCLIDE.LiFBeF2ZrF4UF4.getDust(1), - NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(144), - 150, - 1500); - CORE.RA.addFluidExtractionRecipe( - NUCLIDE.LiFBeF2ThF4UF4.getDust(1), - NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(144), - 150, - 2000); + GT_Values.RA.stdBuilder() + .itemInputs(NUCLIDE.LiFBeF2ZrF4U235.getDust(1)) + .fluidOutputs(NUCLIDE.LiFBeF2ZrF4U235.getFluidStack(144)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(1000) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(NUCLIDE.LiFBeF2ZrF4UF4.getDust(1)) + .fluidOutputs(NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(144)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(1500) + .addTo(fluidExtractionRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(NUCLIDE.LiFBeF2ThF4UF4.getDust(1)) + .fluidOutputs(NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(144)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(2000) + .addTo(fluidExtractionRecipes); // ZIRCONIUM_TETRAFLUORIDE - CORE.RA.addFluidExtractionRecipe( - FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1), - FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(144), - 200, - 512 + 256); + GT_Values.RA.stdBuilder() + .itemInputs(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getDust(1)) + .fluidOutputs(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(144)) + .duration(10 * SECONDS) + .eut(512 + 256) + .addTo(fluidExtractionRecipes); } private static void fusionChainRecipes() { @@ -495,7 +526,7 @@ public class RecipeLoader_Nuclear { .fluidOutputs(new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 1000)) .duration(3 * SECONDS + 4 * TICKS) .eut(TierEU.RECIPE_LuV) - .metadata(FUSION_THRESHOLD, 100000000) + .metadata(FUSION_THRESHOLD, 100_000_000) .addTo(fusionRecipes); GT_Values.RA.stdBuilder() @@ -505,7 +536,7 @@ public class RecipeLoader_Nuclear { .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 1000)) .duration(3 * SECONDS + 4 * TICKS) .eut(TierEU.RECIPE_LuV) - .metadata(FUSION_THRESHOLD, 100000000) + .metadata(FUSION_THRESHOLD, 100_000_000) .addTo(fusionRecipes); // Mk2 @@ -514,7 +545,7 @@ public class RecipeLoader_Nuclear { .fluidOutputs(new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 144)) .duration(32 * TICKS) .eut(TierEU.RECIPE_ZPM) - .metadata(FUSION_THRESHOLD, 300000000) + .metadata(FUSION_THRESHOLD, 300_000_000) .addTo(fusionRecipes); GT_Values.RA.stdBuilder() @@ -524,7 +555,7 @@ public class RecipeLoader_Nuclear { .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getPlasma(), 1000)) .duration(32 * TICKS) .eut(TierEU.RECIPE_ZPM) - .metadata(FUSION_THRESHOLD, 300000000) + .metadata(FUSION_THRESHOLD, 300_000_000) .addTo(fusionRecipes); GT_Values.RA.stdBuilder() @@ -534,7 +565,7 @@ public class RecipeLoader_Nuclear { .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.RUNITE.getPlasma(), 1000)) .duration(32 * TICKS) .eut(TierEU.RECIPE_ZPM) - .metadata(FUSION_THRESHOLD, 300000000) + .metadata(FUSION_THRESHOLD, 300_000_000) .addTo(fusionRecipes); // Mk3 @@ -543,7 +574,7 @@ public class RecipeLoader_Nuclear { .fluidOutputs(new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 144)) .duration(16 * TICKS) .eut(TierEU.RECIPE_UV) - .metadata(FUSION_THRESHOLD, 500000000) + .metadata(FUSION_THRESHOLD, 500_000_000) .addTo(fusionRecipes); GT_Values.RA.stdBuilder() @@ -553,7 +584,7 @@ public class RecipeLoader_Nuclear { .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.ADVANCED_NITINOL.getPlasma(), 1000)) .duration(16 * TICKS) .eut(TierEU.RECIPE_UV) - .metadata(FUSION_THRESHOLD, 500000000) + .metadata(FUSION_THRESHOLD, 500_000_000) .addTo(fusionRecipes); GT_Values.RA.stdBuilder() @@ -563,15 +594,17 @@ public class RecipeLoader_Nuclear { .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 1000)) .duration(16 * TICKS) .eut(TierEU.RECIPE_UV) - .metadata(FUSION_THRESHOLD, 500000000) + .metadata(FUSION_THRESHOLD, 500_000_000) .addTo(fusionRecipes); } private static void macerator() { - - GT_ModHandler.addPulverisationRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 5)); + RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("pelletZirconium", 1)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustZrCl4", 5)) + .eut(2) + .duration(20 * SECONDS) + .addTo(maceratorRecipes); } private static void mixerRecipes() { @@ -580,112 +613,121 @@ public class RecipeLoader_Nuclear { // UF4 uses solid rule due to item form even though item form currently is inaccessible because item form may be // accessible in future and must be consistent // UF4 solid rule also assumes 1:144 item:fluid ratio in this case - GT_Values.RA.addMixerRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4), - ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), - null, - null, - FluidUtils.getFluidStack("hydrofluoricacid", 10000), - FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(3600), - null, - 3000, - 500); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustUranium233", 4), + ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1)) + .fluidInputs(FluidUtils.getFluidStack("hydrofluoricacid", 10000)) + .fluidOutputs(FLUORIDES.URANIUM_TETRAFLUORIDE.getFluidStack(3600)) + .duration(2 * MINUTES + 30 * SECONDS) + .eut(500) + .addTo(mixerRecipes); + } private static void sifter() { - // Zirconium - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIlmenite", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1), + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedIlmenite", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustIron", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustWroughtIron", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1) }, - new int[] { 5000, 278, 1000, 1000, 300, 300 }, - 20 * 30, - 500); - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustHafnium", 1)) + .outputChances(5000, 278, 1000, 1000, 300, 300) + .duration(30 * SECONDS) + .eut(500) + .addTo(sifterRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedTin", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZinc", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) }, - new int[] { 10000, 556, 1500, 1000, 500, 500 }, - 20 * 30, - 500); - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1)) + .outputChances(10000, 556, 1500, 1000, 500, 500) + .duration(30 * SECONDS) + .eut(500) + .addTo(sifterRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedCassiterite", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustCassiterite", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1) }, - new int[] { 10000, 556, 1500, 1000, 500, 500 }, - 20 * 30, - 500); - + ItemUtils.getItemStackOfAmountFromOreDict("dustZirconium", 1)) + .outputChances(10000, 556, 1500, 1000, 500, 500) + .duration(30 * SECONDS) + .eut(500) + .addTo(sifterRecipes); // Radium - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedThorium", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 1), + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedThorium", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, - new int[] { 10000, 500, 300, 200, 100, 100 }, - 20 * 30, - 500); - - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUranium", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1)) + .outputChances(10000, 500, 300, 200, 100, 100) + .duration(30 * SECONDS) + .eut(500) + .addTo(sifterRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUranium", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, - new int[] { 10000, 556, 1000, 500, 500, 500 }, - 20 * 30, - 500); - - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUraninite", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustUraninite", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1)) + .outputChances(10000, 556, 1000, 500, 500, 500) + .duration(30 * SECONDS) + .eut(500) + .addTo(sifterRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedUraninite", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustUraninite", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustUranium", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, - new int[] { 10000, 556, 500, 250, 250, 250 }, - 20 * 30, - 500); - - GT_Values.RA.addSifterRecipe( - ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPitchblende", 1), - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustPitchblende", 1), + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1)) + .outputChances(10000, 556, 500, 250, 250, 250) + .duration(30 * SECONDS) + .eut(500) + .addTo(sifterRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("crushedPurifiedPitchblende", 1)) + .itemOutputs( + ItemUtils.getItemStackOfAmountFromOreDict("dustPitchblende", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustLead", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1), - ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1) }, - new int[] { 10000, 556, 500, 250, 250, 250 }, - 20 * 30, - 500); + ItemUtils.getItemStackOfAmountFromOreDict("dustRadium226", 1)) + .outputChances(10000, 556, 500, 250, 250, 250) + .duration(30 * SECONDS) + .eut(500) + .addTo(sifterRecipes); + } private static void fluidHeater() { - - CORE.RA.addFluidHeaterRecipe( - FLUORIDES.SODIUM_FLUORIDE.getDust(1), - null, - FLUORIDES.SODIUM_FLUORIDE.getFluidStack(144), - 20 * 30, - 500); + GT_Values.RA.stdBuilder() + .itemInputs(FLUORIDES.SODIUM_FLUORIDE.getDust(1)) + .fluidOutputs(FLUORIDES.SODIUM_FLUORIDE.getFluidStack(144)) + .duration(30 * SECONDS) + .eut(500) + .addTo(fluidHeaterRecipes); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java index dec6fd426a..30066acf66 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java @@ -2,25 +2,28 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.CHEMPLANT_CASING_TIER; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalPlantRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.coldTrapRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.fissionFuelProcessingRecipes; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.reactorProcessingUnitRecipes; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.TierEU; import gtPlusPlus.core.item.chemistry.NuclearChem; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; public class RecipeLoader_NuclearFuelProcessing { @@ -39,159 +42,170 @@ public class RecipeLoader_NuclearFuelProcessing { final FluidStack aLiFBeF2ThF4UF4 = NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(100); // 7LiF - BeF2 - ZrF4 - U235 - 590C - CORE.RA.addFissionFuel( - FluidUtils.getFluidStack(aLithiumFluoride, 550), - FluidUtils.getFluidStack(aBerylliumFluoride, 150), - FluidUtils.getFluidStack(aZirconiumFluoride, 60), - FluidUtils.getFluidStack(aUranium235, 240), - null, - null, - null, - null, - null, // Extra 5 inputs - FluidUtils.getFluidStack(aLiFBeF2ZrF4U235, 1000), - null, - 30 * 60 * 20, // Duration - MaterialUtils.getVoltageForTier(4)); - + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidUtils.getFluidStack(aLithiumFluoride, 550), + FluidUtils.getFluidStack(aBerylliumFluoride, 150), + FluidUtils.getFluidStack(aZirconiumFluoride, 60), + FluidUtils.getFluidStack(aUranium235, 240)) + .fluidOutputs(FluidUtils.getFluidStack(aLiFBeF2ZrF4U235, 1000)) + .duration(30 * MINUTES) + .eut(TierEU.RECIPE_EV) + .addTo(fissionFuelProcessingRecipes); // 7LiF - BeF2 - ZrF4 - UF4 - 650C - CORE.RA.addFissionFuel( - FluidUtils.getFluidStack(aLithiumFluoride, 600), - FluidUtils.getFluidStack(aBerylliumFluoride, 250), - FluidUtils.getFluidStack(aZirconiumFluoride, 80), - FluidUtils.getFluidStack(aUraniumTetraFluoride, 70), - null, - null, - null, - null, - null, // Extra 5 inputs - FluidUtils.getFluidStack(aLiFBeF2ZrF4UF4, 1000), - null, - 40 * 60 * 20, - MaterialUtils.getVoltageForTier(5)); - + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidUtils.getFluidStack(aLithiumFluoride, 600), + FluidUtils.getFluidStack(aBerylliumFluoride, 250), + FluidUtils.getFluidStack(aZirconiumFluoride, 80), + FluidUtils.getFluidStack(aUraniumTetraFluoride, 70)) + .fluidOutputs(FluidUtils.getFluidStack(aLiFBeF2ZrF4UF4, 1000)) + .duration(40 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(fissionFuelProcessingRecipes); // 7liF - BeF2 - ThF4 - UF4 - 566C - CORE.RA.addFissionFuel( - FluidUtils.getFluidStack(aLithiumFluoride, 580), - FluidUtils.getFluidStack(aBerylliumFluoride, 270), - FluidUtils.getFluidStack(aThoriumFluoride, 80), - FluidUtils.getFluidStack(aUraniumTetraFluoride, 70), - null, - null, - null, - null, - null, // Extra 5 inputs - FluidUtils.getFluidStack(aLiFBeF2ThF4UF4, 1000), - null, - 50 * 60 * 20, // Duration - MaterialUtils.getVoltageForTier(5)); + GT_Values.RA.stdBuilder() + .fluidInputs( + FluidUtils.getFluidStack(aLithiumFluoride, 580), + FluidUtils.getFluidStack(aBerylliumFluoride, 270), + FluidUtils.getFluidStack(aThoriumFluoride, 80), + FluidUtils.getFluidStack(aUraniumTetraFluoride, 70)) + .fluidOutputs(FluidUtils.getFluidStack(aLiFBeF2ThF4UF4, 1000)) + .duration(50 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(fissionFuelProcessingRecipes); // Reprocess Fuels // Reactor Blanket step 1 - Fluorination - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(17), - ELEMENT.getInstance().FLUORINE.getCell(6), - NUCLIDE.LiFThF4.getFluidStack(10000), - new ItemStack[] { CI.emptyCells(5), FLUORIDES.LITHIUM_FLUORIDE.getCell(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1) }, - new int[] { 10000, 10000, 500, 500, 500, 250, 250, 250 }, - NUCLIDE.UF6F2.getFluidStack(1500), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(5)); - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(18), - ELEMENT.getInstance().FLUORINE.getCell(6), - NUCLIDE.LiFBeF2ThF4.getFluidStack(10000), - new ItemStack[] { CI.emptyCells(4), FLUORIDES.LITHIUM_FLUORIDE.getCell(1), - FLUORIDES.BERYLLIUM_FLUORIDE.getCell(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1) }, - new int[] { 10000, 10000, 10000, 1000, 1000, 1000, 500, 500, 500 }, - NUCLIDE.UF6F2.getFluidStack(3000), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(5)); - + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(17), ELEMENT.getInstance().FLUORINE.getCell(6)) + .itemOutputs( + CI.emptyCells(5), + FLUORIDES.LITHIUM_FLUORIDE.getCell(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1)) + .outputChances(10000, 10000, 500, 500, 500, 250, 250, 250) + .fluidInputs(NUCLIDE.LiFThF4.getFluidStack(10000)) + .fluidOutputs(NUCLIDE.UF6F2.getFluidStack(1500)) + .duration(10 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(reactorProcessingUnitRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(18), ELEMENT.getInstance().FLUORINE.getCell(6)) + .itemOutputs( + CI.emptyCells(4), + FLUORIDES.LITHIUM_FLUORIDE.getCell(1), + FLUORIDES.BERYLLIUM_FLUORIDE.getCell(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1)) + .outputChances(10000, 10000, 10000, 1000, 1000, 1000, 500, 500, 500) + .fluidInputs(NUCLIDE.LiFBeF2ThF4.getFluidStack(10000)) + .fluidOutputs(NUCLIDE.UF6F2.getFluidStack(3000)) + .duration(10 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(reactorProcessingUnitRecipes); // Reactor Blanket step 1 - Fluorination - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(7), - ELEMENT.getInstance().FLUORINE.getCell(6), - NUCLIDE.Sparged_LiFThF4.getFluidStack(10000), - new ItemStack[] { CI.emptyCells(4), FLUORIDES.LITHIUM_FLUORIDE.getCell(2), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1) }, - new int[] { 10000, 10000, 1000, 1000, 1000, 1000, 1000, 1000 }, - NUCLIDE.UF6F2.getFluidStack(3000), - 20 * 60 * 5, - MaterialUtils.getVoltageForTier(5)); - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(8), - ELEMENT.getInstance().FLUORINE.getCell(6), - NUCLIDE.Sparged_LiFBeF2ThF4.getFluidStack(10000), - new ItemStack[] { CI.emptyCells(2), FLUORIDES.LITHIUM_FLUORIDE.getCell(2), - FLUORIDES.BERYLLIUM_FLUORIDE.getCell(2), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1), ELEMENT.getInstance().PROTACTINIUM.getDust(1), - ELEMENT.getInstance().PROTACTINIUM.getDust(1) }, - new int[] { 10000, 10000, 10000, 2000, 2000, 2000, 2000, 2000, 2000 }, - NUCLIDE.UF6F2.getFluidStack(6000), - 20 * 60 * 5, - MaterialUtils.getVoltageForTier(5)); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(7), ELEMENT.getInstance().FLUORINE.getCell(6)) + .itemOutputs( + CI.emptyCells(4), + FLUORIDES.LITHIUM_FLUORIDE.getCell(2), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1)) + .outputChances(10000, 10000, 1000, 1000, 1000, 1000, 1000, 1000) + .fluidInputs(NUCLIDE.Sparged_LiFThF4.getFluidStack(10000)) + .fluidOutputs(NUCLIDE.UF6F2.getFluidStack(3000)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(reactorProcessingUnitRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(8), ELEMENT.getInstance().FLUORINE.getCell(6)) + .itemOutputs( + CI.emptyCells(2), + FLUORIDES.LITHIUM_FLUORIDE.getCell(2), + FLUORIDES.BERYLLIUM_FLUORIDE.getCell(2), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1), + ELEMENT.getInstance().PROTACTINIUM.getDust(1)) + .outputChances(10000, 10000, 10000, 2000, 2000, 2000, 2000, 2000, 2000) + .fluidInputs(NUCLIDE.Sparged_LiFBeF2ThF4.getFluidStack(10000)) + .fluidOutputs(NUCLIDE.UF6F2.getFluidStack(6000)) + .duration(5 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(reactorProcessingUnitRecipes); // Reactor Blanket step 2 - Sorption + Cold Trap - CORE.RA.addColdTrapRecipe( - 8, - FLUORIDES.SODIUM_FLUORIDE.getCell(4), - NUCLIDE.UF6F2.getFluidStack(3000), - new ItemStack[] { ELEMENT.getInstance().FLUORINE.getCell(2), FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2), - ELEMENT.getInstance().URANIUM233.getDust(1), ELEMENT.getInstance().URANIUM233.getDust(1), - ELEMENT.getInstance().URANIUM233.getDust(1) }, - new int[] { 10000, 10000, 3000, 2000, 1000 }, - FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(3)); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(8), FLUORIDES.SODIUM_FLUORIDE.getCell(4)) + .itemOutputs( + ELEMENT.getInstance().FLUORINE.getCell(2), + FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2), + ELEMENT.getInstance().URANIUM233.getDust(1), + ELEMENT.getInstance().URANIUM233.getDust(1), + ELEMENT.getInstance().URANIUM233.getDust(1)) + .outputChances(10000, 10000, 3000, 2000, 1000) + .fluidInputs(NUCLIDE.UF6F2.getFluidStack(3000)) + .fluidOutputs(FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000)) + .duration(10 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(coldTrapRecipes); // LiBeF2UF4FP + F2 = LiFBeF2 & UF6F2FP // Reactor Core step 1 - Process Burnt Salt - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(1), - ELEMENT.getInstance().FLUORINE.getCell(1), - NUCLIDE.LiFBeF2UF4FP.getFluidStack(1000), - new ItemStack[] { NUCLIDE.UF6F2FP.getCell(1) }, - new int[] { 10000 }, - FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 1000), - 20 * 60 * 120, - MaterialUtils.getVoltageForTier(3)); - + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(1), ELEMENT.getInstance().FLUORINE.getCell(1)) + .itemOutputs(NUCLIDE.UF6F2FP.getCell(1)) + .outputChances(10000) + .fluidInputs(NUCLIDE.LiFBeF2UF4FP.getFluidStack(1000)) + .fluidOutputs(FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 1000)) + .duration(2 * HOURS) + .eut(TierEU.RECIPE_HV) + .addTo(reactorProcessingUnitRecipes); // LiBeF2UF4FP + F2 = LiFBeF2 & UF6F2FP // Reactor Core step 1 - Process Burnt Salt - CORE.RA.addReactorProcessingUnitRecipe( - CI.getNumberedAdvancedCircuit(1), - ELEMENT.getInstance().FLUORINE.getCell(3), - NUCLIDE.Sparged_LiFBeF2UF4FP.getFluidStack(1000), - new ItemStack[] { CI.emptyCells(1), NUCLIDE.UF6F2FP.getCell(2) }, - new int[] { 10000 }, - FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 2000), - 20 * 60 * 60, - MaterialUtils.getVoltageForTier(3)); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(1), ELEMENT.getInstance().FLUORINE.getCell(3)) + .itemOutputs(CI.emptyCells(1), NUCLIDE.UF6F2FP.getCell(2)) + .fluidInputs(NUCLIDE.Sparged_LiFBeF2UF4FP.getFluidStack(1000)) + .fluidOutputs(FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 2000)) + .duration(60 * MINUTES) + .eut(TierEU.RECIPE_HV) + .addTo(reactorProcessingUnitRecipes); // Reactor Core step 2A - Sorption + Cold Trap - CORE.RA.addColdTrapRecipe( - 8, - FLUORIDES.SODIUM_FLUORIDE.getCell(3), - NUCLIDE.UF6F2FP.getFluidStack(2000), - new ItemStack[] { ELEMENT.getInstance().FLUORINE.getCell(1), FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2), - ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1), - ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1), - ELEMENT.getInstance().PHOSPHORUS.getDust(1), ELEMENT.getInstance().PHOSPHORUS.getDust(1) }, - new int[] { 10000, 10000, 5000, 5000, 5000, 5000, 5000, 5000 }, - FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000), - 20 * 60 * 10, - MaterialUtils.getVoltageForTier(4)); + GT_Values.RA.stdBuilder() + .itemInputs(CI.getNumberedAdvancedCircuit(8), FLUORIDES.SODIUM_FLUORIDE.getCell(3)) + .itemOutputs( + ELEMENT.getInstance().FLUORINE.getCell(1), + FLUORIDES.URANIUM_HEXAFLUORIDE.getCell(2), + ELEMENT.getInstance().PHOSPHORUS.getDust(1), + ELEMENT.getInstance().PHOSPHORUS.getDust(1), + ELEMENT.getInstance().PHOSPHORUS.getDust(1), + ELEMENT.getInstance().PHOSPHORUS.getDust(1), + ELEMENT.getInstance().PHOSPHORUS.getDust(1), + ELEMENT.getInstance().PHOSPHORUS.getDust(1)) + .outputChances(10000, 10000, 5000, 5000, 5000, 5000, 5000, 5000) + .fluidInputs(NUCLIDE.UF6F2FP.getFluidStack(2000)) + .fluidOutputs(FLUORIDES.SODIUM_FLUORIDE.getFluidStack(2000)) + .duration(10 * MINUTES) + .eut(TierEU.RECIPE_EV) + .addTo(coldTrapRecipes); // Reactor Core step 2B - Distillation GT_Values.RA.stdBuilder() @@ -214,45 +228,28 @@ public class RecipeLoader_NuclearFuelProcessing { .addTo(blastFurnaceRecipes); // Alternative recipe to the above, for chemplant, to not use cells - CORE.RA.addChemicalPlantRecipe( - new ItemStack[] {}, - new FluidStack[] { FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(1000), NUCLIDE.LiFBeF2.getFluidStack(1000), - ELEMENT.getInstance().HYDROGEN.getFluidStack(2000) }, - new ItemStack[] {}, - new FluidStack[] { NUCLIDE.LiFBeF2UF4.getFluidStack(3000), - FluidUtils.getFluidStack("hydrofluoricacid", 2000) }, - 300 * 10, - MaterialUtils.getVoltageForTier(5), - 4); - - CORE.RA.addFissionFuel( - FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(100), - NUCLIDE.LiFBeF2UF4.getFluidStack(900), - null, - null, - null, - null, - null, - null, - null, - NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(1000), - null, - 20 * 60 * 12, // Duration - MaterialUtils.getVoltageForTier(5)); + GT_Values.RA.stdBuilder() + .fluidInputs( + FLUORIDES.URANIUM_HEXAFLUORIDE.getFluidStack(1000), + NUCLIDE.LiFBeF2.getFluidStack(1000), + ELEMENT.getInstance().HYDROGEN.getFluidStack(2000)) + .fluidOutputs(NUCLIDE.LiFBeF2UF4.getFluidStack(3000), FluidUtils.getFluidStack("hydrofluoricacid", 2000)) + .duration(2 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_IV) + .metadata(CHEMPLANT_CASING_TIER, 4) + .addTo(chemicalPlantRecipes); - CORE.RA.addFissionFuel( - FLUORIDES.THORIUM_TETRAFLUORIDE.getFluidStack(100), - NUCLIDE.LiFBeF2UF4.getFluidStack(900), - null, - null, - null, - null, - null, - null, - null, - NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(1000), - null, - 20 * 60 * 15, // Duration - MaterialUtils.getVoltageForTier(5)); + GT_Values.RA.stdBuilder() + .fluidInputs(FLUORIDES.ZIRCONIUM_TETRAFLUORIDE.getFluidStack(100), NUCLIDE.LiFBeF2UF4.getFluidStack(900)) + .fluidOutputs(NUCLIDE.LiFBeF2ZrF4UF4.getFluidStack(1000)) + .duration(12 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(fissionFuelProcessingRecipes); + GT_Values.RA.stdBuilder() + .fluidInputs(FLUORIDES.THORIUM_TETRAFLUORIDE.getFluidStack(100), NUCLIDE.LiFBeF2UF4.getFluidStack(900)) + .fluidOutputs(NUCLIDE.LiFBeF2ThF4UF4.getFluidStack(1000)) + .duration(15 * MINUTES) + .eut(TierEU.RECIPE_IV) + .addTo(fissionFuelProcessingRecipes); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java deleted file mode 100644 index 6b4a02e984..0000000000 --- a/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ /dev/null @@ -1,1220 +0,0 @@ -package gtPlusPlus.xmod.gregtech.recipes; - -import static gregtech.api.enums.GT_Values.RA; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.Materials; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.SemiFluidFuelHandler; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.material.Material; -import gtPlusPlus.core.material.MaterialGenerator; -import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.data.ArrayUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.core.util.minecraft.MaterialUtils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; -import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder; -import gtPlusPlus.xmod.gregtech.common.helpers.FlotationRecipeHandler; - -public class GregtechRecipeAdder implements IGregtech_RecipeAdder { - - @Override - public boolean addCokeOvenRecipe(final ItemStack aInput1, final ItemStack aInput2, final FluidStack aFluidInput, - final FluidStack aFluidOutput, final ItemStack aOutput, int aDuration, final int aEUt) { - if (aInput1 == null || (aOutput == null && aFluidOutput == null)) { - Logger.WARNING("Something was null, returning false"); - return false; - } - if (aOutput != null && (aDuration <= 0)) { - Logger.WARNING("Something was null, returning false"); - return false; - } - if (aFluidOutput != null && (aDuration <= 0)) { - Logger.WARNING("Something was null, returning false"); - return false; - } - - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - new ItemStack[] { aInput1, aInput2 }, - new ItemStack[] { aOutput }, - null, - new int[] {}, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - Math.max(1, aEUt), - 0); - GTPPRecipeMaps.cokeOvenRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addCokeOvenRecipe(int aCircuit, ItemStack aInput2, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt) { - return addCokeOvenRecipe( - aInput2, - CI.getNumberedCircuit(aCircuit), - aFluidInputs, - aFluidOutputs, - aOutputs, - aDuration, - aEUt); - } - - @Override - public boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt) { - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - new ItemStack[] { aInput1, aInput2 }, - aOutputs, - null, - new int[] {}, - aFluidInputs, - aFluidOutputs, - Math.max(1, aDuration), - Math.max(1, aEUt), - 0); - GTPPRecipeMaps.cokeOvenRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addMatterFabricatorRecipe(final FluidStack aFluidInput, final FluidStack aFluidOutput, - final int aDuration, final int aEUt) { - if (aFluidOutput == null) { - Logger.WARNING("Something was null, returning false"); - return false; - } - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - aFluidInput == null ? new FluidStack[] {} : new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - 0); - GTPPRecipeMaps.multiblockMassFabricatorRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addDehydratorRecipe(final ItemStack[] aInput, final FluidStack aFluidInput, - final FluidStack aFluidOutput, final ItemStack[] aOutputItems, final int[] aChances, int aDuration, - final int aEUt) throws IndexOutOfBoundsException { - if (((aInput == null || aInput.length == 0) && (aFluidInput == null)) - || ((aOutputItems == null || aOutputItems.length == 0) && (aFluidOutput == null))) { - return false; - } - - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - aInput, - aOutputItems, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - Math.max(1, aDuration), - Math.max(1, aEUt), - 0); - GTPPRecipeMaps.chemicalDehydratorRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aOutput, final int aChance, int aDuration, - final int aEUt) { - return addBlastSmelterRecipe( - aInput, - (FluidStack) null, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - 3700); - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - final int aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - 3700); - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - final int aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - 3700); - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, final int[] aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe(aInput, aInputFluid, aOutput, aOutputStack, aChance, aDuration, aEUt, 3700); - } - - @Override - public boolean addBlastSmelterRecipe(final ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, final int[] aChance, int aDuration, final int aEUt) { - return addBlastSmelterRecipe(aInput, aInputFluid, aOutput, aOutputStack, aChance, aDuration, aEUt, 3700); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt, int aSpecialValue) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - aSpecialValue); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, int aChance, - int aDuration, int aEUt, int aSpecialValue) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - new ItemStack[] {}, - new int[] { aChance }, - aDuration, - aEUt, - aSpecialValue); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - aOutputStack, - aChance, - aDuration, - aEUt, - aSpecialValue, - true); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue) { - return addBlastSmelterRecipe( - aInput, - aInputFluid, - aOutput, - aOutputStack, - aChance, - aDuration, - aEUt, - aSpecialValue, - true); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue, boolean aOptimizeRecipe) { - return addBlastSmelterRecipe( - aInput, - new FluidStack[] { aInputFluid }, - aOutput, - aOutputStack, - aChance, - aDuration, - aEUt, - aSpecialValue, - aOptimizeRecipe); - } - - @Override - public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFluid, FluidStack aOutput, - ItemStack[] aOutputStack, int[] aChance, int aDuration, int aEUt, int aSpecialValue, boolean aOptimizeRecipe) { - if ((aInput == null) || (aOutput == null)) { - Logger.WARNING("Fail - Input or Output was 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) { - Logger.WARNING("Recipe did not register."); - return false; - } - - aInput = ArrayUtils.removeNulls(aInput); - if (aInput.length <= 1) { - return false; - } - - GTPPRecipeMaps.alloyBlastSmelterRecipes.addRecipe( - aOptimizeRecipe, - aInput, - aOutputStack, - null, - aChance, - aInputFluid, - new FluidStack[] { aOutput }, - aDuration, - Math.max(1, aEUt), - aSpecialValue); - return true; - } - - @Override - public boolean addQuantumTransformerRecipe(ItemStack[] aInput, FluidStack[] aFluidInput, FluidStack[] aFluidOutput, - ItemStack[] aOutputStack, int[] aChances, int aDuration, int aEUt, int aSpecialValue) { - if (aInput == null) { - aInput = new ItemStack[0]; - } - if (aFluidInput == null) { - aFluidInput = new FluidStack[0]; - } - if (aOutputStack == null) { - aOutputStack = new ItemStack[0]; - } - if (aFluidOutput == null) { - aFluidOutput = new FluidStack[0]; - } - - GTPPRecipeMaps.quantumForceTransformerRecipes.add( - new GT_Recipe( - false, - aInput, - aOutputStack, - null, - aChances, - aFluidInput, - aFluidOutput, - aDuration, - aEUt, - aSpecialValue)); - return true; - } - - @Override - public boolean addFissionFuel(final FluidStack aInput1, final FluidStack aInput2, final FluidStack aInput3, - final FluidStack aInput4, final FluidStack aInput5, final FluidStack aInput6, final FluidStack aInput7, - final FluidStack aInput8, final FluidStack aInput9, final FluidStack aOutput1, final FluidStack aOutput2, - final int aDuration, final int aEUt) { - return addFissionFuel( - false, - aInput1, - aInput2, - aInput3, - aInput4, - aInput5, - aInput6, - aInput7, - aInput8, - aInput9, - aOutput1, - aOutput2, - aDuration, - aEUt); - } - - @Override - public boolean addFissionFuel(final boolean aOptimise, final FluidStack aInput1, final FluidStack aInput2, - final FluidStack aInput3, final FluidStack aInput4, final FluidStack aInput5, final FluidStack aInput6, - final FluidStack aInput7, final FluidStack aInput8, final FluidStack aInput9, final FluidStack aOutput1, - final FluidStack aOutput2, final int aDuration, final int aEUt) { - if ((aInput1 == null) || (aOutput1 == null) || (aDuration < 1) || (aEUt < 1)) { - return false; - } - final FluidStack[] inputs = { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }; - final FluidStack[] outputs = { aOutput1, aOutput2 }; - - GTPPRecipeMaps.fissionFuelProcessingRecipes.addRecipe( - aOptimise, - new ItemStack[] {}, - new ItemStack[] {}, - null, - new int[] {}, - inputs, - outputs, - aDuration, - aEUt, - 0); - return true; - } - - @Override - public boolean addCyclotronRecipe(ItemStack aInputs, FluidStack aFluidInput, ItemStack[] aOutputs, - FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue) { - return addCyclotronRecipe( - new ItemStack[] { aInputs }, - aFluidInput, - aOutputs, - aFluidOutput, - aChances, - aDuration, - aEUt, - aSpecialValue); - } - - @Override - public boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, ItemStack[] aOutput, - FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt, int aSpecialValue) { - if (aOutput == null || aOutput.length < 1 || !ItemUtils.checkForInvalidItems(aOutput)) { - Logger.INFO("Bad output for Cyclotron Recipe."); - return false; - } - - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - aInputs, - aOutput, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - Math.max(1, aDuration), - Math.max(1, aEUt), - aSpecialValue); - GTPPRecipeMaps.cyclotronRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, - 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; - } - - GT_Recipe aSpecialRecipe = new GT_Recipe( - true, - new ItemStack[] { aInput1, aInput2, aInput3, aInput4 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, - null, - new int[] {}, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - Math.max(1, aDuration), - Math.max(1, aEUt), - 0); - RecipeMaps.mixerRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addMultiblockCentrifugeRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Large Centrifuge recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.centrifugeNonCellRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addMultiblockElectrolyzerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Large Electrolyzer recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.electrolyzerNonCellRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Adv. Vac Freezer recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.advancedFreezerRecipes.addRecipe(aRecipe); - return false; - } - - public boolean addMultiblockMixerRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, - ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Large Mixer recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.mixerNonCellRecipes.addRecipe(aRecipe); - return true; - } - - public boolean addMultiblockChemicalDehydratorRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Large Chemical Dehydrator recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.chemicalDehydratorNonCellRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addSixSlotAssemblingRecipe(ItemStack[] aInputs, FluidStack aInputFluid, ItemStack aOutput1, - int aDuration, int aEUt) { - return RA.addAssemblerRecipe(aInputs, aInputFluid, aOutput1, aDuration, aEUt); - } - - @Override - public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, ItemStack[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - return RA.addAssemblylineRecipe(aResearchItem, aResearchTime, aInputs, aFluidInputs, aOutput, aDuration, aEUt); - } - - @Override - public boolean addAssemblylineRecipe(ItemStack aResearchItem, int aResearchTime, Object[] aInputs, - FluidStack[] aFluidInputs, ItemStack aOutput, int aDuration, int aEUt) { - return RA.addAssemblylineRecipe(aResearchItem, aResearchTime, aInputs, aFluidInputs, aOutput, aDuration, aEUt); - } - - @Override - 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) { - return RA.addChemicalRecipe(input1, input2, inputFluid, outputFluid, output, time, eu); - } - - @Override - public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, FluidStack inputFluid, FluidStack outputFluid, - ItemStack output, ItemStack output2, int time) { - return RA.addChemicalRecipe(input1, input2, inputFluid, outputFluid, output, output2, time); - } - - @Override - public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, int aCircuit, FluidStack inputFluid, - FluidStack outputFluid, ItemStack output, ItemStack output2, int time, int eu) { - if (aCircuit < 0 || aCircuit > 24) { - aCircuit = 22; - } - GT_Recipe aSpecialRecipe = new GT_Recipe( - false, - new ItemStack[] { input1, input2 }, - new ItemStack[] { output, output2 }, - CI.getNumberedCircuit(aCircuit), - new int[] {}, - new FluidStack[] { inputFluid }, - new FluidStack[] { outputFluid }, - time, - eu, - 0); - RecipeMaps.chemicalReactorRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addMultiblockChemicalRecipe(ItemStack[] itemStacks, FluidStack[] fluidStacks, - FluidStack[] fluidStacks2, ItemStack[] outputs, int time, int eu) { - return RA.addMultiblockChemicalRecipe(itemStacks, fluidStacks, fluidStacks2, outputs, time, eu); - } - - private boolean areItemsAndFluidsBothNull(final ItemStack[] items, final FluidStack[] fluids) { - boolean itemsNull = true; - if (items != null) { - for (final ItemStack itemStack : items) { - if (itemStack != null) { - itemsNull = false; - break; - } - } - } - boolean fluidsNull = true; - if (fluids != null) { - for (final FluidStack fluidStack : fluids) { - if (fluidStack != null) { - fluidsNull = false; - break; - } - } - } - return itemsNull && fluidsNull; - } - - @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; - } - - @Override - public boolean addBrewingRecipe(int aCircuit, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, - boolean aHidden) { - return addBrewingRecipe(CI.getNumberedCircuit(aCircuit), aInput, aOutput, aTime, aEu, aHidden); - } - - @Override - public boolean addBrewingRecipe(ItemStack aIngredient, FluidStack aInput, FluidStack aOutput, int aTime, int aEu, - 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[] { aInput }, - new FluidStack[] { aOutput }, - aTime, - aEu, - 0); - if (aHidden && tRecipe != null) { - tRecipe.mHidden = true; - } - return true; - } - - /** - * Lets me add recipes for GT 5.08 & 5.09, since someone broke the method headers. - */ - @Override - public boolean addSmeltingAndAlloySmeltingRecipe(ItemStack aDust, ItemStack aOutput) { - return GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput, true); - } - - @Override - public boolean addFluidExtractionRecipe(ItemStack input, FluidStack output, int aTime, int aEu) { - return RA.addFluidSmelterRecipe(GT_Utility.copyAmount(1, input), null, output, 10000, aTime, aEu, false); - } - - @Override - public boolean addFluidExtractionRecipe(ItemStack aEmpty, ItemStack aRemains, FluidStack aFluid, int aDuration, - int aEU) { - return RA - .addFluidSmelterRecipe(GT_Utility.copyAmount(1, aEmpty), aRemains, aFluid, 10000, aDuration, aEU, false); - } - - @Override - public boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn) { - return MaterialGenerator.addFluidCannerRecipe(aContainer, aFullContainer, rFluidIn, null); - } - - @Override - public boolean addFluidCannerRecipe(ItemStack aContainer, ItemStack aFullContainer, FluidStack rFluidIn, - FluidStack rFluidOut) { - return MaterialGenerator.addFluidCannerRecipe(aContainer, aFullContainer, rFluidIn, rFluidOut); - } - - @Override - public boolean addFluidCannerRecipe(ItemStack aFullContainer, ItemStack container, FluidStack rFluidIn, - FluidStack rFluidOut, int aTime, int aEu) { - return MaterialGenerator.addFluidCannerRecipe(container, aFullContainer, rFluidIn, rFluidOut, aTime, aEu); - } - - @Override - public boolean addSemifluidFuel(ItemStack aFuelItem, int aFuelValue) { - return SemiFluidFuelHandler.addSemiFluidFuel(aFuelItem, aFuelValue); - } - - @Override - public boolean addSemifluidFuel(FluidStack aFuelItem, int aFuelValue) { - return SemiFluidFuelHandler.addSemiFluidFuel(aFuelItem, aFuelValue); - } - - @Override - public boolean addVacuumFurnaceRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - FluidStack aFluidOutput, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt, int aLevel) { - if (aInput1 != null && aOutput1 != null) { - return addVacuumFurnaceRecipe( - new ItemStack[] { aInput1, aInput2 }, - new FluidStack[] { aFluidInput }, - new ItemStack[] { aOutput1, aOutput2 }, - new FluidStack[] { aFluidOutput }, - aDuration, - aEUt, - aLevel); - } else { - return false; - } - } - - @Override - public boolean addVacuumFurnaceRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aLevel) { - if (aInputs != null && aOutputs != null) { - GTPPRecipeMaps.vacuumFurnaceRecipes.addRecipe( - false, - aInputs, - aOutputs, - null, - new int[] {}, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aLevel); - return true; - } else { - return false; - } - } - - @Override - public boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu) { - // Generate Special Laser Recipe - GT_Recipe u = new GT_Recipe( - false, - new ItemStack[] { aInput1, GregtechItemList.Laser_Lens_WoodsGlass.get(0), }, - new ItemStack[] { aOutput }, - null, - new int[] { 10000 }, - new FluidStack[] {}, - new FluidStack[] {}, - time, - (int) eu, - 0); - RecipeMaps.laserEngraverRecipes.add(u); - return true; - } - - @Override - public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int time, long eu, int aTier) { - return addChemicalPlantRecipe(aInputs, aInputFluids, aOutputs, aFluidOutputs, new int[] {}, time, eu, aTier); - } - - @Override - public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int[] aChances, int time, long eu, int aTier) { - if (aInputs.length > 4 || aInputFluids.length > 4 || aOutputs.length > 6 || aFluidOutputs.length > 3) { - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aInputFluids)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - CORE.crash(); - } - - GTPPRecipeMaps.chemicalPlantRecipes - .addRecipe(false, aInputs, aOutputs, null, aChances, aInputFluids, aFluidOutputs, time, (int) eu, aTier); - return true; - } - - @Override - public boolean addBlastRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, - FluidStack[] aFluidOutputs, int time, long eu, int aHeat) { - GT_Recipe aSpecialRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - new int[] {}, - aInputFluids, - aFluidOutputs, - time, - (int) eu, - aHeat); - - RecipeMaps.blastFurnaceRecipes.add(aSpecialRecipe); - return true; - } - - @Override - public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, - FluidStack aFluidOutput, int aDuration, int aEUt) { - return RA.addPyrolyseRecipe(aInput, aFluidInput, intCircuit, aOutput, aFluidOutput, aDuration, aEUt); - } - - @Override - public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidStack aOutput, - ItemStack aSolidOutput, int aDuration, int aEUt, boolean aHidden) { - if (aInput != null && aOutput != null) { - if (aDuration <= 0) { - return false; - } else { - 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; - } - } else { - return false; - } - } - - @Override - public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - return addExtractorRecipe(aInput, aOutput, 10000, aDuration, aEUt); - } - - @Override - public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aChance, int aDuration, int aEUt) { - if (aInput != null && aOutput != null) { - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput.copy() }, - new ItemStack[] { aOutput.copy() }, - null, - new int[] { aChance }, - null, - null, - aDuration, - aEUt, - 0); - RecipeMaps.extractorRecipes.add(aRecipe); - return true; - } else { - return false; - } - } - - @Override - public boolean addPulverisationRecipe(ItemStack aInput, ItemStack aOutput1, ItemStack aOutput2, - ItemStack aOutput3) { - aOutput1 = GT_OreDictUnificator.get(true, aOutput1); - aOutput2 = GT_OreDictUnificator.get(true, aOutput2); - aOutput3 = GT_OreDictUnificator.get(true, aOutput3); - if (GT_Utility.isStackInvalid(aInput) || GT_Utility.isStackInvalid(aOutput1)) { - return false; - } - if (GT_Utility.getContainerItem(aInput, false) == null) { - - GT_Utility.addSimpleIC2MachineRecipe(aInput, GT_ModHandler.getMaceratorRecipeList(), null, aOutput1); - - GT_Values.RA.addPulveriserRecipe( - aInput, - new ItemStack[] { aOutput1, aOutput2, aOutput3 }, - new int[] { 10000, 10000, 10000 }, - 400, - 2); - } - return true; - } - - @Override - public boolean addMillingRecipe(Materials aMat, int aEU) { - return addMillingRecipe(MaterialUtils.generateMaterialFromGtENUM(aMat), aEU); - } - - @Override - public boolean addMillingRecipe(Material aMat, int aEU) { - - ItemStack aOreStack = aMat.getOre(16); - ItemStack aCrushedStack = aMat.getCrushed(16); - - ItemStack aMilledStackOres1 = aMat.getMilled(64); - ItemStack aMilledStackCrushed1 = aMat.getMilled(32); - ItemStack aMilledStackOres2 = aMat.getMilled(48); - ItemStack aMilledStackCrushed2 = aMat.getMilled(16); - - ItemStack aMillingBall_Alumina = GregtechItemList.Milling_Ball_Alumina.get(0); - ItemStack aMillingBall_Soapstone = GregtechItemList.Milling_Ball_Soapstone.get(0); - - // Inputs - ItemStack[] aInputsOre1 = new ItemStack[] { CI.getNumberedCircuit(10), aOreStack, aMillingBall_Alumina }; - - ItemStack[] aInputsOre2 = new ItemStack[] { CI.getNumberedCircuit(11), aOreStack, aMillingBall_Soapstone }; - - ItemStack[] aInputsCrushed1 = new ItemStack[] { CI.getNumberedCircuit(10), aCrushedStack, - aMillingBall_Alumina }; - - ItemStack[] aInputsCrushed2 = new ItemStack[] { CI.getNumberedCircuit(11), aCrushedStack, - aMillingBall_Soapstone }; - - // Outputs - ItemStack[] aOutputsOre1 = new ItemStack[] { aMilledStackOres1 }; - - ItemStack[] aOutputsOre2 = new ItemStack[] { aMilledStackOres2 }; - - ItemStack[] aOutputsCrushed1 = new ItemStack[] { aMilledStackCrushed1 }; - - ItemStack[] aOutputsCrushed2 = new ItemStack[] { aMilledStackCrushed2 }; - - ItemStack[][] aInputArray = new ItemStack[][] { aInputsOre1, aInputsOre2, aInputsCrushed1, aInputsCrushed2 }; - ItemStack[][] aOutputArray = new ItemStack[][] { aOutputsOre1, aOutputsOre2, aOutputsCrushed1, - aOutputsCrushed2 }; - int[] aTime = new int[] { 2400, 3000, 1200, 1500 }; - - for (int i = 0; i < 4; i++) { - GT_Recipe aOreRecipe = new GT_Recipe( - false, - aInputArray[i], - aOutputArray[i], - null, - new int[] {}, - null, - null, - aTime[i], - aEU, - 0); - GTPPRecipeMaps.millingRecipes.add(aOreRecipe); - } - return true; - } - - @Override - public boolean addFlotationRecipe(Materials aMat, ItemStack aXanthate, FluidStack[] aInputFluids, - FluidStack[] aOutputFluids, int aTime, int aEU) { - return addFlotationRecipe( - MaterialUtils.generateMaterialFromGtENUM(aMat), - aXanthate, - aInputFluids, - aOutputFluids, - aTime, - aEU); - } - - @Override - public boolean addFlotationRecipe(Material aMat, ItemStack aXanthate, FluidStack[] aInputFluids, - FluidStack[] aOutputFluids, int aTime, int aEU) { - - FlotationRecipeHandler.registerOreType(aMat); - - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { ItemUtils.getSimpleStack(aXanthate, 32), aMat.getMilled(64), aMat.getMilled(64), - aMat.getMilled(64), aMat.getMilled(64), }, - new ItemStack[] {}, - null, - new int[] {}, - aInputFluids, - aOutputFluids, - aTime, - aEU, - 0); - GTPPRecipeMaps.flotationCellRecipes.add(aRecipe); - return true; - } - - @Override - public boolean addpackagerRecipe(ItemStack aRecipeType, ItemStack aSmallDust, ItemStack aTinyDust, - ItemStack aOutputStack1) { - AutoMap<Boolean> aResults = new AutoMap<>(); - // Dust 1 - aResults.put( - GT_Values.RA.addBoxingRecipe(GT_Utility.copyAmount(4L, aSmallDust), aRecipeType, aOutputStack1, 100, 4)); - // Dust 2 - aResults.put( - GT_Values.RA.addBoxingRecipe(GT_Utility.copyAmount(9L, aTinyDust), aRecipeType, aOutputStack1, 100, 4)); - for (boolean b : aResults) { - if (!b) { - return false; - } - } - return true; - } - - @Override - public boolean addFuelForRTG(ItemStack aFuelPellet, int aFuelDays, int aVoltage) { - GTPPRecipeMaps.rtgFuels.addRecipe( - true, - new ItemStack[] { aFuelPellet }, - new ItemStack[] {}, - null, - null, - null, - 0, - aVoltage, - aFuelDays); - return true; - } - - @Override - public boolean addColdTrapRecipe(int aCircuit, ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, - int[] aChances, FluidStack aFluidOutput, int aTime, int aEU) { - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedAdvancedCircuit(aCircuit), aInput }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aTime, - aEU, - 0); - - GTPPRecipeMaps.coldTrapRecipes.add(aRecipe); - return true; - } - - @Override - public boolean addReactorProcessingUnitRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, - ItemStack[] aOutputs, int[] aChances, FluidStack aFluidOutput, int aTime, int aEU) { - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput1, aInput2 }, - aOutputs, - null, - aChances, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aFluidOutput }, - aTime, - aEU, - 0); - - GTPPRecipeMaps.reactorProcessingUnitRecipes.add(aRecipe); - return true; - } - - public boolean addNuclearSaltProcessingPlantRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUtick, int aSpecial) { - if (areItemsAndFluidsBothNull(aInputs, aFluidInputs) || areItemsAndFluidsBothNull(aOutputs, aFluidOutputs) - || aEUtick <= 0) { - return false; - } - if (!ItemUtils.checkForInvalidItems(aInputs, aOutputs)) { - Logger.INFO("[Recipe] Error generating Salt Plant recipe."); - Logger.INFO("Inputs: " + ItemUtils.getArrayStackNames(aInputs)); - Logger.INFO("Fluid Inputs: " + ItemUtils.getArrayStackNames(aFluidInputs)); - Logger.INFO("Outputs: " + ItemUtils.getArrayStackNames(aOutputs)); - Logger.INFO("Fluid Outputs: " + ItemUtils.getArrayStackNames(aFluidOutputs)); - return false; - } - - GT_Recipe aRecipe = new GT_Recipe( - false, - aInputs, - aOutputs, - null, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUtick, - aSpecial); - GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes.addRecipe(aRecipe); - return true; - } - - @Override - public boolean addFluidHeaterRecipe(ItemStack aInput, FluidStack aFluidInput, FluidStack aOutput, int aDuration, - int aEUt) { - if ((aInput == null && aFluidInput == null) || aOutput == null) { - return false; - } - RecipeMaps.fluidHeaterRecipes.addRecipe( - true, - new ItemStack[] { aInput }, - null, - null, - new FluidStack[] { aFluidInput }, - new FluidStack[] { aOutput }, - aDuration, - aEUt, - 0); - return true; - } - - @Override - public boolean addVacuumFreezerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if (aInput == null || aOutput == null) { - return false; - } - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new int[] { 10000 }, - new FluidStack[] {}, - new FluidStack[] {}, - aDuration, - aEUt, - 0); - - RecipeMaps.vacuumFreezerRecipes.add(aRecipe); - return true; - } - - @Override - public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt) { - if (aInput == null || aOutput == null) { - return false; - } - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new int[] { 10000 }, - new FluidStack[] {}, - new FluidStack[] {}, - aDuration, - aEUt, - 0); - - GTPPRecipeMaps.molecularTransformerRecipes.add(aRecipe); - return true; - } - - @Override - public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput, int aDuration, int aEUt, - int aAmps) { - return addMolecularTransformerRecipe(aInput, aOutput, aDuration, aEUt); - } -} diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java index d08b010e97..7e7ba6a85b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java @@ -1,5 +1,26 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Crop_Harvester_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Crop_Harvester_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Crop_Harvester_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Crop_Harvester_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Crop_Harvester_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Crop_Harvester_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Crop_Harvester_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Crop_Harvester_ZPM; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Electric_Auto_Workbench_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Electric_Auto_Workbench_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Electric_Auto_Workbench_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Electric_Auto_Workbench_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Electric_Auto_Workbench_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Electric_Auto_Workbench_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Electric_Auto_Workbench_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Electric_Auto_Workbench_ZPM; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Multi_Crafter; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Tesseract_Generator; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Tesseract_Terminal; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT4_Thermal_Boiler; + import gregtech.api.GregTech_API; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; @@ -26,62 +47,101 @@ public class Gregtech4Content { private static void automation() { Logger.INFO("Gregtech 4 Content | Registering Auto Workbenches."); - GregtechItemList.GT4_Electric_Auto_Workbench_LV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31091, 1, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_MV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31092, 2, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_HV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31093, 3, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_EV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31094, 4, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_IV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31095, 5, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_LuV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31096, 6, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_ZPM - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31097, 7, "Automatic crafting machine").getStackForm(1L)); - GregtechItemList.GT4_Electric_Auto_Workbench_UV - .set(new GT_MetaTileEntity_ElectricAutoWorkbench(31098, 8, "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_LV.set( + new GT_MetaTileEntity_ElectricAutoWorkbench( + GT4_Electric_Auto_Workbench_LV.ID, + 1, + "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_MV.set( + new GT_MetaTileEntity_ElectricAutoWorkbench( + GT4_Electric_Auto_Workbench_MV.ID, + 2, + "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_HV.set( + new GT_MetaTileEntity_ElectricAutoWorkbench( + GT4_Electric_Auto_Workbench_HV.ID, + 3, + "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_EV.set( + new GT_MetaTileEntity_ElectricAutoWorkbench( + GT4_Electric_Auto_Workbench_EV.ID, + 4, + "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_IV.set( + new GT_MetaTileEntity_ElectricAutoWorkbench( + GT4_Electric_Auto_Workbench_IV.ID, + 5, + "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_LuV.set( + new GT_MetaTileEntity_ElectricAutoWorkbench( + GT4_Electric_Auto_Workbench_LuV.ID, + 6, + "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_ZPM.set( + new GT_MetaTileEntity_ElectricAutoWorkbench( + GT4_Electric_Auto_Workbench_ZPM.ID, + 7, + "Automatic crafting machine").getStackForm(1L)); + GregtechItemList.GT4_Electric_Auto_Workbench_UV.set( + new GT_MetaTileEntity_ElectricAutoWorkbench( + GT4_Electric_Auto_Workbench_UV.ID, + 8, + "Automatic crafting machine").getStackForm(1L)); } private static void basic() { Logger.INFO("Gregtech 4 Content | Registering Crop Managers."); GregtechItemList.GT4_Crop_Harvester_LV.set( - new GT_MetaTileEntity_CropHarvestor(31111, 1, "Harvests the Cropsticks in front of it").getStackForm(1L)); + new GT_MetaTileEntity_CropHarvestor(GT4_Crop_Harvester_LV.ID, 1, "Harvests the Cropsticks in front of it") + .getStackForm(1L)); GregtechItemList.GT4_Crop_Harvester_MV.set( - new GT_MetaTileEntity_CropHarvestor(31112, 2, "Harvests the Cropsticks in front of it").getStackForm(1L)); + new GT_MetaTileEntity_CropHarvestor(GT4_Crop_Harvester_MV.ID, 2, "Harvests the Cropsticks in front of it") + .getStackForm(1L)); GregtechItemList.GT4_Crop_Harvester_HV.set( - new GT_MetaTileEntity_CropHarvestor(31113, 3, "Harvests the Cropsticks in front of it").getStackForm(1L)); + new GT_MetaTileEntity_CropHarvestor(GT4_Crop_Harvester_HV.ID, 3, "Harvests the Cropsticks in front of it") + .getStackForm(1L)); GregtechItemList.GT4_Crop_Harvester_EV.set( - new GT_MetaTileEntity_CropHarvestor(31114, 4, "Harvests the Cropsticks in front of it").getStackForm(1L)); + new GT_MetaTileEntity_CropHarvestor(GT4_Crop_Harvester_EV.ID, 4, "Harvests the Cropsticks in front of it") + .getStackForm(1L)); GregtechItemList.GT4_Crop_Harvester_IV.set( - new GT_MetaTileEntity_CropHarvestor(31115, 5, "Harvests the Cropsticks in front of it").getStackForm(1L)); + new GT_MetaTileEntity_CropHarvestor(GT4_Crop_Harvester_IV.ID, 5, "Harvests the Cropsticks in front of it") + .getStackForm(1L)); GregtechItemList.GT4_Crop_Harvester_LuV.set( - new GT_MetaTileEntity_CropHarvestor(31116, 6, "Harvests the Cropsticks in front of it").getStackForm(1L)); + new GT_MetaTileEntity_CropHarvestor(GT4_Crop_Harvester_LuV.ID, 6, "Harvests the Cropsticks in front of it") + .getStackForm(1L)); GregtechItemList.GT4_Crop_Harvester_ZPM.set( - new GT_MetaTileEntity_CropHarvestor(31117, 7, "Harvests the Cropsticks in front of it").getStackForm(1L)); + new GT_MetaTileEntity_CropHarvestor(GT4_Crop_Harvester_ZPM.ID, 7, "Harvests the Cropsticks in front of it") + .getStackForm(1L)); GregtechItemList.GT4_Crop_Harvester_UV.set( - new GT_MetaTileEntity_CropHarvestor(31118, 8, "Harvests the Cropsticks in front of it").getStackForm(1L)); + new GT_MetaTileEntity_CropHarvestor(GT4_Crop_Harvester_UV.ID, 8, "Harvests the Cropsticks in front of it") + .getStackForm(1L)); } private static void tesseracts() { // Gregtech 4 Tesseracts Logger.INFO("Gregtech 4 Content | Registering Tesseracts."); GregtechItemList.GT4_Tesseract_Generator.set( - new GT_MetaTileEntity_TesseractGenerator(833, "tesseract.generator", "Tesseract Generator", 4) - .getStackForm(1L)); + new GT_MetaTileEntity_TesseractGenerator( + GT4_Tesseract_Generator.ID, + "tesseract.generator", + "Tesseract Generator", + 4).getStackForm(1L)); GregtechItemList.GT4_Tesseract_Terminal.set( - new GT_MetaTileEntity_TesseractTerminal(834, "tesseract.terminal", "Tesseract Terminal", 4) - .getStackForm(1L)); + new GT_MetaTileEntity_TesseractTerminal( + GT4_Tesseract_Terminal.ID, + "tesseract.terminal", + "Tesseract Terminal", + 4).getStackForm(1L)); } private static void thermalBoiler() { // Gregtech 4 Thermal Boiler if (CORE.ConfigSwitches.enableMultiblock_ThermalBoiler) { Logger.INFO("Gregtech 4 Content | Registering Thermal Boiler."); - GregtechItemList.GT4_Thermal_Boiler - .set(new GT4Entity_ThermalBoiler(875, "gtplusplus.thermal.boiler", "Thermal Boiler").getStackForm(1L)); + GregtechItemList.GT4_Thermal_Boiler.set( + new GT4Entity_ThermalBoiler(GT4_Thermal_Boiler.ID, "gtplusplus.thermal.boiler", "Thermal Boiler") + .getStackForm(1L)); } } @@ -89,7 +149,9 @@ public class Gregtech4Content { // Gregtech 4 Multiblock Auto-Crafter Logger.INFO("Gregtech 4 Content | Registering Multiblock Crafter."); GregtechItemList.GT4_Multi_Crafter.set( - new GT4Entity_AutoCrafter(876, "gtplusplus.autocrafter.multi", "Large Scale Auto-Assembler v1.01") - .getStackForm(1L)); + new GT4Entity_AutoCrafter( + GT4_Multi_Crafter.ID, + "gtplusplus.autocrafter.multi", + "Large Scale Auto-Assembler v1.01").getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java index e77e2b1c54..6c532b4e76 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAdvancedBoilers.java @@ -1,5 +1,9 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Boiler_Advanced_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Boiler_Advanced_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Boiler_Advanced_MV; + import net.minecraft.item.ItemStack; import gregtech.api.enums.ItemList; @@ -25,11 +29,11 @@ public class GregtechAdvancedBoilers { private static void run1() { // Boilers GregtechItemList.Boiler_Advanced_LV - .set(new GT_MetaTileEntity_Boiler_LV(753, "Advanced Boiler [LV]", 1).getStackForm(1L)); + .set(new GT_MetaTileEntity_Boiler_LV(Boiler_Advanced_LV.ID, "Advanced Boiler [LV]", 1).getStackForm(1L)); GregtechItemList.Boiler_Advanced_MV - .set(new GT_MetaTileEntity_Boiler_MV(754, "Advanced Boiler [MV]", 2).getStackForm(1L)); + .set(new GT_MetaTileEntity_Boiler_MV(Boiler_Advanced_MV.ID, "Advanced Boiler [MV]", 2).getStackForm(1L)); GregtechItemList.Boiler_Advanced_HV - .set(new GT_MetaTileEntity_Boiler_HV(755, "Advanced Boiler [HV]", 3).getStackForm(1L)); + .set(new GT_MetaTileEntity_Boiler_HV(Boiler_Advanced_HV.ID, "Advanced Boiler [HV]", 3).getStackForm(1L)); ItemStack chassisT1 = ItemUtils .getItemStackWithMeta(true, "miscutils:itemBoilerChassis", "Boiler_Chassis_T1", 0, 1); @@ -46,21 +50,17 @@ public class GregtechAdvancedBoilers { GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_ULV, Character.valueOf('P'), - OrePrefixes.pipeLarge.get(Materials.Bronze), Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Primitive), Character.valueOf('W'), - OrePrefixes.plate.get(Materials.Lead), Character.valueOf('G'), - OrePrefixes.pipeSmall.get(Materials.Copper) }); + new Object[] { "WCW", "GMG", "WPW", 'M', ItemList.Hull_ULV, 'P', + OrePrefixes.pipeLarge.get(Materials.Bronze), 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', + OrePrefixes.plate.get(Materials.Lead), 'G', OrePrefixes.pipeSmall.get(Materials.Copper) }); GT_ModHandler.addCraftingRecipe( chassisT2, GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('P'), - OrePrefixes.pipeLarge.get(Materials.Steel), Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('W'), - OrePrefixes.plate.get(Materials.Steel), Character.valueOf('G'), + new Object[] { "WCW", "GMG", "WPW", 'M', ItemList.Hull_LV, 'P', OrePrefixes.pipeLarge.get(Materials.Steel), + 'C', OrePrefixes.circuit.get(Materials.Basic), 'W', OrePrefixes.plate.get(Materials.Steel), 'G', OrePrefixes.pipeSmall.get(Materials.Bronze) }); GT_ModHandler.addCraftingRecipe( @@ -68,11 +68,9 @@ public class GregtechAdvancedBoilers { GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WCW", "GMG", "WPW", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('P'), - OrePrefixes.pipeLarge.get(Materials.StainlessSteel), Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'), - OrePrefixes.plate.get(Materials.Aluminium), Character.valueOf('G'), - OrePrefixes.pipeSmall.get(Materials.Steel) }); + new Object[] { "WCW", "GMG", "WPW", 'M', ItemList.Hull_MV, 'P', + OrePrefixes.pipeLarge.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Good), 'W', + OrePrefixes.plate.get(Materials.Aluminium), 'G', OrePrefixes.pipeSmall.get(Materials.Steel) }); ItemStack pipeTier1 = ItemUtils.getItemStackOfAmountFromOreDict(RECIPES_MachineComponents.pipeTier7, 1); ItemStack pipeTier2 = ItemUtils.getItemStackOfAmountFromOreDict(RECIPES_MachineComponents.pipeTier8, 1); @@ -80,30 +78,27 @@ public class GregtechAdvancedBoilers { // Boiler Recipes GT_ModHandler.addCraftingRecipe( - GregtechItemList.Boiler_Advanced_LV.get(1L, new Object[0]), + GregtechItemList.Boiler_Advanced_LV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('P'), - pipeTier1, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Basic), Character.valueOf('W'), - chassisT1, Character.valueOf('G'), OrePrefixes.gear.get(Materials.Steel) }); + new Object[] { "dCw", "WMW", "GPG", 'M', ItemList.Hull_LV, 'P', pipeTier1, 'C', + OrePrefixes.circuit.get(Materials.Basic), 'W', chassisT1, 'G', OrePrefixes.gear.get(Materials.Steel) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Boiler_Advanced_MV.get(1L, new Object[0]), + GregtechItemList.Boiler_Advanced_MV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('P'), - pipeTier2, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Good), Character.valueOf('W'), - chassisT2, Character.valueOf('G'), ALLOY.SILICON_CARBIDE.getGear(1) }); + new Object[] { "dCw", "WMW", "GPG", 'M', ItemList.Hull_MV, 'P', pipeTier2, 'C', + OrePrefixes.circuit.get(Materials.Good), 'W', chassisT2, 'G', ALLOY.SILICON_CARBIDE.getGear(1) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Boiler_Advanced_HV.get(1L, new Object[0]), + GregtechItemList.Boiler_Advanced_HV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "dCw", "WMW", "GPG", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('P'), - pipeTier3, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('W'), - chassisT3, Character.valueOf('G'), ALLOY.SILICON_CARBIDE.getGear(1) }); + new Object[] { "dCw", "WMW", "GPG", 'M', ItemList.Hull_HV, 'P', pipeTier3, 'C', + OrePrefixes.circuit.get(Materials.Advanced), 'W', chassisT3, 'G', ALLOY.SILICON_CARBIDE.getGear(1) }); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java index 3c244739f6..61ba59a91e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAlgaeContent.java @@ -1,5 +1,9 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.AlgaeFarm_Controller; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Bus_Catalysts; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.ChemicalPlant_Controller; + import gregtech.api.GregTech_API; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; @@ -18,33 +22,36 @@ public class GregtechAlgaeContent { private static void run1() { // Algae Pond - GregtechItemList.AlgaeFarm_Controller - .set(new GregtechMTE_AlgaePondBase(997, "algaefarm.controller.tier.single", "Algae Farm").getStackForm(1L)); + GregtechItemList.AlgaeFarm_Controller.set( + new GregtechMTE_AlgaePondBase(AlgaeFarm_Controller.ID, "algaefarm.controller.tier.single", "Algae Farm") + .getStackForm(1L)); // Chemical Plant GregtechItemList.ChemicalPlant_Controller.set( - new GregtechMTE_ChemicalPlant(998, "chemicalplant.controller.tier.single", "ExxonMobil Chemical Plant") - .getStackForm(1L)); + new GregtechMTE_ChemicalPlant( + ChemicalPlant_Controller.ID, + "chemicalplant.controller.tier.single", + "ExxonMobil Chemical Plant").getStackForm(1L)); GregtechItemList.Bus_Catalysts.set( - (new GT_MetaTileEntity_Hatch_Catalysts(31030, "hatch.catalysts", "Catalyst Housing")).getStackForm(1L)); + (new GT_MetaTileEntity_Hatch_Catalysts(Bus_Catalysts.ID, "hatch.catalysts", "Catalyst Housing")) + .getStackForm(1L)); - int aTier = 0; // Bronze - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 0, 10); + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(0, ModBlocks.blockCustomMachineCasings, 0, 10); // Steel - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings2, 0, 16); + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(1, GregTech_API.sBlockCasings2, 0, 16); // Aluminium - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 1, 17); + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(2, ModBlocks.blockCustomMachineCasings, 1, 17); // Stainless - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 1, 49); + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(3, GregTech_API.sBlockCasings4, 1, 49); // Titanium - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 2, 50); + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(4, GregTech_API.sBlockCasings4, 2, 50); // Tungsten - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, GregTech_API.sBlockCasings4, 0, 48); + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(5, GregTech_API.sBlockCasings4, 0, 48); // Laurenium - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 2, 84); + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(6, ModBlocks.blockCustomMachineCasings, 2, 84); // Botmium - GregtechMTE_ChemicalPlant.registerMachineCasingForTier(aTier++, ModBlocks.blockCustomMachineCasings, 3, 11); + GregtechMTE_ChemicalPlant.registerMachineCasingForTier(7, ModBlocks.blockCustomMachineCasings, 3, 11); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java index 8fc84177ca..7aa52ddaaa 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechAmazonWarehouse.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Amazon_Warehouse_Controller; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.misc.GMTE_AmazonPackager; @@ -14,7 +16,9 @@ public class GregtechAmazonWarehouse { private static void run1() { // Amazon packager multiblock GregtechItemList.Amazon_Warehouse_Controller.set( - new GMTE_AmazonPackager(942, "amazonprime.controller.tier.single", "Amazon Warehousing Depot.") - .getStackForm(1L)); + new GMTE_AmazonPackager( + Amazon_Warehouse_Controller.ID, + "amazonprime.controller.tier.single", + "Amazon Warehousing Depot.").getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java index 20df726ebe..295c79677b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java @@ -1,6 +1,16 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; import static gtPlusPlus.core.recipe.common.CI.bitsd; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_MAX; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_ULV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Buffer_Dynamo_ZPM; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -12,8 +22,6 @@ import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEn public class GregtechBufferDynamos { - private static int mID = 899; - public static void run() { run2(); } @@ -21,111 +29,111 @@ public class GregtechBufferDynamos { private static void run2() { GregtechItemList.Hatch_Buffer_Dynamo_ULV.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_ULV.ID, "hatch.dynamo.buffer.tier.00", "ULV Dynamo Hatch [Buffered]", 0).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_LV.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_LV.ID, "hatch.dynamo.buffer.tier.01", "LV Dynamo Hatch [Buffered]", 1).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_MV.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_MV.ID, "hatch.dynamo.buffer.tier.02", "MV Dynamo Hatch [Buffered]", 2).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_HV.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_HV.ID, "hatch.dynamo.buffer.tier.03", "HV Dynamo Hatch [Buffered]", 3).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_EV.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_EV.ID, "hatch.dynamo.buffer.tier.04", "EV Dynamo Hatch [Buffered]", 4).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_IV.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_IV.ID, "hatch.dynamo.buffer.tier.05", "IV Dynamo Hatch [Buffered]", 5).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_LuV.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_LuV.ID, "hatch.dynamo.buffer.tier.06", "LuV Dynamo Hatch [Buffered]", 6).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_ZPM.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_ZPM.ID, "hatch.dynamo.buffer.tier.07", "ZPM Dynamo Hatch [Buffered]", 7).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_UV.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_UV.ID, "hatch.dynamo.buffer.tier.08", "UV Dynamo Hatch [Buffered]", 8).getStackForm(1L)); GregtechItemList.Hatch_Buffer_Dynamo_MAX.set( new GT_MetaTileEntity_Hatch_DynamoBuffer( - mID++, + Hatch_Buffer_Dynamo_MAX.ID, "hatch.dynamo.buffer.tier.09", "UHV Dynamo Hatch [Buffered]", 9).getStackForm(1L)); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_ULV.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_ULV.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_ULV, 'T', CI.getTieredCircuit(0), 'C', OrePrefixes.cableGt04.get((Object) Materials.Lead) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_LV.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_LV.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_LV, 'T', CI.getTieredCircuit(1), 'C', OrePrefixes.cableGt04.get((Object) Materials.Tin) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_MV.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_MV.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_MV, 'T', CI.getTieredCircuit(2), 'C', OrePrefixes.cableGt04.get((Object) Materials.AnyCopper) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_HV.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_HV.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_HV, 'T', CI.getTieredCircuit(3), 'C', OrePrefixes.cableGt04.get((Object) Materials.Gold) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_EV.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_EV.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_EV, 'T', CI.getTieredCircuit(4), 'C', OrePrefixes.cableGt04.get((Object) Materials.Aluminium) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_IV.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_IV.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_IV, 'T', CI.getTieredCircuit(5), 'C', OrePrefixes.cableGt04.get((Object) Materials.Tungsten) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_LuV.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_LuV.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_LuV, 'T', CI.getTieredCircuit(6), 'C', OrePrefixes.cableGt04.get((Object) Materials.VanadiumGallium) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_ZPM.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_ZPM.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_ZPM, 'T', CI.getTieredCircuit(7), 'C', OrePrefixes.cableGt04.get((Object) Materials.Naquadah) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_UV.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_UV.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_UV, 'T', CI.getTieredCircuit(8), 'C', OrePrefixes.wireGt12.get((Object) Materials.NaquadahAlloy) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Buffer_Dynamo_MAX.get(1L, new Object[0]), + GregtechItemList.Hatch_Buffer_Dynamo_MAX.get(1L), bitsd, new Object[] { "TMC", 'M', ItemList.Hatch_Dynamo_MAX, 'T', CI.getTieredCircuit(9), 'C', OrePrefixes.wireGt04.get(Materials.SuperconductorUHV) }); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java index 22d3cd9608..f747b8bc20 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java @@ -2,6 +2,12 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; import static gregtech.api.enums.Mods.EnderIO; import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.extruderRecipes; +import static gregtech.api.recipe.RecipeMaps.unpackagerRecipes; +import static gregtech.api.recipe.RecipeMaps.wiremillRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; @@ -881,40 +887,47 @@ public class GregtechConduits { if (pipeIngot != null && ItemUtils.checkForInvalidItems(pipeIngot)) { // 1 Clay Plate = 1 Clay Dust = 2 Clay Ball int inputMultiplier = materialName.equals("Clay") ? 2 : 1; - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 1 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Tiny.get(0), - ItemUtils.getItemStackOfAmountFromOreDictNoBroken("pipe" + "Tiny" + output, 2), - 5, - eut); - - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 1 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Small.get(0), - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Small" + output, 1), - 10, - eut); - - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 3 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Medium.get(0), - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Medium" + output, 1), - 1 * 20, - eut); - - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 6 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Large.get(0), - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Large" + output, 1), - 2 * 20, - eut); - - GT_Values.RA.addExtruderRecipe( - ItemUtils.getSimpleStack(pipeIngot, 12 * inputMultiplier), - ItemList.Shape_Extruder_Pipe_Huge.get(0), - ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Huge" + output, 1), - 4 * 20, - eut); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(pipeIngot, 1 * inputMultiplier), + ItemList.Shape_Extruder_Pipe_Tiny.get(0)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("pipe" + "Tiny" + output, 2)) + .duration(5 * TICKS) + .eut(eut) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(pipeIngot, 1 * inputMultiplier), + ItemList.Shape_Extruder_Pipe_Small.get(0)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Small" + output, 1)) + .duration(10 * TICKS) + .eut(eut) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(pipeIngot, 3 * inputMultiplier), + ItemList.Shape_Extruder_Pipe_Medium.get(0)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Medium" + output, 1)) + .duration(20 * TICKS) + .eut(eut) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(pipeIngot, 6 * inputMultiplier), + ItemList.Shape_Extruder_Pipe_Large.get(0)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Large" + output, 1)) + .duration(2 * SECONDS) + .eut(eut) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + ItemUtils.getSimpleStack(pipeIngot, 12 * inputMultiplier), + ItemList.Shape_Extruder_Pipe_Huge.get(0)) + .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("pipe" + "Huge" + output, 1)) + .duration(4 * SECONDS) + .eut(eut) + .addTo(extruderRecipes); + } if ((eut < 512) && !output.equals("Void")) { @@ -987,119 +1000,133 @@ public class GregtechConduits { // Wire mill if (ItemUtils .checkForInvalidItems(new ItemStack[] { aIngot, aWire01, aWire02, aWire04, aWire08, aWire12, aWire16 })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(1), - GT_Utility.getIntegratedCircuit(1), - aMaterial.getWire01(2), - 100, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(1), - GT_Utility.getIntegratedCircuit(2), - aMaterial.getWire02(1), - 150, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(2), - GT_Utility.getIntegratedCircuit(4), - aMaterial.getWire04(1), - 200, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(4), - GT_Utility.getIntegratedCircuit(8), - aMaterial.getWire08(1), - 250, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(6), - GT_Utility.getIntegratedCircuit(12), - aMaterial.getWire12(1), - 300, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(8), - GT_Utility.getIntegratedCircuit(16), - aMaterial.getWire16(1), - 350, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getIngot(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(aMaterial.getWire01(2)) + .duration(5 * SECONDS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getIngot(1), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(aMaterial.getWire02(1)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getIngot(2), GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(aMaterial.getWire04(1)) + .duration(10 * SECONDS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getIngot(4), GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(aMaterial.getWire08(1)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getIngot(6), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(aMaterial.getWire12(1)) + .duration(15 * SECONDS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getIngot(8), GT_Utility.getIntegratedCircuit(16)) + .itemOutputs(aMaterial.getWire16(1)) + .duration(17 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(wiremillRecipes); + } if (ItemUtils .checkForInvalidItems(new ItemStack[] { aRod, aWire01, aWire02, aWire04, aWire08, aWire12, aWire16 })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(1), - GT_Utility.getIntegratedCircuit(1), - aMaterial.getWire01(1), - 50, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(2), - GT_Utility.getIntegratedCircuit(2), - aMaterial.getWire02(1), - 100, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(4), - GT_Utility.getIntegratedCircuit(4), - aMaterial.getWire04(1), - 150, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(8), - GT_Utility.getIntegratedCircuit(8), - aMaterial.getWire08(1), - 200, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(12), - GT_Utility.getIntegratedCircuit(12), - aMaterial.getWire12(1), - 250, - 4); - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(16), - GT_Utility.getIntegratedCircuit(16), - aMaterial.getWire16(1), - 300, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getRod(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(aMaterial.getWire01(1)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getRod(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(aMaterial.getWire02(1)) + .duration(5 * SECONDS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getRod(4), GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(aMaterial.getWire04(1)) + .duration(7 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getRod(8), GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(aMaterial.getWire08(1)) + .duration(10 * SECONDS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getRod(12), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(aMaterial.getWire12(1)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(wiremillRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getRod(16), GT_Utility.getIntegratedCircuit(16)) + .itemOutputs(aMaterial.getWire16(1)) + .duration(15 * SECONDS) + .eut(4) + .addTo(wiremillRecipes); + } if (ItemUtils.checkForInvalidItems(new ItemStack[] { aIngot, aFineWire })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getIngot(1), - GT_Utility.getIntegratedCircuit(3), - aMaterial.getFineWire(8), - 100, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getIngot(1), GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(aMaterial.getFineWire(8)) + .duration(5 * SECONDS) + .eut(4) + .addTo(wiremillRecipes); + } if (ItemUtils.checkForInvalidItems(new ItemStack[] { aRod, aFineWire })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getRod(1), - GT_Utility.getIntegratedCircuit(3), - aMaterial.getFineWire(4), - 50, - 4); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getRod(1), GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(aMaterial.getFineWire(4)) + .duration(2 * SECONDS + 10 * TICKS) + .eut(4) + .addTo(wiremillRecipes); + } if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aFineWire })) { - GT_Values.RA.addWiremillRecipe( - aMaterial.getWire01(1), - GT_Utility.getIntegratedCircuit(1), - aMaterial.getFineWire(4), - 200, - 8); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getWire01(1), GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(aMaterial.getFineWire(4)) + .duration(10 * SECONDS) + .eut(8) + .addTo(wiremillRecipes); + } // Extruder if (ItemUtils.checkForInvalidItems(new ItemStack[] { aIngot, aWire01 })) { - GT_Values.RA - .addExtruderRecipe(aIngot, ItemList.Shape_Extruder_Wire.get(0), aMaterial.getWire01(2), 196, 96); + GT_Values.RA.stdBuilder() + .itemInputs(aIngot, ItemList.Shape_Extruder_Wire.get(0)) + .itemOutputs(aMaterial.getWire01(2)) + .duration(9 * SECONDS + 16 * TICKS) + .eut(96) + .addTo(extruderRecipes); } if (ItemUtils.checkForInvalidItems(new ItemStack[] { aCable01, aWire01 })) { - GT_Values.RA.addUnboxingRecipe(aCable01, aWire01, null, 100, 8); + GT_Values.RA.stdBuilder() + .itemInputs(aCable01) + .itemOutputs(aWire01) + .duration(5 * SECONDS) + .eut(8) + .addTo(unpackagerRecipes); } // Shapeless Down-Crafting @@ -1173,95 +1200,108 @@ public class GregtechConduits { // Wire to Cable // 1x if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aCable01 })) { - GT_Values.RA.addAssemblerRecipe( - aWire01, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 144), - aCable01, - 100, - 8); + GT_Values.RA.stdBuilder() + .itemInputs(aWire01, GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(aCable01) + .fluidInputs(FluidUtils.getFluidStack("molten.rubber", 144)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + } // 2x if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire02, aCable02 })) { - GT_Values.RA.addAssemblerRecipe( - aWire02, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 144), - aCable02, - 100, - 8); + GT_Values.RA.stdBuilder() + .itemInputs(aWire02, GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(aCable02) + .fluidInputs(FluidUtils.getFluidStack("molten.rubber", 144)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + } // 4x if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire04, aCable04 })) { - GT_Values.RA.addAssemblerRecipe( - aWire04, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 288), - aCable04, - 100, - 8); + GT_Values.RA.stdBuilder() + .itemInputs(aWire04, GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(aCable04) + .fluidInputs(FluidUtils.getFluidStack("molten.rubber", 288)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + } // 8x if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire08, aCable08 })) { - GT_Values.RA.addAssemblerRecipe( - aWire08, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 432), - aCable08, - 100, - 8); + GT_Values.RA.stdBuilder() + .itemInputs(aWire08, GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(aCable08) + .fluidInputs(FluidUtils.getFluidStack("molten.rubber", 432)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + } // 12x if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire12, aCable12 })) { - GT_Values.RA.addAssemblerRecipe( - aWire12, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 576), - aCable12, - 100, - 8); + GT_Values.RA.stdBuilder() + .itemInputs(aWire12, GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(aCable12) + .fluidInputs(FluidUtils.getFluidStack("molten.rubber", 576)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + } // 16x if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire16, aCable16 })) { - GT_Values.RA.addAssemblerRecipe( - aWire16, - CI.getNumberedCircuit(24), - FluidUtils.getFluidStack("molten.rubber", 720), - aCable16, - 100, - 8); - } - - // Assemble small wires into bigger wires - - // 2x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(2), CI.getNumberedCircuit(2), null, aWire02, 100, 8); - } + GT_Values.RA.stdBuilder() + .itemInputs(aWire16, GT_Utility.getIntegratedCircuit(24)) + .itemOutputs(aCable16) + .fluidInputs(FluidUtils.getFluidStack("molten.rubber", 720)) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); - // 4x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(4), CI.getNumberedCircuit(4), null, aWire04, 100, 8); } - // 8x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(8), CI.getNumberedCircuit(8), null, aWire08, 100, 8); - } - - // 12x - if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(12), CI.getNumberedCircuit(12), null, aWire12, 100, 8); - } - - // 16x + // Assemble small wires into bigger wires if (ItemUtils.checkForInvalidItems(new ItemStack[] { aWire01, aWire02 })) { - GT_Values.RA.addAssemblerRecipe(aMaterial.getWire01(16), CI.getNumberedCircuit(16), null, aWire16, 100, 8); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getWire01(2), GT_Utility.getIntegratedCircuit(2)) + .itemOutputs(aWire02) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getWire01(4), GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(aWire04) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getWire01(8), GT_Utility.getIntegratedCircuit(8)) + .itemOutputs(aWire08) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getWire01(12), GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(aWire12) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(aMaterial.getWire01(16), GT_Utility.getIntegratedCircuit(16)) + .itemOutputs(aWire16) + .duration(5 * SECONDS) + .eut(8) + .addTo(assemblerRecipes); } return true; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java index 148ea9bc68..2e9c73808b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java @@ -1,5 +1,22 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Air_Intake; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Air_Intake_Extreme; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_Cryotheum; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_Naquadah; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_Pyrotheum; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_Steam; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_TurbineHousing; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Muffler_Adv_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Muffler_Adv_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Muffler_Adv_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Muffler_Adv_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Muffler_Adv_MAX; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Muffler_Adv_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Muffler_Adv_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Muffler_Adv_ZPM; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Reservoir; + import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -41,7 +58,7 @@ public class GregtechCustomHatches { // hatch // to 128000, // Capacity - 967, // ID + Hatch_Input_Cryotheum.ID, // ID "hatch.cryotheum.input.tier.00", // unlocal name "Cryotheum Cooling Hatch" // Local name ).getStackForm(1L)); @@ -55,40 +72,46 @@ public class GregtechCustomHatches { // hatch // to 128000, // Capacity - 968, // ID + Hatch_Input_Pyrotheum.ID, // ID "hatch.pyrotheum.input.tier.00", // unlocal name "Pyrotheum Heating Vent" // Local name ).getStackForm(1L)); GregtechItemList.Hatch_Input_Naquadah.set( new GT_MetaTileEntity_Hatch_Naquadah( - 969, // ID + Hatch_Input_Naquadah.ID, // ID "hatch.naquadah.input.tier.00", // unlocal name "Naquadah Reactor Input hatch" // Local name ).getStackForm(1L)); GregtechItemList.Hatch_Input_TurbineHousing.set( new GT_MetaTileEntity_Hatch_TurbineProvider( - 31025, // ID + Hatch_Input_TurbineHousing.ID, // ID "hatch.turbine.input.tier.00", // unlocal name "Turbine Housing", // Local name 8).getStackForm(1L)); // Multiblock Air Intake Hatch GregtechItemList.Hatch_Air_Intake.set( - new GT_MetaTileEntity_Hatch_AirIntake(861, "hatch.air.intake.tier.00", "Air Intake Hatch", 5) - .getStackForm(1L)); + new GT_MetaTileEntity_Hatch_AirIntake( + Hatch_Air_Intake.ID, + "hatch.air.intake.tier.00", + "Air Intake Hatch", + 5).getStackForm(1L)); GregtechItemList.Hatch_Air_Intake_Extreme.set( new GT_MetaTileEntity_Hatch_AirIntake_Extreme( - 31070, + Hatch_Air_Intake_Extreme.ID, "hatch.air.intake.tier.01", "Extreme Air Intake Hatch", 6).getStackForm(1L)); // Multiblock Reservoir Hatch GregtechItemList.Hatch_Reservoir.set( - new GT_MetaTileEntity_Hatch_Reservoir(31071, "hatch.water.intake.tier.00", "Reservoir Hatch", 4) - .getStackForm(1L)); + new GT_MetaTileEntity_Hatch_Reservoir( + Hatch_Reservoir.ID, + "hatch.water.intake.tier.00", + "Reservoir Hatch", + 4).getStackForm(1L)); // Steam Hatch GregtechItemList.Hatch_Input_Steam.set( @@ -100,7 +123,7 @@ public class GregtechCustomHatches { // hatch // to 64000, // Capacity - 31040, // ID + Hatch_Input_Steam.ID, // ID "hatch.steam.input.tier.00", // unlocal name "Steam Hatch" // Local name ).getStackForm(1L)); @@ -115,49 +138,49 @@ public class GregtechCustomHatches { 1)).getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_MV.set( (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30002, + Hatch_Muffler_Adv_MV.ID, "hatch.muffler.adv.tier.02", "Advanced Muffler Hatch (MV)", 2)).getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_HV.set( (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30003, + Hatch_Muffler_Adv_HV.ID, "hatch.muffler.adv.tier.03", "Advanced Muffler Hatch (HV)", 3)).getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_EV.set( (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30004, + Hatch_Muffler_Adv_EV.ID, "hatch.muffler.adv.tier.04", "Advanced Muffler Hatch (EV)", 4)).getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_IV.set( (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30005, + Hatch_Muffler_Adv_IV.ID, "hatch.muffler.adv.tier.05", "Advanced Muffler Hatch (IV)", 5)).getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_LuV.set( (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30006, + Hatch_Muffler_Adv_LuV.ID, "hatch.muffler.adv.tier.06", "Advanced Muffler Hatch (LuV)", 6)).getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_ZPM.set( (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30007, + Hatch_Muffler_Adv_ZPM.ID, "hatch.muffler.adv.tier.07", "Advanced Muffler Hatch (ZPM)", 7)).getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_UV.set( (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30008, + Hatch_Muffler_Adv_UV.ID, "hatch.muffler.adv.tier.08", "Advanced Muffler Hatch (UV)", 8)).getStackForm(1L)); GregtechItemList.Hatch_Muffler_Adv_MAX.set( (new GT_MetaTileEntity_Hatch_Muffler_Adv( - 30009, + Hatch_Muffler_Adv_MAX.ID, "hatch.muffler.adv.tier.09", "Advanced Muffler Hatch (UHV)", 9)).getStackForm(1L)); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java index 7a8c160feb..8c32c035c1 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCyclotron.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.COMET_Cyclotron; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_Cyclotron; @@ -13,7 +15,10 @@ public class GregtechCyclotron { private static void run1() { GregtechItemList.COMET_Cyclotron.set( - new GregtechMetaTileEntity_Cyclotron(828, "cyclotron.tier.single", "COMET - Compact Cyclotron", 6) - .getStackForm(1L)); + new GregtechMetaTileEntity_Cyclotron( + COMET_Cyclotron.ID, + "cyclotron.tier.single", + "COMET - Compact Cyclotron", + 6).getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java index 4fccef139e..0e1dd34e99 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java @@ -5,6 +5,13 @@ import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Basi import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_Vacuum_Furnace; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Dehydrator_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Dehydrator_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Dehydrator_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Dehydrator_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Dehydrator_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Dehydrator_ZPM; import net.minecraft.item.ItemStack; @@ -76,7 +83,7 @@ public class GregtechDehydrator { // Basic GregtechItemList.GT_Dehydrator_MV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 911, + GT_Dehydrator_MV.ID, "machine.dehydrator.tier.00", "Basic Dehydrator I", 2, @@ -96,7 +103,7 @@ public class GregtechDehydrator { GregtechItemList.GT_Dehydrator_HV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 912, + GT_Dehydrator_HV.ID, "machine.dehydrator.tier.01", "Basic Dehydrator II", 3, @@ -117,7 +124,7 @@ public class GregtechDehydrator { // Chemical GregtechItemList.GT_Dehydrator_EV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 813, + GT_Dehydrator_EV.ID, "advancedmachine.dehydrator.tier.01", "Chemical Dehydrator I", 4, @@ -136,7 +143,7 @@ public class GregtechDehydrator { GregtechItemList.GT_Dehydrator_IV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 814, + GT_Dehydrator_IV.ID, "advancedmachine.dehydrator.tier.02", "Chemical Dehydrator II", 5, @@ -155,7 +162,7 @@ public class GregtechDehydrator { GregtechItemList.GT_Dehydrator_LuV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 815, + GT_Dehydrator_LuV.ID, "advancedmachine.dehydrator.tier.03", "Chemical Dehydrator III", 6, @@ -174,7 +181,7 @@ public class GregtechDehydrator { GregtechItemList.GT_Dehydrator_ZPM.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 816, + GT_Dehydrator_ZPM.ID, "advancedmachine.dehydrator.tier.04", "Chemical Dehydrator IV", 7, @@ -193,7 +200,9 @@ public class GregtechDehydrator { // Advanced GregtechItemList.Controller_Vacuum_Furnace.set( - new GregtechMetaTileEntity_IndustrialDehydrator(995, "multimachine.adv.vacuumfurnace", "Utupu-Tanuri") - .getStackForm(1L)); + new GregtechMetaTileEntity_IndustrialDehydrator( + Controller_Vacuum_Furnace.ID, + "multimachine.adv.vacuumfurnace", + "Utupu-Tanuri").getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java index 4aebd8a7b5..37ecdb9f2f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java @@ -1,5 +1,16 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_MAX; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_ULV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Energy_Buffer_1by1_ZPM; + import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -21,121 +32,158 @@ public class GregtechEnergyBuffer { private static void run1() { - // itemBufferCore = new - // Item().setUnlocalizedName("itemBufferCore").setCreativeTab(AddToCreativeTab.tabMisc).setTextureName(GTPlusPlus.ID - // + ":itemBufferCore"); - - // Registry - // GameRegistry.registerItem(itemBufferCore, "itemBufferCore"); - // LanguageRegistry.addName(itemBufferCore, "Buffer Core"); - // OreDictionary.registerOre("itemBufferCore", itemBufferCore); - // Energy Buffers GregtechItemList.Energy_Buffer_1by1_ULV.set( - new GregtechMetaEnergyBuffer(770, "energybuffer.tier.00", "Ultra Low Voltage Energy Buffer", 0, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_ULV.ID, + "energybuffer.tier.00", + "Ultra Low Voltage Energy Buffer", + 0, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_LV.set( - new GregtechMetaEnergyBuffer(771, "energybuffer.tier.01", "Low Voltage Energy Buffer", 1, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_LV.ID, + "energybuffer.tier.01", + "Low Voltage Energy Buffer", + 1, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_MV.set( - new GregtechMetaEnergyBuffer(772, "energybuffer.tier.02", "Medium Voltage Energy Buffer", 2, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_MV.ID, + "energybuffer.tier.02", + "Medium Voltage Energy Buffer", + 2, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_HV.set( - new GregtechMetaEnergyBuffer(773, "energybuffer.tier.03", "High Voltage Energy Buffer", 3, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_HV.ID, + "energybuffer.tier.03", + "High Voltage Energy Buffer", + 3, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_EV.set( - new GregtechMetaEnergyBuffer(774, "energybuffer.tier.04", "Extreme Voltage Energy Buffer", 4, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_EV.ID, + "energybuffer.tier.04", + "Extreme Voltage Energy Buffer", + 4, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_IV.set( - new GregtechMetaEnergyBuffer(775, "energybuffer.tier.05", "Insane Voltage Energy Buffer", 5, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_IV.ID, + "energybuffer.tier.05", + "Insane Voltage Energy Buffer", + 5, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_LuV.set( - new GregtechMetaEnergyBuffer(776, "energybuffer.tier.06", "Ludicrous Voltage Energy Buffer", 6, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_LuV.ID, + "energybuffer.tier.06", + "Ludicrous Voltage Energy Buffer", + 6, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_ZPM.set( - new GregtechMetaEnergyBuffer(777, "energybuffer.tier.07", "ZPM Voltage Energy Buffer", 7, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_ZPM.ID, + "energybuffer.tier.07", + "ZPM Voltage Energy Buffer", + 7, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_UV.set( - new GregtechMetaEnergyBuffer(778, "energybuffer.tier.08", "Ultimate Voltage Energy Buffer", 8, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_UV.ID, + "energybuffer.tier.08", + "Ultimate Voltage Energy Buffer", + 8, + "", + 1).getStackForm(1L)); GregtechItemList.Energy_Buffer_1by1_MAX.set( - new GregtechMetaEnergyBuffer(779, "energybuffer.tier.09", "MAX Voltage Energy Buffer", 9, "", 1) - .getStackForm(1L)); + new GregtechMetaEnergyBuffer( + Energy_Buffer_1by1_MAX.ID, + "energybuffer.tier.09", + "MAX Voltage Energy Buffer", + 9, + "", + 1).getStackForm(1L)); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_ULV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_ULV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Lead), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_ULV, 'W', OrePrefixes.wireGt08.get(Materials.Lead), 'T', + GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Tin), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_LV, 'W', OrePrefixes.wireGt08.get(Materials.Tin), 'T', + GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.AnyCopper), Character.valueOf('T'), + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_MV, 'W', OrePrefixes.wireGt08.get(Materials.AnyCopper), 'T', GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Gold), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_HV, 'W', OrePrefixes.wireGt08.get(Materials.Gold), 'T', + GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Aluminium), Character.valueOf('T'), + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_EV, 'W', OrePrefixes.wireGt08.get(Materials.Aluminium), 'T', GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Tungsten), Character.valueOf('T'), + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_IV, 'W', OrePrefixes.wireGt08.get(Materials.Tungsten), 'T', GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_LuV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_LuV, 'W', OrePrefixes.wireGt08.get(Materials.Osmium), 'T', + GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_ZPM.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_ZPM, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_ZPM, 'W', OrePrefixes.wireGt08.get(Materials.Osmium), 'T', + GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_UV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_UV, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.Osmium), Character.valueOf('T'), GregtechOreDictNames.buffer_core }); + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_UV, 'W', OrePrefixes.wireGt08.get(Materials.Osmium), 'T', + GregtechOreDictNames.buffer_core }); GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_MAX.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "WTW", "WMW", Character.valueOf('M'), ItemList.Hull_MAX, Character.valueOf('W'), - OrePrefixes.wireGt08.get(Materials.SuperconductorUHV), Character.valueOf('T'), - GregtechOreDictNames.buffer_core }); + new Object[] { "WTW", "WMW", 'M', ItemList.Hull_MAX, 'W', + OrePrefixes.wireGt08.get(Materials.SuperconductorUHV), 'T', GregtechOreDictNames.buffer_core }); /* * GT_ModHandler.addCraftingRecipe( GregtechItemList.Energy_Buffer_1by1_MAX.get(1L, new Object[0]), * GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java index 6117631244..c0a12d3b25 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechFactoryGradeReplacementMultis.java @@ -1,5 +1,12 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.FusionComputer_UV2; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.FusionComputer_UV3; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_Cryogenic_Freezer; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Machine_Adv_BlastFurnace; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Machine_Adv_DistillationTower; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Machine_Adv_ImplosionCompressor; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialVacuumFreezer; @@ -17,27 +24,34 @@ public class GregtechFactoryGradeReplacementMultis { private static void run1() { Logger.INFO("Gregtech 5 Content | Registering Advanced GT Multiblock replacements."); - GregtechItemList.Machine_Adv_BlastFurnace - .set(new GregtechMetaTileEntity_Adv_EBF(963, "multimachine.adv.blastfurnace", "Volcanus").getStackForm(1L)); - GregtechItemList.Machine_Adv_ImplosionCompressor.set( - new GregtechMetaTileEntity_Adv_Implosion(964, "multimachine.adv.implosioncompressor", "Density^2") + GregtechItemList.Machine_Adv_BlastFurnace.set( + new GregtechMetaTileEntity_Adv_EBF(Machine_Adv_BlastFurnace.ID, "multimachine.adv.blastfurnace", "Volcanus") .getStackForm(1L)); + GregtechItemList.Machine_Adv_ImplosionCompressor.set( + new GregtechMetaTileEntity_Adv_Implosion( + Machine_Adv_ImplosionCompressor.ID, + "multimachine.adv.implosioncompressor", + "Density^2").getStackForm(1L)); GregtechItemList.Industrial_Cryogenic_Freezer.set( new GregtechMetaTileEntity_IndustrialVacuumFreezer( - 910, + Industrial_Cryogenic_Freezer.ID, "multimachine.adv.industrialfreezer", "Cryogenic Freezer").getStackForm(1L)); GregtechItemList.FusionComputer_UV2.set( - new GregtechMetaTileEntity_Adv_Fusion_MK4(965, "fusioncomputer.tier.09", "FusionTech MK IV") - .getStackForm(1L)); + new GregtechMetaTileEntity_Adv_Fusion_MK4( + FusionComputer_UV2.ID, + "fusioncomputer.tier.09", + "FusionTech MK IV").getStackForm(1L)); GregtechItemList.FusionComputer_UV3.set( - new GregtechMetaTileEntity_Adv_Fusion_MK5(975, "fusioncomputer.tier.10", "FusionTech MK V") - .getStackForm(1L)); + new GregtechMetaTileEntity_Adv_Fusion_MK5( + FusionComputer_UV3.ID, + "fusioncomputer.tier.10", + "FusionTech MK V").getStackForm(1L)); // 31021 GregtechItemList.Machine_Adv_DistillationTower.set( new GregtechMetaTileEntity_Adv_DistillationTower( - 31021, + Machine_Adv_DistillationTower.ID, "multimachine.adv.distillationtower", "Dangote Distillus").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java index 2e012ee7f9..7c6b576283 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeothermalThermalGenerator.java @@ -1,5 +1,9 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Geothermal_Engine_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Geothermal_Engine_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Geothermal_Engine_LuV; + import net.minecraft.item.ItemStack; import gregtech.api.enums.ItemList; @@ -25,54 +29,50 @@ public class GregtechGeothermalThermalGenerator { private static void run1() { GregtechItemList.Geothermal_Engine_EV.set( new GregtechMetaTileEntityGeothermalGenerator( - 830, + Geothermal_Engine_EV.ID, "advancedgenerator.geothermalFuel.tier.01", "Basic Geothermal Engine", 4).getStackForm(1L)); GregtechItemList.Geothermal_Engine_IV.set( new GregtechMetaTileEntityGeothermalGenerator( - 831, + Geothermal_Engine_IV.ID, "advancedgenerator.geothermalFuel.tier.02", "Turbo Geothermal Engine", 5).getStackForm(1L)); GregtechItemList.Geothermal_Engine_LuV.set( new GregtechMetaTileEntityGeothermalGenerator( - 832, + Geothermal_Engine_LuV.ID, "advancedgenerator.geothermalFuel.tier.03", "Vulcan Geothermal Engine", 6).getStackForm(1L)); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Geothermal_Engine_EV.get(1L, new Object[0]), + GregtechItemList.Geothermal_Engine_EV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'), - ItemList.Electric_Piston_EV, Character.valueOf('E'), ItemList.Electric_Motor_EV, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('W'), - OrePrefixes.cableGt04.get(Materials.Aluminium), Character.valueOf('G'), - ALLOY.TANTALLOY_61.getGear(1) }); + new Object[] { "CEC", "GMG", "PWP", 'M', ItemList.Hull_EV, 'P', ItemList.Electric_Piston_EV, 'E', + ItemList.Electric_Motor_EV, 'C', OrePrefixes.circuit.get(Materials.Ultimate), 'W', + OrePrefixes.cableGt04.get(Materials.Aluminium), 'G', ALLOY.TANTALLOY_61.getGear(1) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Geothermal_Engine_IV.get(1L, new Object[0]), + GregtechItemList.Geothermal_Engine_IV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'), - ItemList.Electric_Piston_IV, Character.valueOf('E'), ItemList.Electric_Motor_IV, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.SuperconductorUHV), Character.valueOf('W'), - OrePrefixes.cableGt04.get(Materials.Platinum), Character.valueOf('G'), ALLOY.STELLITE.getGear(1) }); + new Object[] { "CEC", "GMG", "PWP", 'M', ItemList.Hull_IV, 'P', ItemList.Electric_Piston_IV, 'E', + ItemList.Electric_Motor_IV, 'C', OrePrefixes.circuit.get(Materials.SuperconductorUHV), 'W', + OrePrefixes.cableGt04.get(Materials.Platinum), 'G', ALLOY.STELLITE.getGear(1) }); final ItemStack INGREDIENT_1 = CI.electricPiston_LuV; final ItemStack INGREDIENT_2 = CI.electricMotor_LuV; GT_ModHandler.addCraftingRecipe( - GregtechItemList.Geothermal_Engine_LuV.get(1L, new Object[0]), + GregtechItemList.Geothermal_Engine_LuV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "CEC", "GMG", "PWP", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'), - INGREDIENT_1, Character.valueOf('E'), INGREDIENT_2, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Infinite), Character.valueOf('W'), - OrePrefixes.cableGt04.get(Materials.Tungsten), Character.valueOf('G'), ALLOY.ZERON_100.getGear(1) }); + new Object[] { "CEC", "GMG", "PWP", 'M', ItemList.Hull_LuV, 'P', INGREDIENT_1, 'E', INGREDIENT_2, 'C', + OrePrefixes.circuit.get(Materials.Infinite), 'W', OrePrefixes.cableGt04.get(Materials.Tungsten), 'G', + ALLOY.ZERON_100.getGear(1) }); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java index 2587cb8524..171323de4a 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechHiAmpTransformer.java @@ -1,5 +1,15 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_EV_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_HV_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_IV_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_LV_ULV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_LuV_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_MAX_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_MV_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_UV_ZPM; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Transformer_HA_ZPM_LuV; + import net.minecraft.item.ItemStack; import gregtech.api.GregTech_API; @@ -18,69 +28,68 @@ public class GregtechHiAmpTransformer { long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED; - int mID = 877; String mHammerName = "Mallet"; GregtechItemList.Transformer_HA_LV_ULV.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_LV_ULV.ID, "transformer.ha.tier.00", "ULV Hi-Amp Transformer", 0, "LV -> ULV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); GregtechItemList.Transformer_HA_MV_LV.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_MV_LV.ID, "transformer.ha.tier.01", "LV Hi-Amp Transformer", 1, "MV -> LV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); GregtechItemList.Transformer_HA_HV_MV.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_HV_MV.ID, "transformer.ha.tier.02", "MV Hi-Amp Transformer", 2, "HV -> MV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); GregtechItemList.Transformer_HA_EV_HV.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_EV_HV.ID, "transformer.ha.tier.03", "HV Hi-Amp Transformer", 3, "EV -> HV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); GregtechItemList.Transformer_HA_IV_EV.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_IV_EV.ID, "transformer.ha.tier.04", "EV Hi-Amp Transformer", 4, "IV -> EV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); GregtechItemList.Transformer_HA_LuV_IV.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_LuV_IV.ID, "transformer.ha.tier.05", "IV Hi-Amp Transformer", 5, "LuV -> IV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); GregtechItemList.Transformer_HA_ZPM_LuV.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_ZPM_LuV.ID, "transformer.ha.tier.06", "LuV Hi-Amp Transformer", 6, "ZPM -> LuV (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); GregtechItemList.Transformer_HA_UV_ZPM.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_UV_ZPM.ID, "transformer.ha.tier.07", "ZPM Hi-Amp Transformer", 7, "UV -> ZPM (Use Soft " + mHammerName + " to invert)").getStackForm(1L)); GregtechItemList.Transformer_HA_MAX_UV.set( new GregtechMetaTransformerHiAmp( - mID++, + Transformer_HA_MAX_UV.ID, "transformer.ha.tier.08", "UV Hi-Amp Transformer", 8, @@ -106,58 +115,55 @@ public class GregtechHiAmpTransformer { 1); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_LV_ULV.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_LV_ULV.get(1L), bitsd, - new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_LV_ULV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Tin), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Lead) }); + new Object[] { " BB", "CM ", " BB", 'M', ItemList.Transformer_LV_ULV, 'C', + OrePrefixes.wireGt04.get(Materials.Tin), 'B', OrePrefixes.wireGt04.get(Materials.Lead) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_MV_LV.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_MV_LV.get(1L), bitsd, - new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_MV_LV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.AnyCopper), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Tin) }); + new Object[] { " BB", "CM ", " BB", 'M', ItemList.Transformer_MV_LV, 'C', + OrePrefixes.wireGt04.get(Materials.AnyCopper), 'B', OrePrefixes.wireGt04.get(Materials.Tin) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_HV_MV.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_HV_MV.get(1L), bitsd, - new Object[] { " BB", "CM ", " BB", Character.valueOf('M'), ItemList.Transformer_HV_MV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Gold), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.AnyCopper) }); + new Object[] { " BB", "CM ", " BB", 'M', ItemList.Transformer_HV_MV, 'C', + OrePrefixes.wireGt04.get(Materials.Gold), 'B', OrePrefixes.wireGt04.get(Materials.AnyCopper) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_EV_HV.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_EV_HV.get(1L), bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_EV_HV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Aluminium), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Gold), Character.valueOf('K'), ItemList.Casing_Coil_Cupronickel }); + new Object[] { "KBB", "CM ", "KBB", 'M', ItemList.Transformer_EV_HV, 'C', + OrePrefixes.wireGt04.get(Materials.Aluminium), 'B', OrePrefixes.wireGt04.get(Materials.Gold), 'K', + ItemList.Casing_Coil_Cupronickel }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_IV_EV.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_IV_EV.get(1L), bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_IV_EV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Tungsten), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Aluminium), Character.valueOf('K'), ItemList.Casing_Coil_Kanthal }); + new Object[] { "KBB", "CM ", "KBB", 'M', ItemList.Transformer_IV_EV, 'C', + OrePrefixes.wireGt04.get(Materials.Tungsten), 'B', OrePrefixes.wireGt04.get(Materials.Aluminium), 'K', + ItemList.Casing_Coil_Kanthal }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_LuV_IV.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_LuV_IV.get(1L), bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_LuV_IV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.VanadiumGallium), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Tungsten), Character.valueOf('K'), ItemList.Casing_Coil_Nichrome }); + new Object[] { "KBB", "CM ", "KBB", 'M', ItemList.Transformer_LuV_IV, 'C', + OrePrefixes.wireGt04.get(Materials.VanadiumGallium), 'B', OrePrefixes.wireGt04.get(Materials.Tungsten), + 'K', ItemList.Casing_Coil_Nichrome }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_ZPM_LuV.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_ZPM_LuV.get(1L), bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_ZPM_LuV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Naquadah), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.VanadiumGallium), Character.valueOf('K'), mItem_1 }); + new Object[] { "KBB", "CM ", "KBB", 'M', ItemList.Transformer_ZPM_LuV, 'C', + OrePrefixes.wireGt04.get(Materials.Naquadah), 'B', OrePrefixes.wireGt04.get(Materials.VanadiumGallium), + 'K', mItem_1 }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_UV_ZPM.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_UV_ZPM.get(1L), bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_UV_ZPM, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.Naquadah), Character.valueOf('K'), mItem_2 }); + new Object[] { "KBB", "CM ", "KBB", 'M', ItemList.Transformer_UV_ZPM, 'C', + OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), 'B', OrePrefixes.wireGt04.get(Materials.Naquadah), + 'K', mItem_2 }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Transformer_HA_MAX_UV.get(1L, new Object[0]), + GregtechItemList.Transformer_HA_MAX_UV.get(1L), bitsd, - new Object[] { "KBB", "CM ", "KBB", Character.valueOf('M'), ItemList.Transformer_MAX_UV, - Character.valueOf('C'), OrePrefixes.wireGt04.get(Materials.Bedrockium), Character.valueOf('B'), - OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), Character.valueOf('K'), mItem_3 }); + new Object[] { "KBB", "CM ", "KBB", 'M', ItemList.Transformer_MAX_UV, 'C', + OrePrefixes.wireGt04.get(Materials.Bedrockium), 'B', OrePrefixes.wireGt04.get(Materials.NaquadahAlloy), + 'K', mItem_3 }); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java index dc176e7356..d03e7fc4a2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialAlloySmelter.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_AlloySmelter; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialAlloySmelter; @@ -14,7 +16,7 @@ public class GregtechIndustrialAlloySmelter { private static void run1() { GregtechItemList.Industrial_AlloySmelter.set( new GregtechMetaTileEntity_IndustrialAlloySmelter( - 31023, + Industrial_AlloySmelter.ID, "industrialalloysmelter.controller.tier.single", "Zyngen").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java index 3de3da7f88..0bfa0173c8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialArcFurnace.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_Arc_Furnace; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialArcFurnace; @@ -15,7 +17,7 @@ public class GregtechIndustrialArcFurnace { // Industrial Arc Furnace Multiblock GregtechItemList.Industrial_Arc_Furnace.set( new GregtechMetaTileEntity_IndustrialArcFurnace( - 862, + Industrial_Arc_Furnace.ID, "industrialarcfurnace.controller.tier.single", "High Current Industrial Arc Furnace").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java index e457575391..0c9a9b126b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialBlastSmelter.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_AlloyBlastSmelter; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Mega_AlloyBlastSmelter; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -19,12 +22,12 @@ public class GregtechIndustrialBlastSmelter { // Industrial Alloy Blast Smelter Multiblock GregtechItemList.Industrial_AlloyBlastSmelter.set( new GregtechMetaTileEntity_AlloyBlastSmelter( - 810, + Industrial_AlloyBlastSmelter.ID, "industrialsalloyamelter.controller.tier.single", "Alloy Blast Smelter").getStackForm(1L)); GregtechItemList.Mega_AlloyBlastSmelter.set( new GregTechMetaTileEntity_MegaAlloyBlastSmelter( - 31150, + Mega_AlloyBlastSmelter.ID, "industrialsalloyamelter.controller.tier.mega", "Mega Alloy Blast Smelter").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java index bc51aaae51..91021db42e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCentrifuge.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_Centrifuge; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialCentrifuge { // Industrial Centrifuge Multiblock GregtechItemList.Industrial_Centrifuge.set( new GregtechMetaTileEntity_IndustrialCentrifuge( - 790, + Industrial_Centrifuge.ID, "industrialcentrifuge.controller.tier.single", "Industrial Centrifuge").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialChisel.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialChisel.java index ae0e2483cf..fe7ef347db 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialChisel.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialChisel.java @@ -1,5 +1,10 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_IndustrialAutoChisel; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Chisel_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Chisel_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_Chisel_MV; + import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.basic.GregtechMetaTileEntity_AutoChisel; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialChisel; @@ -8,16 +13,18 @@ public class GregtechIndustrialChisel { public static void run() { GregtechItemList.GT_Chisel_LV.set( - new GregtechMetaTileEntity_AutoChisel(31066, "chisel.tier.01", "Basic Auto-Chisel", 1).getStackForm(1L)); + new GregtechMetaTileEntity_AutoChisel(GT_Chisel_LV.ID, "chisel.tier.01", "Basic Auto-Chisel", 1) + .getStackForm(1L)); GregtechItemList.GT_Chisel_MV.set( - new GregtechMetaTileEntity_AutoChisel(31067, "chisel.tier.02", "Advanced Auto-Chisel", 2).getStackForm(1L)); + new GregtechMetaTileEntity_AutoChisel(GT_Chisel_MV.ID, "chisel.tier.02", "Advanced Auto-Chisel", 2) + .getStackForm(1L)); GregtechItemList.GT_Chisel_HV.set( - new GregtechMetaTileEntity_AutoChisel(31068, "chisel.tier.03", "Precision Auto-Chisel", 3) + new GregtechMetaTileEntity_AutoChisel(GT_Chisel_HV.ID, "chisel.tier.03", "Precision Auto-Chisel", 3) .getStackForm(1L)); GregtechItemList.Controller_IndustrialAutoChisel.set( new GregtechMetaTileEntity_IndustrialChisel( - 31069, + Controller_IndustrialAutoChisel.ID, "multimachine.adv.chisel", "Industrial 3D Copying Machine").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java index af941e58db..4ebb921892 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCokeOven.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_CokeOven; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialCokeOven { // Industrial Centrifuge Multiblock GregtechItemList.Industrial_CokeOven.set( new GregtechMetaTileEntity_IndustrialCokeOven( - 791, + Industrial_CokeOven.ID, "industrialcokeoven.controller.tier.single", "Industrial Coke Oven").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java index c5ff4a9928..d39222177c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialCuttingFactory.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_CuttingFactoryController; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialCuttingFactory { // Industrial Wire Factory Multiblock GregtechItemList.Industrial_CuttingFactoryController.set( new GregtechMetaTileEntity_IndustrialCuttingMachine( - 992, + Industrial_CuttingFactoryController.ID, "industrialcuttingmachine.controller.tier.01", "Cutting Factory Controller").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java index a114aaf3cd..c9137c4a47 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElectrolyzer.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_Electrolyzer; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialElectrolyzer { // Industrial Electrolyzer Multiblock GregtechItemList.Industrial_Electrolyzer.set( new GregtechMetaTileEntity_IndustrialElectrolyzer( - 796, + Industrial_Electrolyzer.ID, "industrialelectrolyzer.controller.tier.single", "Industrial Electrolyzer").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java index 222a3e7689..fdc47955fb 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialElementDuplicator.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_ElementalDuplicator; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_Elemental_Duplicator; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_ElementalDataOrbHolder; @@ -12,11 +15,13 @@ public class GregtechIndustrialElementDuplicator { Logger.INFO("Gregtech5u Content | Registering Elemental Duplicator Multiblock."); GregtechItemList.Controller_ElementalDuplicator.set( - new GregtechMTE_ElementalDuplicator(31050, "gtpp.multimachine.replicator", "Elemental Duplicator") - .getStackForm(1L)); + new GregtechMTE_ElementalDuplicator( + Controller_ElementalDuplicator.ID, + "gtpp.multimachine.replicator", + "Elemental Duplicator").getStackForm(1L)); GregtechItemList.Hatch_Input_Elemental_Duplicator.set( new GT_MetaTileEntity_Hatch_ElementalDataOrbHolder( - 31051, + Hatch_Input_Elemental_Duplicator.ID, "hatch.input_bus.elementalorbholder", "Data Orb Repository", 7).getStackForm(1L)); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java index 817858a4a0..b5283d7043 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialExtruder.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_Extruder; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialExtruder { // Industrial Presser Multiblock GregtechItemList.Industrial_Extruder.set( new GregtechMetaTileEntity_IndustrialExtruder( - 859, + Industrial_Extruder.ID, "industrialextruder.controller.tier.single", "Industrial Extrusion Machine").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java index 182662bfbc..73c7fade6b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFishPond.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_FishingPond; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_IndustrialFishingPond; @@ -14,7 +16,7 @@ public class GregtechIndustrialFishPond { private static void run1() { GregtechItemList.Industrial_FishingPond.set( new GregtechMetaTileEntity_IndustrialFishingPond( - 829, + Industrial_FishingPond.ID, "industrial.fishpond.controller.tier.single", "Zhuhai - Fishing Port").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java index e25ef2fcae..d1e144e91a 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFluidHeater.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_IndustrialFluidHeater; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialFluidHeater; @@ -14,7 +16,7 @@ public class GregtechIndustrialFluidHeater { private static void run1() { GregtechItemList.Controller_IndustrialFluidHeater.set( new GregtechMetaTileEntity_IndustrialFluidHeater( - 31077, + Controller_IndustrialFluidHeater.ID, "industrialfluidheater.controller.tier.single", "Thermic Heating Device").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.java index a73b9fd873..a3c6264e6e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialForgeHammer.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_IndustrialForgeHammer; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialForgeHammer; @@ -14,7 +16,7 @@ public class GregtechIndustrialForgeHammer { private static void run1() { GregtechItemList.Controller_IndustrialForgeHammer.set( new GregtechMetaTileEntity_IndustrialForgeHammer( - 31075, + Controller_IndustrialForgeHammer.ID, "industrialhammer.controller.tier.single", "Industrial Sledgehammer").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java index e45f593c7a..ab2c0e43ef 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialFuelRefinery.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_FuelRefinery; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialFuelRefinery { // Industrial Maceration Stack Multiblock GregtechItemList.Industrial_FuelRefinery.set( new GregtechMetaTileEntity_Refinery( - 835, + Industrial_FuelRefinery.ID, "industrialrefinery.controller.tier.single", "Reactor Fuel Processing Plant").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java index 0912660cc1..cc597210e9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMacerator.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_MacerationStack; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialMacerator { // Industrial Maceration Stack Multiblock GregtechItemList.Industrial_MacerationStack.set( new GregtechMetaTileEntity_IndustrialMacerator( - 797, + Industrial_MacerationStack.ID, "industrialmacerator.controller.tier.single", "Maceration Stack Controller").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java index 92b7182426..c3233bf0d5 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java @@ -1,15 +1,16 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.multiblockMassFabricatorRecipes; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_MassFab; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; -import gregtech.api.util.GT_Recipe; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_MassFabricator; @@ -28,7 +29,7 @@ public class GregtechIndustrialMassFabricator { // Industrial Matter Fabricator Multiblock GregtechItemList.Industrial_MassFab.set( new GregtechMetaTileEntity_MassFabricator( - 799, + Industrial_MassFab.ID, "industrialmassfab.controller.tier.single", "Matter Fabrication CPU").getStackForm(1L)); } @@ -38,100 +39,67 @@ public class GregtechIndustrialMassFabricator { // Generate Scrap->UUA Recipes // Basic UUA1 - GT_Recipe UUA_From_Scrap = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(9), ItemUtils.getSimpleStack(getScrapPile(), 9) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { Materials.UUAmplifier.getFluid(1) }, - 9 * 20, - 32, - 0); - // Basic UUA2 - GT_Recipe UUA_From_ScrapBoxes = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getSimpleStack(getScrapBox(), 1) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { Materials.UUAmplifier.getFluid(1) }, - 9 * 20, - 32, - 0); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(9), + ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrap"), 9)) + .fluidOutputs(Materials.UUAmplifier.getFluid(1)) + .duration(9 * SECONDS) + .eut(TierEU.LV) + .noOptimize() + .addTo(multiblockMassFabricatorRecipes); - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(UUA_From_Scrap); - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(UUA_From_ScrapBoxes); + // Basic UUA2 + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.getIntegratedCircuit(19), + ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrapbox"))) + .fluidOutputs(Materials.UUAmplifier.getFluid(1)) + .duration(9 * SECONDS) + .eut(TierEU.LV) + .noOptimize() + .addTo(multiblockMassFabricatorRecipes); // Basic UUM - GT_Recipe generateUUM_LV = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(1) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { Materials.UUMatter.getFluid(16) }, - 160 * 20, - 4096, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidOutputs(Materials.UUMatter.getFluid(16)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(4096) + .noOptimize() + .addTo(multiblockMassFabricatorRecipes); // Basic UUM - GT_Recipe generateUUMFromUUA_LV = new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(2) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { Materials.UUAmplifier.getFluid(16) }, - new FluidStack[] { Materials.UUMatter.getFluid(16) }, - 40 * 20, - 4096, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2)) + .fluidInputs(Materials.UUAmplifier.getFluid(16)) + .fluidOutputs(Materials.UUMatter.getFluid(16)) + .duration(40 * SECONDS) + .eut(4096) + .noOptimize() + .addTo(multiblockMassFabricatorRecipes); // Advanced UUM - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(3) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { GT_Values.NF }, - new FluidStack[] { Materials.UUMatter.getFluid(256) }, - 160 * 20, - 65536, - 0)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .fluidOutputs(Materials.UUMatter.getFluid(256)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(65536) + .noOptimize() + .addTo(multiblockMassFabricatorRecipes); // Advanced UUM - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add( - new GT_Recipe( - false, - new ItemStack[] { CI.getNumberedCircuit(4) }, - new ItemStack[] { GT_Values.NI }, - null, - null, - new FluidStack[] { Materials.UUAmplifier.getFluid(256) }, - new FluidStack[] { Materials.UUMatter.getFluid(256) }, - 40 * 20, - 65536, - 0)); - - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(generateUUM_LV); - GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(generateUUMFromUUA_LV); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(3)) + .fluidInputs(Materials.UUAmplifier.getFluid(256)) + .fluidOutputs(Materials.UUMatter.getFluid(256)) + .duration(40 * SECONDS) + .eut(65536) + .noOptimize() + .addTo(multiblockMassFabricatorRecipes); Logger.INFO( - "Generated " + GTPPRecipeMaps.multiblockMassFabricatorRecipes.getAllRecipes() + "Generated " + multiblockMassFabricatorRecipes.getAllRecipes() .size() + " Matter Fabricator recipes."); } - - public static ItemStack getScrapPile() { - return ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrap")); - } - - public static ItemStack getScrapBox() { - return ItemUtils.getSimpleStack(ItemUtils.getItemFromFQRN("IC2:itemScrapbox")); - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java index 07d0432213..2fb3b797ea 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMixer.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_Mixer; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialMixer { // Industrial Mixer Multiblock GregtechItemList.Industrial_Mixer.set( new GregtechMetaTileEntity_IndustrialMixer( - 811, + Industrial_Mixer.ID, "industrialmixer.controller.tier.single", "Industrial Mixing Machine").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java index 9ba8810c55..4538af20ff 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMultiMachine.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_MultiMachine; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -17,7 +19,7 @@ public class GregtechIndustrialMultiMachine { private static void run1() { GregtechItemList.Industrial_MultiMachine.set( new GregtechMetaTileEntity_IndustrialMultiMachine( - 860, + Industrial_MultiMachine.ID, "industrialmultimachine.controller.tier.single", "Large Processing Factory").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java index 60d93e4cb7..49e52a850e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialPlatePress.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_PlatePress; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialPlatePress { // Industrial Presser Multiblock GregtechItemList.Industrial_PlatePress.set( new GregtechMetaTileEntity_IndustrialPlatePress( - 792, + Industrial_PlatePress.ID, "industrialbender.controller.tier.single", "Industrial Material Press").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.java index 3e9efb38cf..d9af5c906e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialRockBreaker.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_IndustrialRockBreaker; + import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_IndustrialRockBreaker; @@ -8,7 +10,7 @@ public class GregtechIndustrialRockBreaker { public static void run() { GregtechItemList.Controller_IndustrialRockBreaker.set( new GregtechMetaTileEntity_IndustrialRockBreaker( - 31065, + Controller_IndustrialRockBreaker.ID, "industrialrockcrusher.controller.tier.single", "Boldarnator").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java index 87f8cc5e44..a8b4bbfed9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialSifter.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_Sifter; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -17,7 +19,7 @@ public class GregtechIndustrialSifter { private static void run1() { GregtechItemList.Industrial_Sifter.set( new GregtechMetaTileEntity_IndustrialSifter( - 840, + Industrial_Sifter.ID, "industrialsifter.controller.tier.single", "Large Sifter Control Block").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java index cf8b585ae9..fe47a48ff2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialThermalCentrifuge.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_ThermalCentrifuge; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -17,7 +19,7 @@ public class GregtechIndustrialThermalCentrifuge { private static void run1() { GregtechItemList.Industrial_ThermalCentrifuge.set( new GregtechMetaTileEntity_IndustrialThermalCentrifuge( - 849, + Industrial_ThermalCentrifuge.ID, "industrialthermalcentrifuge.controller.tier.single", "Large Thermal Refinery").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java index 82a0369516..b70f933eaa 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialTreeFarm.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_TreeFarm; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -16,7 +18,9 @@ public class GregtechIndustrialTreeFarm { private static void run1() { GregtechItemList.Industrial_TreeFarm.set( - new GregtechMetaTileEntityTreeFarm(836, "treefarm.controller.tier.single", "Tree Growth Simulator") - .getStackForm(1L)); + new GregtechMetaTileEntityTreeFarm( + Industrial_TreeFarm.ID, + "treefarm.controller.tier.single", + "Tree Growth Simulator").getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java index 982695b02c..5fa5929eb9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWashPlant.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_WashPlant; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -17,7 +19,7 @@ public class GregtechIndustrialWashPlant { private static void run1() { GregtechItemList.Industrial_WashPlant.set( new GregtechMetaTileEntity_IndustrialWashPlant( - 850, + Industrial_WashPlant.ID, "industrialwashplant.controller.tier.single", "Ore Washing Plant").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java index 853013834b..448e4020ea 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialWiremill.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_WireFactory; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -18,7 +20,7 @@ public class GregtechIndustrialWiremill { // Industrial Wire Factory Multiblock GregtechItemList.Industrial_WireFactory.set( new GregtechMetaTileEntity_IndustrialWireMill( - 798, + Industrial_WireFactory.ID, "industrialwiremill.controller.tier.single", "Wire Factory Controller").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java index d1719d4b74..2b0df93b3a 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIsaMill.java @@ -1,5 +1,9 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Bus_Milling_Balls; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_Flotation_Cell; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_IsaMill; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.GT_MetaTileEntity_Hatch_MillingBalls; @@ -13,14 +17,19 @@ public class GregtechIsaMill { Logger.INFO("Gregtech5u Content | Registering Milling Content."); GregtechItemList.Controller_IsaMill.set( - new GregtechMetaTileEntity_IsaMill(31027, "gtpp.multimachine.isamill", "IsaMill Grinding Machine") - .getStackForm(1L)); + new GregtechMetaTileEntity_IsaMill( + Controller_IsaMill.ID, + "gtpp.multimachine.isamill", + "IsaMill Grinding Machine").getStackForm(1L)); GregtechItemList.Controller_Flotation_Cell.set( - new GregtechMTE_FrothFlotationCell(31028, "gtpp.multimachine.flotationcell", "Flotation Cell Regulator") - .getStackForm(1L)); + new GregtechMTE_FrothFlotationCell( + Controller_Flotation_Cell.ID, + "gtpp.multimachine.flotationcell", + "Flotation Cell Regulator").getStackForm(1L)); // Milling Ball Bus - GregtechItemList.Bus_Milling_Balls - .set((new GT_MetaTileEntity_Hatch_MillingBalls(31029, "hatch.milling", "Ball Housing")).getStackForm(1L)); + GregtechItemList.Bus_Milling_Balls.set( + (new GT_MetaTileEntity_Hatch_MillingBalls(Bus_Milling_Balls.ID, "hatch.milling", "Ball Housing")) + .getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java index 3a77c3f569..5dffac3776 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java @@ -1,5 +1,12 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.ColdTrap_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.ColdTrap_ZPM; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_Sparge_Tower; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.ReactorProcessingUnit_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.ReactorProcessingUnit_ZPM; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.ThoriumReactor; + import gregtech.api.enums.SoundResource; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects; @@ -22,11 +29,12 @@ public class GregtechLFTR { private static void run1() { // LFTR GregtechItemList.ThoriumReactor.set( - new GregtechMTE_NuclearReactor(751, "lftr.controller.single", "Thorium Reactor [LFTR]").getStackForm(1L)); + new GregtechMTE_NuclearReactor(ThoriumReactor.ID, "lftr.controller.single", "Thorium Reactor [LFTR]") + .getStackForm(1L)); // Reactor Processing Units GregtechItemList.ReactorProcessingUnit_IV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 31031, + ReactorProcessingUnit_IV.ID, "rpu.tier.01", "Reactor Processing Unit I", 5, @@ -41,7 +49,7 @@ public class GregtechLFTR { null).getStackForm(1L)); GregtechItemList.ReactorProcessingUnit_ZPM.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 31032, + ReactorProcessingUnit_ZPM.ID, "rpu.tier.02", "Reactor Processing Unit II", 7, @@ -57,7 +65,7 @@ public class GregtechLFTR { // Cold Traps GregtechItemList.ColdTrap_IV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 31033, + ColdTrap_IV.ID, "coldtrap.tier.01", "Cold Trap I", 5, @@ -72,7 +80,7 @@ public class GregtechLFTR { null).getStackForm(1L)); GregtechItemList.ColdTrap_ZPM.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 31034, + ColdTrap_ZPM.ID, "coldtrap.tier.02", "Cold Trap II", 7, @@ -87,7 +95,9 @@ public class GregtechLFTR { null).getStackForm(1L)); // Sparge Tower GregtechItemList.Controller_Sparge_Tower.set( - new GregtechMetaTileEntity_SpargeTower(31035, "sparge.controller.single", "Sparge Tower Controller") - .getStackForm(1L)); + new GregtechMetaTileEntity_SpargeTower( + Controller_Sparge_Tower.ID, + "sparge.controller.single", + "Sparge Tower Controller").getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java index 8c0740192e..f757d30f62 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLargeTurbinesAndHeatExchanger.java @@ -1,5 +1,13 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Turbine_Rotor; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Large_Gas_Turbine; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Large_HPSteam_Turbine; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Large_Plasma_Turbine; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Large_SCSteam_Turbine; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Large_Steam_Turbine; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.XL_HeatExchanger; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbine; @@ -19,25 +27,34 @@ public class GregtechLargeTurbinesAndHeatExchanger { private static void run1() { GregtechItemList.Large_Steam_Turbine.set( - new GT_MTE_LargeTurbine_Steam(865, "multimachine.largerturbine", "XL Turbo Steam Turbine") - .getStackForm(1L)); + new GT_MTE_LargeTurbine_Steam( + Large_Steam_Turbine.ID, + "multimachine.largerturbine", + "XL Turbo Steam Turbine").getStackForm(1L)); GregtechItemList.Large_HPSteam_Turbine.set( - new GT_MTE_LargeTurbine_SHSteam(866, "multimachine.largerhpturbine", "XL Turbo HP Steam Turbine") - .getStackForm(1L)); + new GT_MTE_LargeTurbine_SHSteam( + Large_HPSteam_Turbine.ID, + "multimachine.largerhpturbine", + "XL Turbo HP Steam Turbine").getStackForm(1L)); GregtechItemList.Large_Gas_Turbine.set( - new GT_MTE_LargeTurbine_Gas(31073, "multimachine.largergasturbine", "XL Turbo Gas Turbine") + new GT_MTE_LargeTurbine_Gas(Large_Gas_Turbine.ID, "multimachine.largergasturbine", "XL Turbo Gas Turbine") .getStackForm(1L)); GregtechItemList.Large_Plasma_Turbine.set( - new GT_MTE_LargeTurbine_Plasma(31074, "multimachine.largerplasmaturbine", "XL Turbo Plasma Turbine") - .getStackForm(1L)); + new GT_MTE_LargeTurbine_Plasma( + Large_Plasma_Turbine.ID, + "multimachine.largerplasmaturbine", + "XL Turbo Plasma Turbine").getStackForm(1L)); GregtechItemList.Large_SCSteam_Turbine.set( - new GT_MTE_LargeTurbine_SCSteam(31076, "multimachine.largerscturbine", "XL Turbo SC Steam Turbine") + new GT_MTE_LargeTurbine_SCSteam( + Large_SCSteam_Turbine.ID, + "multimachine.largerscturbine", + "XL Turbo SC Steam Turbine").getStackForm(1L)); + GregtechItemList.Hatch_Turbine_Rotor.set( + new GT_MetaTileEntity_Hatch_Turbine(Hatch_Turbine_Rotor.ID, "hatch.turbine", "Rotor Assembly", 8) .getStackForm(1L)); - GregtechItemList.Hatch_Turbine_Rotor - .set(new GT_MetaTileEntity_Hatch_Turbine(30010, "hatch.turbine", "Rotor Assembly", 8).getStackForm(1L)); GregtechItemList.XL_HeatExchanger.set( new GregtechMetaTileEntity_Adv_HeatExchanger( - 31079, + XL_HeatExchanger.ID, "multimachine.reallybigheatexchanger", "Whakawhiti Wera XL").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMolecularTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMolecularTransformer.java index ebb0bde1cf..9140ef3441 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMolecularTransformer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechMolecularTransformer.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_MolecularTransformer; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialMolecularTransformer; @@ -14,7 +16,7 @@ public class GregtechMolecularTransformer { private static void run1() { GregtechItemList.Controller_MolecularTransformer.set( new GregtechMetaTileEntity_IndustrialMolecularTransformer( - 31072, + Controller_MolecularTransformer.ID, "moleculartransformer.controller.tier.single", "Molecular Transformer").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.java index 0122f525c6..d663a3c7fb 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNuclearSaltProcessingPlant.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Nuclear_Salt_Processing_Plant; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -13,7 +15,7 @@ public class GregtechNuclearSaltProcessingPlant { // Nuclear Salt Processing Plant Multiblock GregtechItemList.Nuclear_Salt_Processing_Plant.set( new GregtechMetaTileEntity_NuclearSaltProcessingPlant( - 749, + Nuclear_Salt_Processing_Plant.ID, "nuclearsaltprocessingplant.controller.tier.single", "Nuclear Salt Processing Plant").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java index fc62698789..f8e33b8449 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPollutionDevices.java @@ -1,5 +1,17 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_MAX; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Cleaner_ZPM; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Creator; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Pollution_Detector; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; @@ -22,7 +34,7 @@ public class GregtechPollutionDevices { // 759 GregtechItemList.Pollution_Detector.set( new GregtechMetaPollutionDetector( - 756, + Pollution_Detector.ID, "pollutiondetector.01.tier.single", "Pollution Detection Device", 0, @@ -30,7 +42,7 @@ public class GregtechPollutionDevices { 0).getStackForm(1L)); GregtechItemList.Pollution_Creator.set( new GregtechMetaPollutionCreator( - 951, + Pollution_Creator.ID, "pollutioncreator.01.tier.single", "Smog Device", 4, @@ -39,52 +51,55 @@ public class GregtechPollutionDevices { GregtechItemList.Pollution_Cleaner_LV.set( new GregtechMetaAtmosphericReconditioner( - 758, + Pollution_Cleaner_LV.ID, "pollutioncleaner.02.tier.single", "Upgraded Pollution Scrubber", 1).getStackForm(1L)); GregtechItemList.Pollution_Cleaner_MV.set( new GregtechMetaAtmosphericReconditioner( - 759, + Pollution_Cleaner_MV.ID, "pollutioncleaner.03.tier.single", "Advanced Pollution Scrubber", 2).getStackForm(1L)); GregtechItemList.Pollution_Cleaner_HV.set( new GregtechMetaAtmosphericReconditioner( - 760, + Pollution_Cleaner_HV.ID, "pollutioncleaner.04.tier.single", "Precision Pollution Scrubber", 3).getStackForm(1L)); GregtechItemList.Pollution_Cleaner_EV.set( - new GregtechMetaAtmosphericReconditioner(761, "pollutioncleaner.05.tier.single", "Air Recycler", 4) - .getStackForm(1L)); + new GregtechMetaAtmosphericReconditioner( + Pollution_Cleaner_EV.ID, + "pollutioncleaner.05.tier.single", + "Air Recycler", + 4).getStackForm(1L)); GregtechItemList.Pollution_Cleaner_IV.set( new GregtechMetaAtmosphericReconditioner( - 762, + Pollution_Cleaner_IV.ID, "pollutioncleaner.06.tier.single", "Upgraded Air Recycler", 5).getStackForm(1L)); GregtechItemList.Pollution_Cleaner_LuV.set( new GregtechMetaAtmosphericReconditioner( - 763, + Pollution_Cleaner_LuV.ID, "pollutioncleaner.07.tier.single", "Advanced Air Recycler", 6).getStackForm(1L)); GregtechItemList.Pollution_Cleaner_ZPM.set( new GregtechMetaAtmosphericReconditioner( - 764, + Pollution_Cleaner_ZPM.ID, "pollutioncleaner.08.tier.single", "Precision Air Recycler", 7).getStackForm(1L)); GregtechItemList.Pollution_Cleaner_UV.set( new GregtechMetaAtmosphericReconditioner( - 765, + Pollution_Cleaner_UV.ID, "pollutioncleaner.09.tier.single", "Atmospheric Cleaner", 8).getStackForm(1L)); GregtechItemList.Pollution_Cleaner_MAX.set( new GregtechMetaAtmosphericReconditioner( - 766, + Pollution_Cleaner_MAX.ID, "pollutioncleaner.10.tier.single", "Biosphere Cleanser", 9).getStackForm(1L)); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java index 3fd906b261..75897ba7d1 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java @@ -1,5 +1,11 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_Battery_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_Battery_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Output_Battery_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Output_Battery_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.PowerSubStation; + import gregtech.api.enums.ItemList; import gregtech.api.util.GT_ModHandler; import gtPlusPlus.api.objects.Logger; @@ -23,38 +29,50 @@ public class GregtechPowerSubStation { // Steam Condensors GregtechItemList.PowerSubStation.set( new GregtechMetaTileEntity_PowerSubStationController( - 812, + PowerSubStation.ID, "substation.01.input.single", "Power Station Control Node").getStackForm(1L)); int tID = 886; GregtechItemList.Hatch_Input_Battery_MV.set( - new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.00", "Charging Bus (MV)", 2) - .getStackForm(1L)); + new GT_MetaTileEntity_Hatch_InputBattery( + Hatch_Input_Battery_MV.ID, + "hatch.input_battery.tier.00", + "Charging Bus (MV)", + 2).getStackForm(1L)); GregtechItemList.Hatch_Input_Battery_EV.set( - new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.01", "Charging Bus (EV)", 4) - .getStackForm(1L)); + new GT_MetaTileEntity_Hatch_InputBattery( + Hatch_Input_Battery_EV.ID, + "hatch.input_battery.tier.01", + "Charging Bus (EV)", + 4).getStackForm(1L)); GregtechItemList.Hatch_Output_Battery_MV.set( - new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.00", "Discharging Bus (MV)", 2) - .getStackForm(1L)); + new GT_MetaTileEntity_Hatch_OutputBattery( + Hatch_Output_Battery_MV.ID, + "hatch.output_battery.tier.00", + "Discharging Bus (MV)", + 2).getStackForm(1L)); GregtechItemList.Hatch_Output_Battery_EV.set( - new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.01", "Discharging Bus (EV)", 4) - .getStackForm(1L)); + new GT_MetaTileEntity_Hatch_OutputBattery( + Hatch_Output_Battery_EV.ID, + "hatch.output_battery.tier.01", + "Discharging Bus (EV)", + 4).getStackForm(1L)); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Input_Battery_MV.get(1L, new Object[0]), + GregtechItemList.Hatch_Input_Battery_MV.get(1L), CI.bitsd, new Object[] { "C", "M", 'M', ItemList.Hull_MV, 'C', ItemList.Battery_Buffer_2by2_MV }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Input_Battery_EV.get(1L, new Object[0]), + GregtechItemList.Hatch_Input_Battery_EV.get(1L), CI.bitsd, new Object[] { "C", "M", 'M', ItemList.Hull_EV, 'C', ItemList.Battery_Buffer_4by4_EV }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Output_Battery_MV.get(1L, new Object[0]), + GregtechItemList.Hatch_Output_Battery_MV.get(1L), CI.bitsd, new Object[] { "M", "C", 'M', ItemList.Hull_MV, 'C', ItemList.Battery_Buffer_2by2_MV }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Hatch_Output_Battery_EV.get(1L, new Object[0]), + GregtechItemList.Hatch_Output_Battery_EV.get(1L), CI.bitsd, new Object[] { "M", "C", 'M', ItemList.Hull_EV, 'C', ItemList.Battery_Buffer_4by4_EV }); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java index 5943f3bd28..f82ed9e85e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechQuantumForceTransformer.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.QuantumForceTransformer; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -12,7 +14,7 @@ public class GregtechQuantumForceTransformer { if (CORE.ConfigSwitches.enableMultiblock_QuantumForceTransformer) { GregtechItemList.QuantumForceTransformer.set( new GregtechMetaTileEntity_QuantumForceTransformer( - 31151, + QuantumForceTransformer.ID, "quantumforcetransformer.controller.tier.single", "Quantum Force Transformer").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java index 5eb148a287..710b9061a3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRTG.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.RTG; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GregtechMetaTileEntity_RTG; @@ -14,7 +16,7 @@ public class GregtechRTG { private static void run1() { GregtechItemList.RTG.set( new GregtechMetaTileEntity_RTG( - 869, + RTG.ID, "basicgenerator.rtg.tier.01", "Radioisotope Thermoelectric Generator", 3).getStackForm(1L)); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java index b2f53d46ba..7115efd0d8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechRocketFuelGenerator.java @@ -1,5 +1,10 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_RocketEngine; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Rocket_Engine_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Rocket_Engine_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Rocket_Engine_LuV; + import net.minecraft.item.ItemStack; import gregtech.api.enums.ItemList; @@ -26,7 +31,7 @@ public class GregtechRocketFuelGenerator { private static void run1() { GregtechItemList.Controller_RocketEngine.set( new GregtechMetaTileEntity_LargeRocketEngine( - 996, + Controller_RocketEngine.ID, "gtpp.multimachine.rocketengine", "Rocketdyne F-1A Engine").getStackForm(1L)); @@ -47,52 +52,48 @@ public class GregtechRocketFuelGenerator { GregtechItemList.Rocket_Engine_EV.set( new GregtechMetaTileEntityRocketFuelGenerator( - 793, + Rocket_Engine_EV.ID, "advancedgenerator.rocketFuel.tier.01", "Basic Rocket Engine", 4).getStackForm(1L)); GregtechItemList.Rocket_Engine_IV.set( new GregtechMetaTileEntityRocketFuelGenerator( - 794, + Rocket_Engine_IV.ID, "advancedgenerator.rocketFuel.tier.02", "Advanced Rocket Engine", 5).getStackForm(1L)); GregtechItemList.Rocket_Engine_LuV.set( new GregtechMetaTileEntityRocketFuelGenerator( - 795, + Rocket_Engine_LuV.ID, "advancedgenerator.rocketFuel.tier.03", "Turbo Rocket Engine", 6).getStackForm(1L)); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Rocket_Engine_EV.get(1L, new Object[0]), + GregtechItemList.Rocket_Engine_EV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_EV, Character.valueOf('P'), - ItemList.Electric_Piston_EV, Character.valueOf('E'), ItemList.Electric_Motor_EV, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('W'), - OrePrefixes.cableGt02.get(Materials.Aluminium), Character.valueOf('G'), - ALLOY.TANTALLOY_61.getGear(1) }); + new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_EV, 'P', ItemList.Electric_Piston_EV, 'E', + ItemList.Electric_Motor_EV, 'C', OrePrefixes.circuit.get(Materials.Elite), 'W', + OrePrefixes.cableGt02.get(Materials.Aluminium), 'G', ALLOY.TANTALLOY_61.getGear(1) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Rocket_Engine_IV.get(1L, new Object[0]), + GregtechItemList.Rocket_Engine_IV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_IV, Character.valueOf('P'), - ItemList.Electric_Piston_IV, Character.valueOf('E'), ItemList.Electric_Motor_IV, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), - OrePrefixes.cableGt02.get(Materials.Platinum), Character.valueOf('G'), ALLOY.STELLITE.getGear(1) }); + new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_IV, 'P', ItemList.Electric_Piston_IV, 'E', + ItemList.Electric_Motor_IV, 'C', OrePrefixes.circuit.get(Materials.Master), 'W', + OrePrefixes.cableGt02.get(Materials.Platinum), 'G', ALLOY.STELLITE.getGear(1) }); final ItemStack INGREDIENT_1 = CI.electricPiston_LuV; final ItemStack INGREDIENT_2 = CI.electricMotor_LuV; GT_ModHandler.addCraftingRecipe( - GregtechItemList.Rocket_Engine_LuV.get(1L, new Object[0]), + GregtechItemList.Rocket_Engine_LuV.get(1L), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, - new Object[] { "PCP", "EME", "GWG", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('P'), - INGREDIENT_1, Character.valueOf('E'), INGREDIENT_2, Character.valueOf('C'), - OrePrefixes.circuit.get(Materials.Ultimate), Character.valueOf('W'), - OrePrefixes.cableGt02.get(Materials.Tungsten), Character.valueOf('G'), ALLOY.ZERON_100.getGear(1) }); + new Object[] { "PCP", "EME", "GWG", 'M', ItemList.Hull_LuV, 'P', INGREDIENT_1, 'E', INGREDIENT_2, 'C', + OrePrefixes.circuit.get(Materials.Ultimate), 'W', OrePrefixes.cableGt02.get(Materials.Tungsten), 'G', + ALLOY.ZERON_100.getGear(1) }); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java index be349d2a81..5bbf877dd7 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSemiFluidgenerators.java @@ -1,5 +1,12 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_LargeSemifluidGenerator; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Generator_SemiFluid_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Generator_SemiFluid_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Generator_SemiFluid_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Generator_SemiFluid_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Generator_SemiFluid_MV; + import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.generators.GT_MetaTileEntity_SemiFluidGenerator; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_LargeSemifluidGenerator; @@ -9,37 +16,37 @@ public class GregtechSemiFluidgenerators { public static void run() { GregtechItemList.Generator_SemiFluid_LV.set( new GT_MetaTileEntity_SemiFluidGenerator( - 837, + Generator_SemiFluid_LV.ID, "basicgenerator.semifluid.tier.01", "Basic Semi-Fluid Generator", 1).getStackForm(1L)); GregtechItemList.Generator_SemiFluid_MV.set( new GT_MetaTileEntity_SemiFluidGenerator( - 838, + Generator_SemiFluid_MV.ID, "basicgenerator.semifluid.tier.02", "Advanced Semi-Fluid Generator", 2).getStackForm(1L)); GregtechItemList.Generator_SemiFluid_HV.set( new GT_MetaTileEntity_SemiFluidGenerator( - 839, + Generator_SemiFluid_HV.ID, "basicgenerator.semifluid.tier.03", "Turbo Semi-Fluid Generator", 3).getStackForm(1L)); GregtechItemList.Generator_SemiFluid_EV.set( new GT_MetaTileEntity_SemiFluidGenerator( - 993, + Generator_SemiFluid_EV.ID, "basicgenerator.semifluid.tier.04", "Turbo Semi-Fluid Generator II", 4).getStackForm(1L)); GregtechItemList.Generator_SemiFluid_IV.set( new GT_MetaTileEntity_SemiFluidGenerator( - 994, + Generator_SemiFluid_IV.ID, "basicgenerator.semifluid.tier.05", "Turbo Semi-Fluid Generator III", 5).getStackForm(1L)); GregtechItemList.Controller_LargeSemifluidGenerator.set( new GregtechMetaTileEntity_LargeSemifluidGenerator( - 31026, + Controller_LargeSemifluidGenerator.ID, "gtpp.multimachine.semifluidgenerator", "Large Semifluid Burner").getStackForm(1L)); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java index 15d54a7c6d..21af99ef6a 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java @@ -1,22 +1,32 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.simpleWasherRecipes; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_ULV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.SimpleDustWasher_ZPM; + import java.util.List; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.google.common.collect.ImmutableList; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SoundResource; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.data.Quad; -import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -33,32 +43,56 @@ public class GregtechSimpleWasher { // every other tier, and they were numbered numerically. In order to maintain backwards compatibility, // the tier numbers need to stay as they were. List<Quad<GregtechItemList, Integer, String, String>> washers = ImmutableList.of( - new Quad<>(GregtechItemList.SimpleDustWasher_LV, 31790, "simplewasher.01.tier.06", "Simple Washer I"), - new Quad<>(GregtechItemList.SimpleDustWasher_MV, 31017, "simplewasher.01.tier.02", "Simple Washer II"), - new Quad<>(GregtechItemList.SimpleDustWasher_HV, 31791, "simplewasher.01.tier.07", "Simple Washer III"), - new Quad<>(GregtechItemList.SimpleDustWasher_EV, 31018, "simplewasher.01.tier.03", "Simple Washer IV"), - new Quad<>(GregtechItemList.SimpleDustWasher_IV, 31792, "simplewasher.01.tier.08", "Simple Washer V"), - new Quad<>(GregtechItemList.SimpleDustWasher_LuV, 31019, "simplewasher.01.tier.04", "Simple Washer VI"), + new Quad<>( + GregtechItemList.SimpleDustWasher_LV, + SimpleDustWasher_LV.ID, + "simplewasher.01.tier.06", + "Simple Washer I"), + new Quad<>( + GregtechItemList.SimpleDustWasher_MV, + SimpleDustWasher_MV.ID, + "simplewasher.01.tier.02", + "Simple Washer II"), + new Quad<>( + GregtechItemList.SimpleDustWasher_HV, + SimpleDustWasher_HV.ID, + "simplewasher.01.tier.07", + "Simple Washer III"), + new Quad<>( + GregtechItemList.SimpleDustWasher_EV, + SimpleDustWasher_EV.ID, + "simplewasher.01.tier.03", + "Simple Washer IV"), + new Quad<>( + GregtechItemList.SimpleDustWasher_IV, + SimpleDustWasher_IV.ID, + "simplewasher.01.tier.08", + "Simple Washer V"), + new Quad<>( + GregtechItemList.SimpleDustWasher_LuV, + SimpleDustWasher_LuV.ID, + "simplewasher.01.tier.04", + "Simple Washer VI"), new Quad<>( GregtechItemList.SimpleDustWasher_ZPM, - 31793, + SimpleDustWasher_ZPM.ID, "simplewasher.01.tier.09", "Simple Washer VII"), new Quad<>( GregtechItemList.SimpleDustWasher_UV, - 31020, + SimpleDustWasher_UV.ID, "simplewasher.01.tier.05", "Simple Washer VIII")); GregtechItemList.SimpleDustWasher_ULV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( - 767, + SimpleDustWasher_ULV.ID, "simplewasher.01.tier.01", "Deprecated ULV Simple Washer", 0, new String[] { "It's like an automatic Cauldron for washing dusts.", "§cDEPRECATED: No recipe.§r Make a Simple Washer I.", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.simpleWasherRecipes, + simpleWasherRecipes, 1, 1, true, @@ -80,7 +114,7 @@ public class GregtechSimpleWasher { tier, new String[] { "It's like an automatic Cauldron for washing dusts.", CORE.GT_Tooltip.get() }, - GTPPRecipeMaps.simpleWasherRecipes, + simpleWasherRecipes, 1, 1, true, @@ -121,12 +155,12 @@ public class GregtechSimpleWasher { addSimpleWashRecipe(dustPure, dustClean); } - return GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes() + return simpleWasherRecipes.getAllRecipes() .size() > mRecipeCount; } private static boolean generateDirtyCrushedRecipes() { - int mRecipeCount = GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes() + int mRecipeCount = simpleWasherRecipes.getAllRecipes() .size(); // Generate Recipe Map for the Dust Washer. ItemStack crushedClean; @@ -143,24 +177,19 @@ public class GregtechSimpleWasher { addSimpleWashRecipe(crushedDirty, crushedClean); } - return GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes() + return simpleWasherRecipes.getAllRecipes() .size() > mRecipeCount; } private static void addSimpleWashRecipe(ItemStack aInput, ItemStack aOutput) { if (aInput != null && aOutput != null) { - GT_Recipe aRecipe = new GT_Recipe( - false, - new ItemStack[] { aInput }, - new ItemStack[] { aOutput }, - null, - new int[] {}, - new FluidStack[] { FluidUtils.getFluidStack("water", 100) }, - new FluidStack[] {}, - 5, - 8, - 0); - GTPPRecipeMaps.simpleWasherRecipes.addRecipe(aRecipe); + GT_Values.RA.stdBuilder() + .itemInputs(aInput) + .itemOutputs(aOutput) + .fluidInputs(FluidUtils.getFluidStack("water", 100)) + .duration(5 * TICKS) + .eut(8) + .addTo(simpleWasherRecipes); } } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java index 466e56181b..358d7080a6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java @@ -1,7 +1,9 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; -import net.minecraftforge.fluids.FluidStack; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Industrial_Solar_Tower; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Solar_Tower_Reflector; +import gregtech.api.enums.GT_Values; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.material.MISC_MATERIALS; @@ -19,11 +21,13 @@ public class GregtechSolarTower { private static void run1() { // Solar Tower GregtechItemList.Industrial_Solar_Tower.set( - new GregtechMetaTileEntity_SolarTower(863, "solartower.controller.tier.single", "Solar Tower") - .getStackForm(1L)); + new GregtechMetaTileEntity_SolarTower( + Industrial_Solar_Tower.ID, + "solartower.controller.tier.single", + "Solar Tower").getStackForm(1L)); GregtechItemList.Solar_Tower_Reflector.set( new TileEntitySolarHeater( - 864, + Solar_Tower_Reflector.ID, "solarreflector.simple.single", "Solar Reflector", 8, @@ -31,16 +35,12 @@ public class GregtechSolarTower { 0).getStackForm(1L)); // NEI recipe - GTPPRecipeMaps.solarTowerRecipes.addRecipe( - false, - null, - null, - null, - null, - new FluidStack[] { MISC_MATERIALS.SOLAR_SALT_COLD.getFluidStack(1000) }, - new FluidStack[] { MISC_MATERIALS.SOLAR_SALT_HOT.getFluidStack(1000) }, - 0, - 0, - 0); + GT_Values.RA.stdBuilder() + .fluidInputs(MISC_MATERIALS.SOLAR_SALT_COLD.getFluidStack(1000)) + .fluidOutputs(MISC_MATERIALS.SOLAR_SALT_HOT.getFluidStack(1000)) + .duration(0) + .eut(0) + .noOptimize() + .addTo(GTPPRecipeMaps.solarTowerRecipes); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java index a83666da11..e28b3e1e15 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSteamMultis.java @@ -1,5 +1,12 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_SteamCentrifugeMulti; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_SteamCompressorMulti; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_SteamMaceratorMulti; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Controller_SteamWasherMulti; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Input_Bus_Steam; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Hatch_Output_Bus_Steam; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Steam_BusInput; @@ -13,28 +20,40 @@ public class GregtechSteamMultis { public static void run() { - // id 31079 and 31081 are occupied by another machine - Logger.INFO("Gregtech5u Content | Registering Steam Multiblocks."); GregtechItemList.Controller_SteamMaceratorMulti.set( - new GregtechMetaTileEntity_SteamMacerator(31041, "gtpp.multimachine.steam.macerator", "Steam Grinder") - .getStackForm(1L)); + new GregtechMetaTileEntity_SteamMacerator( + Controller_SteamMaceratorMulti.ID, + "gtpp.multimachine.steam.macerator", + "Steam Grinder").getStackForm(1L)); GregtechItemList.Controller_SteamCompressorMulti.set( - new GregtechMetaTileEntity_SteamCompressor(31078, "gtpp.multimachine.steam.compressor", "Steam Squasher") - .getStackForm(1L)); + new GregtechMetaTileEntity_SteamCompressor( + Controller_SteamCompressorMulti.ID, + "gtpp.multimachine.steam.compressor", + "Steam Squasher").getStackForm(1L)); GregtechItemList.Controller_SteamCentrifugeMulti.set( - new GregtechMetaTileEntity_SteamCentrifuge(31080, "gtpp.multimachine.steam.centrifuge", "Steam Centrifuge") - .getStackForm(1)); + new GregtechMetaTileEntity_SteamCentrifuge( + Controller_SteamCentrifugeMulti.ID, + "gtpp.multimachine.steam.centrifuge", + "Steam Centrifuge").getStackForm(1)); GregtechItemList.Controller_SteamWasherMulti.set( - new GregtechMetaTileEntity_SteamWasher(31082, "gtpp.multimachine.steam.washer", "Steam Washer") - .getStackForm(1)); + new GregtechMetaTileEntity_SteamWasher( + Controller_SteamWasherMulti.ID, + "gtpp.multimachine.steam.washer", + "Steam Washer").getStackForm(1)); GregtechItemList.Hatch_Input_Bus_Steam.set( - new GT_MetaTileEntity_Hatch_Steam_BusInput(31046, "hatch.input_bus.tier.steam", "Input Bus (Steam)", 0) - .getStackForm(1L)); + new GT_MetaTileEntity_Hatch_Steam_BusInput( + Hatch_Input_Bus_Steam.ID, + "hatch.input_bus.tier.steam", + "Input Bus (Steam)", + 0).getStackForm(1L)); GregtechItemList.Hatch_Output_Bus_Steam.set( - new GT_MetaTileEntity_Hatch_Steam_BusOutput(31047, "hatch.output_bus.tier.steam", "Output Bus (Steam)", 0) - .getStackForm(1L)); + new GT_MetaTileEntity_Hatch_Steam_BusOutput( + Hatch_Output_Bus_Steam.ID, + "hatch.output_bus.tier.steam", + "Output Bus (Steam)", + 0).getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java index 51ff8c879c..be8539b3dc 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java @@ -1,30 +1,49 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Super_Chest_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Super_Chest_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Super_Chest_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Super_Chest_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Super_Chest_MV; + import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.storage.GT_MetaTileEntity_TieredChest; public class GregtechSuperChests { public static void run() { - int mId = 946; - String aSuffix = " [Disabled]"; GregtechItemList.Super_Chest_LV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.01", "Super Chest I" + aSuffix, 1)) - .getStackForm(1L)); + (new GT_MetaTileEntity_TieredChest( + Super_Chest_LV.ID, + "super.chest.gtpp.tier.01", + "Super Chest I" + aSuffix, + 1)).getStackForm(1L)); GregtechItemList.Super_Chest_MV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.02", "Super Chest II" + aSuffix, 2)) - .getStackForm(1L)); + (new GT_MetaTileEntity_TieredChest( + Super_Chest_MV.ID, + "super.chest.gtpp.tier.02", + "Super Chest II" + aSuffix, + 2)).getStackForm(1L)); GregtechItemList.Super_Chest_HV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.03", "Super Chest III" + aSuffix, 3)) - .getStackForm(1L)); + (new GT_MetaTileEntity_TieredChest( + Super_Chest_HV.ID, + "super.chest.gtpp.tier.03", + "Super Chest III" + aSuffix, + 3)).getStackForm(1L)); GregtechItemList.Super_Chest_EV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.04", "Super Chest IV" + aSuffix, 4)) - .getStackForm(1L)); + (new GT_MetaTileEntity_TieredChest( + Super_Chest_EV.ID, + "super.chest.gtpp.tier.04", + "Super Chest IV" + aSuffix, + 4)).getStackForm(1L)); GregtechItemList.Super_Chest_IV.set( - (new GT_MetaTileEntity_TieredChest(mId++, "super.chest.gtpp.tier.05", "Super Chest V" + aSuffix, 5)) - .getStackForm(1L)); + (new GT_MetaTileEntity_TieredChest( + Super_Chest_IV.ID, + "super.chest.gtpp.tier.05", + "Super Chest V" + aSuffix, + 5)).getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java index a8c8a8fa6d..6b6963a10b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThaumcraftDevices.java @@ -1,6 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; import static gregtech.api.enums.Mods.Thaumcraft; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Thaumcraft_Researcher; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -19,7 +20,7 @@ public class GregtechThaumcraftDevices { // 956-960 GregtechItemList.Thaumcraft_Researcher.set( new GregtechMetaPollutionCreator( - 956, + Thaumcraft_Researcher.ID, "thaumcraft.gtpp.machine.01", "Arcane Researcher", 5, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java index 695ae84b38..53caa21ef5 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechThreadedBuffers.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Infinite_Item_Chest; + import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.storage.creative.GT_MetaTileEntity_InfiniteItemHolder; @@ -7,7 +9,10 @@ public class GregtechThreadedBuffers { public static void run() { GregtechItemList.Infinite_Item_Chest.set( - (new GT_MetaTileEntity_InfiniteItemHolder(31010, "infinite.chest.tier.01", "Infinite Item Chest", 1)) - .getStackForm(1L)); + (new GT_MetaTileEntity_InfiniteItemHolder( + Infinite_Item_Chest.ID, + "infinite.chest.tier.01", + "Infinite Item Chest", + 1)).getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java index b5db00d058..a97dd36484 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTieredFluidTanks.java @@ -1,5 +1,10 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_FluidTank_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_FluidTank_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_FluidTank_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.GT_FluidTank_ULV; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -15,17 +20,21 @@ public class GregtechTieredFluidTanks { } private static void run1() { - int ID = 817; Logger.INFO("Only loading ULV-IV tier tanks for New Horizons Modpack."); GregtechItemList.GT_FluidTank_ULV.set( - new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.00", "Ultra Low Voltage Fluid Tank", 0) - .getStackForm(1L)); + new GT_MetaTileEntity_TieredTank( + GT_FluidTank_ULV.ID, + "fluidtank.tier.00", + "Ultra Low Voltage Fluid Tank", + 0).getStackForm(1L)); GregtechItemList.GT_FluidTank_LV.set( - new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.01", "Low Voltage Fluid Tank", 1).getStackForm(1L)); + new GT_MetaTileEntity_TieredTank(GT_FluidTank_LV.ID, "fluidtank.tier.01", "Low Voltage Fluid Tank", 1) + .getStackForm(1L)); GregtechItemList.GT_FluidTank_MV.set( - new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.02", "Medium Voltage Fluid Tank", 2) + new GT_MetaTileEntity_TieredTank(GT_FluidTank_MV.ID, "fluidtank.tier.02", "Medium Voltage Fluid Tank", 2) .getStackForm(1L)); GregtechItemList.GT_FluidTank_HV.set( - new GT_MetaTileEntity_TieredTank(ID++, "fluidtank.tier.03", "High Voltage Fluid Tank", 3).getStackForm(1L)); + new GT_MetaTileEntity_TieredTank(GT_FluidTank_HV.ID, "fluidtank.tier.03", "High Voltage Fluid Tank", 3) + .getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java index 8b1d4be6ee..7ed95a0279 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechTreeFarmerTE.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.TreeFarmer_Structural; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -15,7 +17,8 @@ public class GregtechTreeFarmerTE { } private static void run1() { - GregtechItemList.TreeFarmer_Structural - .set(new GregtechMetaTreeFarmerStructural(752, "treefarmer.structural", "Farm Keeper", 0).getStackForm(1L)); + GregtechItemList.TreeFarmer_Structural.set( + new GregtechMetaTreeFarmerStructural(TreeFarmer_Structural.ID, "treefarmer.structural", "Farm Keeper", 0) + .getStackForm(1L)); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java index 452c9117ed..a179ed0730 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechWirelessChargers.java @@ -1,6 +1,15 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech; -import gregtech.api.util.GT_ModHandler; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_EV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_HV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_IV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_LV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_LuV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_MV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_UHV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_UV; +import static gtPlusPlus.xmod.gregtech.registration.gregtech.MetaTileEntityIDs.Charger_ZPM; + import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.util.Utils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -13,16 +22,11 @@ public class GregtechWirelessChargers { Logger.INFO("Gregtech5u Content | Registering Wireless Chargers."); - long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED; - int mID = 890; - Utils.registerEvent(new ChargingHelper()); GregtechItemList.Charger_LV.set( new GregtechMetaWirelessCharger( - mID++, + Charger_LV.ID, "wificharger.01.tier.single", "Wireless Charger MK I", 1, @@ -30,7 +34,7 @@ public class GregtechWirelessChargers { 0).getStackForm(1L)); GregtechItemList.Charger_MV.set( new GregtechMetaWirelessCharger( - mID++, + Charger_MV.ID, "wificharger.02.tier.single", "Wireless Charger MK II", 2, @@ -38,7 +42,7 @@ public class GregtechWirelessChargers { 0).getStackForm(1L)); GregtechItemList.Charger_HV.set( new GregtechMetaWirelessCharger( - mID++, + Charger_HV.ID, "wificharger.03.tier.single", "Wireless Charger MK III", 3, @@ -46,7 +50,7 @@ public class GregtechWirelessChargers { 0).getStackForm(1L)); GregtechItemList.Charger_EV.set( new GregtechMetaWirelessCharger( - mID++, + Charger_EV.ID, "wificharger.04.tier.single", "Wireless Charger MK IV", 4, @@ -54,7 +58,7 @@ public class GregtechWirelessChargers { 0).getStackForm(1L)); GregtechItemList.Charger_IV.set( new GregtechMetaWirelessCharger( - mID++, + Charger_IV.ID, "wificharger.05.tier.single", "Wireless Charger MK V", 5, @@ -62,7 +66,7 @@ public class GregtechWirelessChargers { 0).getStackForm(1L)); GregtechItemList.Charger_LuV.set( new GregtechMetaWirelessCharger( - mID++, + Charger_LuV.ID, "wificharger.06.tier.single", "Wireless Charger MK VI", 6, @@ -70,7 +74,7 @@ public class GregtechWirelessChargers { 0).getStackForm(1L)); GregtechItemList.Charger_ZPM.set( new GregtechMetaWirelessCharger( - mID++, + Charger_ZPM.ID, "wificharger.07.tier.single", "Wireless Charger MK VII", 7, @@ -78,7 +82,7 @@ public class GregtechWirelessChargers { 0).getStackForm(1L)); GregtechItemList.Charger_UV.set( new GregtechMetaWirelessCharger( - mID++, + Charger_UV.ID, "wificharger.08.tier.single", "Wireless Charger MK VIII", 8, @@ -86,7 +90,7 @@ public class GregtechWirelessChargers { 0).getStackForm(1L)); GregtechItemList.Charger_UHV.set( new GregtechMetaWirelessCharger( - mID++, + Charger_UHV.ID, "wificharger.09.tier.single", "Wireless Charger MK IX", 9, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/MetaTileEntityIDs.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/MetaTileEntityIDs.java new file mode 100644 index 0000000000..bafc38b211 --- /dev/null +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/MetaTileEntityIDs.java @@ -0,0 +1,216 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +// todo: unify this enum with the GT5U one +public enum MetaTileEntityIDs { + + Nuclear_Salt_Processing_Plant(749), + ThoriumReactor(751), + TreeFarmer_Structural(752), + Boiler_Advanced_LV(753), + Boiler_Advanced_MV(754), + Boiler_Advanced_HV(755), + Pollution_Detector(756), + Pollution_Cleaner_LV(758), + Pollution_Cleaner_MV(759), + Pollution_Cleaner_HV(760), + Pollution_Cleaner_EV(761), + Pollution_Cleaner_IV(762), + Pollution_Cleaner_LuV(763), + Pollution_Cleaner_ZPM(764), + Pollution_Cleaner_UV(765), + Pollution_Cleaner_MAX(766), + SimpleDustWasher_ULV(767), + Energy_Buffer_1by1_ULV(770), + Energy_Buffer_1by1_LV(771), + Energy_Buffer_1by1_MV(772), + Energy_Buffer_1by1_HV(773), + Energy_Buffer_1by1_EV(774), + Energy_Buffer_1by1_IV(775), + Energy_Buffer_1by1_LuV(776), + Energy_Buffer_1by1_ZPM(777), + Energy_Buffer_1by1_UV(778), + Energy_Buffer_1by1_MAX(779), + Industrial_Centrifuge(790), + Industrial_CokeOven(791), + Industrial_PlatePress(792), + Rocket_Engine_EV(793), + Rocket_Engine_IV(794), + Rocket_Engine_LuV(795), + Industrial_Electrolyzer(796), + Industrial_MacerationStack(797), + Industrial_WireFactory(798), + Industrial_MassFab(799), + Industrial_AlloyBlastSmelter(810), + Industrial_Mixer(811), + PowerSubStation(812), + GT_Dehydrator_EV(813), + GT_Dehydrator_IV(814), + GT_Dehydrator_LuV(815), + GT_Dehydrator_ZPM(816), + GT_FluidTank_ULV(817), + GT_FluidTank_LV(818), + GT_FluidTank_MV(819), + GT_FluidTank_HV(820), + COMET_Cyclotron(828), + Industrial_FishingPond(829), + Geothermal_Engine_EV(830), + Geothermal_Engine_IV(831), + Geothermal_Engine_LuV(832), + GT4_Tesseract_Generator(833), + GT4_Tesseract_Terminal(834), + Industrial_FuelRefinery(835), + Industrial_TreeFarm(836), + Generator_SemiFluid_LV(837), + Generator_SemiFluid_MV(838), + Generator_SemiFluid_HV(839), + Industrial_Sifter(840), + Industrial_ThermalCentrifuge(849), + Industrial_WashPlant(850), + Industrial_Extruder(859), + Industrial_MultiMachine(860), + Hatch_Air_Intake(861), + Industrial_Arc_Furnace(862), + Industrial_Solar_Tower(863), + Solar_Tower_Reflector(864), + Large_Steam_Turbine(865), + Large_HPSteam_Turbine(866), + RTG(869), + GT4_Thermal_Boiler(875), + GT4_Multi_Crafter(876), + Transformer_HA_LV_ULV(877), + Transformer_HA_MV_LV(878), + Transformer_HA_HV_MV(879), + Transformer_HA_EV_HV(880), + Transformer_HA_IV_EV(881), + Transformer_HA_LuV_IV(882), + Transformer_HA_ZPM_LuV(883), + Transformer_HA_UV_ZPM(884), + Transformer_HA_MAX_UV(885), + Hatch_Input_Battery_MV(886), + Hatch_Input_Battery_EV(887), + Hatch_Output_Battery_MV(888), + Hatch_Output_Battery_EV(889), + Charger_LV(890), + Charger_MV(891), + Charger_HV(892), + Charger_EV(893), + Charger_IV(894), + Charger_LuV(895), + Charger_ZPM(896), + Charger_UV(897), + Charger_UHV(898), + Hatch_Buffer_Dynamo_ULV(899), + Hatch_Buffer_Dynamo_LV(900), + Hatch_Buffer_Dynamo_MV(901), + Hatch_Buffer_Dynamo_HV(902), + Hatch_Buffer_Dynamo_EV(903), + Hatch_Buffer_Dynamo_IV(904), + Hatch_Buffer_Dynamo_LuV(905), + Hatch_Buffer_Dynamo_ZPM(906), + Hatch_Buffer_Dynamo_UV(907), + Hatch_Buffer_Dynamo_MAX(908), + Industrial_Cryogenic_Freezer(910), + GT_Dehydrator_MV(911), + GT_Dehydrator_HV(912), + Amazon_Warehouse_Controller(942), + Super_Chest_LV(946), + Super_Chest_MV(947), + Super_Chest_HV(948), + Super_Chest_EV(949), + Super_Chest_IV(950), + Pollution_Creator(951), + Thaumcraft_Researcher(956), + Machine_Adv_BlastFurnace(963), + Machine_Adv_ImplosionCompressor(964), + FusionComputer_UV2(965), + Hatch_Input_Cryotheum(967), + Hatch_Input_Pyrotheum(968), + Hatch_Input_Naquadah(969), + FusionComputer_UV3(975), + Industrial_CuttingFactoryController(992), + Generator_SemiFluid_EV(993), + Generator_SemiFluid_IV(994), + Controller_Vacuum_Furnace(995), + Controller_RocketEngine(996), + AlgaeFarm_Controller(997), + ChemicalPlant_Controller(998), + Hatch_Muffler_Adv_LV(30001), + Hatch_Muffler_Adv_MV(30002), + Hatch_Muffler_Adv_HV(30003), + Hatch_Muffler_Adv_EV(30004), + Hatch_Muffler_Adv_IV(30005), + Hatch_Muffler_Adv_LuV(30006), + Hatch_Muffler_Adv_ZPM(30007), + Hatch_Muffler_Adv_UV(30008), + Hatch_Muffler_Adv_MAX(30009), + Hatch_Turbine_Rotor(30010), + Infinite_Item_Chest(31010), + SimpleDustWasher_MV(31017), + SimpleDustWasher_EV(31018), + SimpleDustWasher_LuV(31019), + SimpleDustWasher_UV(31020), + Machine_Adv_DistillationTower(31021), + Industrial_AlloySmelter(31023), + Hatch_Input_TurbineHousing(31025), + Controller_LargeSemifluidGenerator(31026), + Controller_IsaMill(31027), + Controller_Flotation_Cell(31028), + Bus_Milling_Balls(31029), + Bus_Catalysts(31030), + ReactorProcessingUnit_IV(31031), + ReactorProcessingUnit_ZPM(31032), + ColdTrap_IV(31033), + ColdTrap_ZPM(31034), + Controller_Sparge_Tower(31035), + Hatch_Input_Steam(31040), + Controller_SteamMaceratorMulti(31041), + Hatch_Input_Bus_Steam(31046), + Hatch_Output_Bus_Steam(31047), + Controller_ElementalDuplicator(31050), + Hatch_Input_Elemental_Duplicator(31051), + Controller_IndustrialRockBreaker(31065), + GT_Chisel_LV(31066), + GT_Chisel_MV(31067), + GT_Chisel_HV(31068), + Controller_IndustrialAutoChisel(31069), + Hatch_Air_Intake_Extreme(31070), + Hatch_Reservoir(31071), + Controller_MolecularTransformer(31072), + Large_Gas_Turbine(31073), + Large_Plasma_Turbine(31074), + Controller_IndustrialForgeHammer(31075), + Large_SCSteam_Turbine(31076), + Controller_IndustrialFluidHeater(31077), + Controller_SteamCompressorMulti(31078), + XL_HeatExchanger(31079), + Controller_SteamCentrifugeMulti(31080), + Controller_SteamWasherMulti(31082), + GT4_Electric_Auto_Workbench_LV(31091), + GT4_Electric_Auto_Workbench_MV(31092), + GT4_Electric_Auto_Workbench_HV(31093), + GT4_Electric_Auto_Workbench_EV(31094), + GT4_Electric_Auto_Workbench_IV(31095), + GT4_Electric_Auto_Workbench_LuV(31096), + GT4_Electric_Auto_Workbench_ZPM(31097), + GT4_Electric_Auto_Workbench_UV(31098), + GT4_Crop_Harvester_LV(31111), + GT4_Crop_Harvester_MV(31112), + GT4_Crop_Harvester_HV(31113), + GT4_Crop_Harvester_EV(31114), + GT4_Crop_Harvester_IV(31115), + GT4_Crop_Harvester_LuV(31116), + GT4_Crop_Harvester_ZPM(31117), + GT4_Crop_Harvester_UV(31118), + Mega_AlloyBlastSmelter(31150), + QuantumForceTransformer(31151), + SimpleDustWasher_LV(31790), + SimpleDustWasher_HV(31791), + SimpleDustWasher_IV(31792), + SimpleDustWasher_ZPM(31793),; + + public final int ID; + + private MetaTileEntityIDs(int ID) { + this.ID = ID; + } +} diff --git a/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java b/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java index 47ec1afe0f..9c3f501dfc 100644 --- a/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java +++ b/src/main/java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java @@ -1,6 +1,10 @@ package gtPlusPlus.xmod.ic2.recipe; import static gregtech.api.enums.Mods.EnderIO; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.extruderRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gtPlusPlus.core.recipe.RECIPES_Tools.craftingToolHardHammer; import static gtPlusPlus.core.recipe.RECIPES_Tools.craftingToolWrench; @@ -11,11 +15,11 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.recipe.common.CI; @@ -144,21 +148,21 @@ public class RECIPE_IC2 { // Shaft Extruder Recipe GT_ModHandler.addCraftingRecipe( - GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), + GregtechItemList.Shape_Extruder_WindmillShaft.get(1L), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[] { "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.DarkSteel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.DarkSteel) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), + GregtechItemList.Shape_Extruder_WindmillShaft.get(1L), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[] { "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.TungstenSteel) }); GT_ModHandler.addCraftingRecipe( - GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), + GregtechItemList.Shape_Extruder_WindmillShaft.get(1L), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[] { "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, @@ -169,96 +173,118 @@ public class RECIPE_IC2 { // Custm Recipes for Iron and Steel ItemStack mShaftIron = ItemList.IC2_ShaftIron.get(1); ItemStack mShaftSteel = ItemList.IC2_ShaftSteel.get(1); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L)), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - mShaftIron, - 32 * 20, - 120); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L)), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - mShaftIron, - 32 * 20, - 120); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.WroughtIron, 1L)), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - mShaftIron, - 32 * 20, - 120); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L)), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - mShaftIron, - 32 * 20, - 120); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L)), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - mShaftSteel, - 64 * 20, - 120); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Steel, 1L)), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - mShaftSteel, - 64 * 20, - 120); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L)), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(mShaftIron) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Iron, 1L)), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(mShaftIron) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.WroughtIron, 1L)), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(mShaftIron) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.WroughtIron, 1L)), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(mShaftIron) + .duration(32 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(9L, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L)), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(mShaftSteel) + .duration(1 * MINUTES + 4 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(1L, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Steel, 1L)), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(mShaftSteel) + .duration(1 * MINUTES + 4 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(extruderRecipes); // Shaft Recipes - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, block_T1), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T1, - 2560, - 250); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, shaft_block_T1), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T1, - 2560, - 250); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, block_T1), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(shaft_T1) + .duration(2 * MINUTES + 8 * SECONDS) + .eut(250) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(1L, shaft_block_T1), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(shaft_T1) + .duration(2 * MINUTES + 8 * SECONDS) + .eut(250) + .addTo(extruderRecipes); Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Energetic]"); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, block_T2), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T2, - 5120, - 500); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, shaft_block_T2), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T2, - 5120, - 500); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, block_T2), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(shaft_T2) + .duration(4 * MINUTES + 16 * SECONDS) + .eut(500) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(1L, shaft_block_T2), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(shaft_T2) + .duration(4 * MINUTES + 16 * SECONDS) + .eut(500) + .addTo(extruderRecipes); Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [TungstenSteel]"); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, block_T3), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T3, - 10240, - 2000); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, shaft_block_T3), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T3, - 10240, - 2000); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, block_T3), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(shaft_T3) + .duration(8 * MINUTES + 32 * SECONDS) + .eut(2000) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(1L, shaft_block_T3), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(shaft_T3) + .duration(8 * MINUTES + 32 * SECONDS) + .eut(2000) + .addTo(extruderRecipes); Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Vibrant]"); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(9L, block_T4), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T4, - 20480, - 4000); - GT_Values.RA.addExtruderRecipe( - GT_Utility.copyAmount(1L, shaft_block_T4), - GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), - shaft_T4, - 20480, - 4000); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(9L, block_T4), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(shaft_T4) + .duration(17 * MINUTES + 4 * SECONDS) + .eut(4000) + .addTo(extruderRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_Utility.copyAmount(1L, shaft_block_T4), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L)) + .itemOutputs(shaft_T4) + .duration(17 * MINUTES + 4 * SECONDS) + .eut(4000) + .addTo(extruderRecipes); Logger.INFO("Added recipe for GT5 Extruder: Windmill Shaft [Iridium]"); RecipeUtils.addShapedRecipe( @@ -326,40 +352,58 @@ public class RECIPE_IC2 { ItemStack aGearPotin = ALLOY.TUMBAGA.getGear(1); ItemStack aGearSiliconCarbide = ALLOY.SILICON_CARBIDE.getGear(1); - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[0], - ItemUtils.getSimpleStack(aYellowWool, 16), ItemUtils.getSimpleStack(aPlateCobalt, 4), - ItemUtils.getSimpleStack(aCoilIC2, 8), ItemUtils.getSimpleStack(aGearSmallAluminium, 4), }, - aRubber.getFluidStack(144 * 4), - GregtechItemList.Armour_Hazmat_Advanced_Helmet.get(1), - 30 * 20, - MaterialUtils.getVoltageForTier(2)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[1], - ItemUtils.getSimpleStack(aYellowWool, 64), ItemUtils.getSimpleStack(aCoilIC2, 32), - ItemUtils.getSimpleStack(aPlateCobalt, 16), ItemUtils.getSimpleStack(aGearSiliconCarbide, 8), }, - aRubber.getFluidStack(144 * 10), - GregtechItemList.Armour_Hazmat_Advanced_Chest.get(1), - 90 * 20, - MaterialUtils.getVoltageForTier(2)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[2], - ItemUtils.getSimpleStack(aYellowWool, 32), ItemUtils.getSimpleStack(aCoilIC2, 16), - ItemUtils.getSimpleStack(aPlateCobalt, 8), ItemUtils.getSimpleStack(aGearSiliconCarbide, 4), }, - aRubber.getFluidStack(144 * 8), - GregtechItemList.Armour_Hazmat_Advanced_Legs.get(1), - 75 * 20, - MaterialUtils.getVoltageForTier(2)); - - CORE.RA.addSixSlotAssemblingRecipe( - new ItemStack[] { CI.getNumberedAdvancedCircuit(2), aBasicHazmatPieces[3], - ItemUtils.getSimpleStack(aBlackWool, 16), ItemUtils.getSimpleStack(aCoilIC2, 6), - ItemUtils.getSimpleStack(aGearSmallSteel, 8), ItemUtils.getSimpleStack(aGearPotin, 4), }, - aRubber.getFluidStack(144 * 6), - GregtechItemList.Armour_Hazmat_Advanced_Boots.get(1), - 45 * 20, - MaterialUtils.getVoltageForTier(2)); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(2), + aBasicHazmatPieces[0], + ItemUtils.getSimpleStack(aYellowWool, 16), + ItemUtils.getSimpleStack(aPlateCobalt, 4), + ItemUtils.getSimpleStack(aCoilIC2, 8), + ItemUtils.getSimpleStack(aGearSmallAluminium, 4)) + .itemOutputs(GregtechItemList.Armour_Hazmat_Advanced_Helmet.get(1)) + .fluidInputs(aRubber.getFluidStack(144 * 4)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(2), + aBasicHazmatPieces[1], + ItemUtils.getSimpleStack(aYellowWool, 64), + ItemUtils.getSimpleStack(aCoilIC2, 32), + ItemUtils.getSimpleStack(aPlateCobalt, 16), + ItemUtils.getSimpleStack(aGearSiliconCarbide, 8)) + .itemOutputs(GregtechItemList.Armour_Hazmat_Advanced_Chest.get(1)) + .fluidInputs(aRubber.getFluidStack(144 * 10)) + .duration(1 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(2), + aBasicHazmatPieces[2], + ItemUtils.getSimpleStack(aYellowWool, 32), + ItemUtils.getSimpleStack(aCoilIC2, 16), + ItemUtils.getSimpleStack(aPlateCobalt, 8), + ItemUtils.getSimpleStack(aGearSiliconCarbide, 4)) + .itemOutputs(GregtechItemList.Armour_Hazmat_Advanced_Legs.get(1)) + .fluidInputs(aRubber.getFluidStack(144 * 8)) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs( + CI.getNumberedAdvancedCircuit(2), + aBasicHazmatPieces[3], + ItemUtils.getSimpleStack(aBlackWool, 16), + ItemUtils.getSimpleStack(aCoilIC2, 6), + ItemUtils.getSimpleStack(aGearSmallSteel, 8), + ItemUtils.getSimpleStack(aGearPotin, 4)) + .itemOutputs(GregtechItemList.Armour_Hazmat_Advanced_Boots.get(1)) + .fluidInputs(aRubber.getFluidStack(144 * 6)) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + } } diff --git a/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java b/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java index 4efa85992a..7e920565e8 100644 --- a/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java +++ b/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java @@ -7,6 +7,7 @@ import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.cokeOvenRecipes; import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc; import net.minecraft.init.Blocks; @@ -20,8 +21,6 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.item.base.BaseItemBurnable; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.xmod.railcraft.utils.RailcraftUtils; @@ -103,56 +102,58 @@ public class HANDLER_Railcraft { for (int i = 0; i < aOutputs.length; i++) { // Recipes for the Charcoals and Cokes, outputting either Creosote or Charcoal Byproducts depending on the // fluid input - CORE.RA.addCokeOvenRecipe( - aInputs1[i], - CI.getNumberedCircuit(3), - null, - FluidUtils.getFluidStack("creosote", 100), - aInputs2[i], - 20, - 16); - CORE.RA.addCokeOvenRecipe( - aInputs1[i], - CI.getNumberedCircuit(4), - FluidUtils.getFluidStack("nitrogen", 100), - FluidUtils.getFluidStack("charcoal_byproducts", 200), - aInputs2[i], - 10, - 16); - CORE.RA.addCokeOvenRecipe( - aInputs2[i], - CI.getNumberedCircuit(3), - null, - FluidUtils.getFluidStack("creosote", 200), - aOutputs[i], - 40, - 16); - CORE.RA.addCokeOvenRecipe( - aInputs2[i], - CI.getNumberedCircuit(4), - FluidUtils.getFluidStack("nitrogen", 50), - FluidUtils.getFluidStack("charcoal_byproducts", 100), - aOutputs[i], - 20, - 16); + GT_Values.RA.stdBuilder() + .itemInputs(aInputs1[i], GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(aInputs2[i]) + .fluidOutputs(FluidUtils.getFluidStack("creosote", 100)) + .eut(16) + .duration(1 * SECONDS) + .addTo(cokeOvenRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(aInputs1[i], GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(aInputs2[i]) + .fluidInputs(FluidUtils.getFluidStack("nitrogen", 100)) + .fluidOutputs(FluidUtils.getFluidStack("charcoal_byproducts", 200)) + .eut(16) + .duration(10 * TICKS) + .addTo(cokeOvenRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(aInputs2[i], GT_Utility.getIntegratedCircuit(3)) + .itemOutputs(aOutputs[i]) + .fluidOutputs(FluidUtils.getFluidStack("creosote", 200)) + .eut(16) + .duration(2 * SECONDS) + .addTo(cokeOvenRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(aInputs2[i], GT_Utility.getIntegratedCircuit(4)) + .itemOutputs(aOutputs[i]) + .fluidInputs(FluidUtils.getFluidStack("nitrogen", 50)) + .fluidOutputs(FluidUtils.getFluidStack("charcoal_byproducts", 100)) + .eut(16) + .duration(1 * SECONDS) + .addTo(cokeOvenRecipes); // Generate Wood Tar and Wood Gas from these Cokes - CORE.RA.addCokeOvenRecipe( - aOutputs[i], - CI.getNumberedCircuit(5), - FluidUtils.getFluidStack("steam", 100), - Materials.WoodTar.getFluid(200), - Materials.Ash.getDustSmall(1), - 60, - 240); - CORE.RA.addCokeOvenRecipe( - aOutputs[i], - CI.getNumberedCircuit(6), - FluidUtils.getFluidStack("steam", 100), - Materials.WoodGas.getFluid(300), - Materials.Ash.getDustSmall(1), - 60, - 240); + GT_Values.RA.stdBuilder() + .itemInputs(aOutputs[i], GT_Utility.getIntegratedCircuit(5)) + .itemOutputs(Materials.Ash.getDustSmall(1)) + .fluidInputs(FluidUtils.getFluidStack("steam", 100)) + .fluidOutputs(Materials.WoodTar.getFluid(200)) + .eut(240) + .duration(3 * SECONDS) + .addTo(cokeOvenRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(aOutputs[i], GT_Utility.getIntegratedCircuit(6)) + .itemOutputs(Materials.Ash.getDustSmall(1)) + .fluidInputs(FluidUtils.getFluidStack("steam", 100)) + .fluidOutputs(Materials.WoodGas.getGas(300)) + .eut(3 * SECONDS) + .duration(240) + .addTo(cokeOvenRecipes); // Fluid Extracting the Charcoals for Wood Tar GT_Values.RA.stdBuilder() diff --git a/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersDryingRecipe.java b/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersDryingRecipe.java index 33dad51510..44fb9d12b7 100644 --- a/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersDryingRecipe.java +++ b/src/main/java/gtPlusPlus/xmod/tinkers/util/TinkersDryingRecipe.java @@ -1,6 +1,7 @@ package gtPlusPlus.xmod.tinkers.util; import static gregtech.api.enums.Mods.TinkerConstruct; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; import java.lang.reflect.Field; import java.util.List; @@ -9,10 +10,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.reflect.ReflectionUtils; public class TinkersDryingRecipe { @@ -41,14 +42,12 @@ public class TinkersDryingRecipe { if (!recipes.isEmpty()) { Logger.INFO("Adding " + recipes.size() + " drying rack recipes to the dehydrator."); for (TinkersDryingRecipe r : recipes) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { CI.getNumberedCircuit(16), r.input }, - GT_Values.NF, - GT_Values.NF, - new ItemStack[] { r.result }, - new int[] {}, - r.time / 10, - 30); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(16), r.input) + .itemOutputs(r.result) + .eut(TierEU.RECIPE_LV) + .duration(r.time / 10) + .addTo(chemicalDehydratorRecipes); } } } diff --git a/src/main/java/kubatech/loaders/DEFCRecipes.java b/src/main/java/kubatech/loaders/DEFCRecipes.java index d23637d7d2..f3b8774758 100644 --- a/src/main/java/kubatech/loaders/DEFCRecipes.java +++ b/src/main/java/kubatech/loaders/DEFCRecipes.java @@ -3,6 +3,7 @@ package kubatech.loaders; import static gregtech.api.enums.Mods.ElectroMagicTools; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.util.GT_RecipeConstants.DEFC_CASING_TIER; import java.util.Arrays; @@ -172,7 +173,7 @@ public class DEFCRecipes { .itemOutputs(GT_ModHandler.getModItem("DraconicEvolution", "draconicCore", 1, 0)) .eut(500_000) .duration(400) - .specialValue(1) + .metadata(DEFC_CASING_TIER, 1) .addTo(fusionCraftingRecipes) .forEach(DEFCRecipes::addOldHiddenRecipe); @@ -187,7 +188,7 @@ public class DEFCRecipes { .itemOutputs(GT_ModHandler.getModItem("DraconicEvolution", "wyvernCore", 1, 0)) .eut(2_000_000) .duration(800) - .specialValue(2) + .metadata(DEFC_CASING_TIER, 2) .addTo(fusionCraftingRecipes) .forEach(DEFCRecipes::addOldHiddenRecipe); @@ -203,7 +204,7 @@ public class DEFCRecipes { .itemOutputs(GT_ModHandler.getModItem("DraconicEvolution", "awakenedCore", 1, 0)) .eut(8_000_000) .duration(1600) - .specialValue(3) + .metadata(DEFC_CASING_TIER, 3) .addTo(fusionCraftingRecipes) .forEach(DEFCRecipes::addOldHiddenRecipe); } else { @@ -218,7 +219,7 @@ public class DEFCRecipes { .itemOutputs(GT_ModHandler.getModItem("DraconicEvolution", "awakenedCore", 1, 0)) .eut(8_000_000) .duration(1600) - .specialValue(3) + .metadata(DEFC_CASING_TIER, 3) .addTo(fusionCraftingRecipes) .forEach(DEFCRecipes::addOldHiddenRecipe); } @@ -234,7 +235,7 @@ public class DEFCRecipes { .itemOutputs(GT_ModHandler.getModItem("DraconicEvolution", "chaoticCore", 1, 0)) .eut(24_000_000) .duration(3200) - .specialValue(4) + .metadata(DEFC_CASING_TIER, 4) .addTo(fusionCraftingRecipes) .forEach(DEFCRecipes::addOldHiddenRecipe); @@ -250,7 +251,7 @@ public class DEFCRecipes { .itemOutputs(GT_ModHandler.getModItem("DraconicEvolution", "draconiumEnergyCore", 1, 0)) .eut(500_000) .duration(1000) - .specialValue(2) + .metadata(DEFC_CASING_TIER, 2) .addTo(fusionCraftingRecipes) .forEach(DEFCRecipes::addOldHiddenRecipe); @@ -264,7 +265,7 @@ public class DEFCRecipes { .itemOutputs(GT_ModHandler.getModItem("DraconicEvolution", "draconiumEnergyCore", 1, 1)) .eut(2_000_000) .duration(2000) - .specialValue(3) + .metadata(DEFC_CASING_TIER, 3) .addTo(fusionCraftingRecipes) .forEach(DEFCRecipes::addOldHiddenRecipe); @@ -278,7 +279,7 @@ public class DEFCRecipes { .fluidOutputs(new FluidStack(FluidRegistry.getFluid("molten.dragonblood"), 288)) .eut(1_966_080) .duration(4200) - .specialValue(3) + .metadata(DEFC_CASING_TIER, 3) .noOptimize() .addTo(fusionCraftingRecipes); @@ -291,7 +292,7 @@ public class DEFCRecipes { .fluidOutputs(new FluidStack(FluidRegistry.getFluid("molten.dragonblood"), 432)) .eut(1_966_080) .duration(3600) - .specialValue(3) + .metadata(DEFC_CASING_TIER, 3) .noOptimize() .addTo(fusionCraftingRecipes); @@ -304,7 +305,7 @@ public class DEFCRecipes { .fluidOutputs(new FluidStack(FluidRegistry.getFluid("molten.dragonblood"), 432)) .eut(1_966_080) .duration(2800) - .specialValue(3) + .metadata(DEFC_CASING_TIER, 3) .noOptimize() .addTo(fusionCraftingRecipes); @@ -317,7 +318,7 @@ public class DEFCRecipes { .fluidOutputs(new FluidStack(FluidRegistry.getFluid("molten.dragonblood"), 648)) .eut(1_966_080) .duration(2400) - .specialValue(3) + .metadata(DEFC_CASING_TIER, 3) .noOptimize() .addTo(fusionCraftingRecipes); } diff --git a/src/main/java/kubatech/loaders/RecipeLoader.java b/src/main/java/kubatech/loaders/RecipeLoader.java index 3ebba3fea6..9c3ded4992 100644 --- a/src/main/java/kubatech/loaders/RecipeLoader.java +++ b/src/main/java/kubatech/loaders/RecipeLoader.java @@ -37,6 +37,7 @@ import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.chemicalDehydratorRecipes; import static kubatech.api.enums.ItemList.BlackTea; import static kubatech.api.enums.ItemList.BlackTeaLeaf; import static kubatech.api.enums.ItemList.BruisedTeaLeaf; @@ -83,7 +84,6 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; -import gtPlusPlus.core.lib.CORE; import ic2.core.Ic2Items; import kubatech.api.enums.ItemList; import kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_DEFusionCrafter; @@ -227,22 +227,20 @@ public class RecipeLoader { private static void RegisterTeaLine() { // TEA LINE // if (PamsHarvestCraft.isModLoaded()) { - CORE.RA.addDehydratorRecipe( - new ItemStack[] { GameRegistry.findItemStack("harvestcraft", "tealeafItem", 1) }, - null, - null, - new ItemStack[] { TeaLeafDehydrated.get(1) }, - null, - 100, - 32); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { TeaLeafDehydrated.get(1) }, - null, - null, - new ItemStack[] { WhiteTeaLeaf.get(1) }, - null, - 100, - 32); + GT_Values.RA.stdBuilder() + .itemInputs(GameRegistry.findItemStack("harvestcraft", "tealeafItem", 1)) + .itemOutputs(TeaLeafDehydrated.get(1)) + .eut(32) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(TeaLeafDehydrated.get(1)) + .itemOutputs(WhiteTeaLeaf.get(1)) + .eut(32) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); + GT_Values.RA.stdBuilder() .itemInputs(TeaLeafDehydrated.get(1)) .itemOutputs(SteamedTeaLeaf.get(1)) @@ -250,86 +248,89 @@ public class RecipeLoader { .eut(32) .duration(5 * SECONDS) .addTo(mixerRecipes); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { SteamedTeaLeaf.get(1) }, - null, - null, - new ItemStack[] { YellowTeaLeaf.get(1) }, - null, - 100, - 32); + + GT_Values.RA.stdBuilder() + .itemInputs(SteamedTeaLeaf.get(1)) + .itemOutputs(YellowTeaLeaf.get(1)) + .eut(32) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); + GT_Values.RA.stdBuilder() .itemInputs(TeaLeafDehydrated.get(1), GT_Utility.getIntegratedCircuit(1)) .itemOutputs(RolledTeaLeaf.get(1)) .eut(32) .duration(5 * SECONDS) .addTo(benderRecipes); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { RolledTeaLeaf.get(1) }, - null, - null, - new ItemStack[] { GreenTeaLeaf.get(1) }, - null, - 100, - 32); + + GT_Values.RA.stdBuilder() + .itemInputs(RolledTeaLeaf.get(1)) + .itemOutputs(GreenTeaLeaf.get(1)) + .eut(32) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); + GT_Values.RA.stdBuilder() .itemInputs(RolledTeaLeaf.get(1), GT_Utility.getIntegratedCircuit(1)) .itemOutputs(OxidizedTeaLeaf.get(1)) .eut(32) .duration(5 * SECONDS) .addTo(UniversalChemical); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { OxidizedTeaLeaf.get(1) }, - null, - null, - new ItemStack[] { BlackTeaLeaf.get(1) }, - null, - 100, - 32); + + GT_Values.RA.stdBuilder() + .itemInputs(OxidizedTeaLeaf.get(1)) + .itemOutputs(BlackTeaLeaf.get(1)) + .eut(32) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); + GT_Values.RA.stdBuilder() .itemInputs(RolledTeaLeaf.get(1), GT_Utility.getIntegratedCircuit(2)) .itemOutputs(FermentedTeaLeaf.get(1)) .eut(32) .duration(10 * SECONDS) .addTo(UniversalChemical); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { FermentedTeaLeaf.get(1) }, - null, - null, - new ItemStack[] { PuerhTeaLeaf.get(1) }, - null, - 100, - 32); + + GT_Values.RA.stdBuilder() + .itemInputs(FermentedTeaLeaf.get(1)) + .itemOutputs(PuerhTeaLeaf.get(1)) + .eut(32) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); + GT_Values.RA.stdBuilder() .itemInputs(TeaLeafDehydrated.get(1)) .itemOutputs(BruisedTeaLeaf.get(1)) .eut(32) .duration(5 * SECONDS) .addTo(cutterRecipes); + GT_Values.RA.stdBuilder() .itemInputs(BruisedTeaLeaf.get(1), GT_Utility.getIntegratedCircuit(1)) .itemOutputs(PartiallyOxidizedTeaLeaf.get(1)) .eut(32) .duration(2 * SECONDS + 10 * TICKS) .addTo(UniversalChemical); - CORE.RA.addDehydratorRecipe( - new ItemStack[] { PartiallyOxidizedTeaLeaf.get(1) }, - null, - null, - new ItemStack[] { OolongTeaLeaf.get(1) }, - null, - 100, - 32); + + GT_Values.RA.stdBuilder() + .itemInputs(PartiallyOxidizedTeaLeaf.get(1)) + .itemOutputs(OolongTeaLeaf.get(1)) + .eut(32) + .duration(5 * SECONDS) + .addTo(chemicalDehydratorRecipes); // Tea Assembly GameRegistry.addSmelting(BlackTeaLeaf.get(1), BlackTea.get(1), 10); + GT_Values.RA.stdBuilder() .itemInputs(BlackTea.get(1), GameRegistry.findItemStack("harvestcraft", "limejuiceItem", 1)) .itemOutputs(EarlGrayTea.get(1)) .eut(32) .duration(5 * SECONDS) .addTo(mixerRecipes); + GameRegistry.addSmelting(GreenTeaLeaf.get(1), GreenTea.get(1), 10); + GT_Values.RA.stdBuilder() .itemInputs(BlackTea.get(1)) .itemOutputs(LemonTea.get(1)) @@ -337,6 +338,7 @@ public class RecipeLoader { .eut(32) .duration(5 * SECONDS) .addTo(mixerRecipes); + GT_Values.RA.stdBuilder() .itemInputs(BlackTea.get(1)) .itemOutputs(MilkTea.get(1)) @@ -344,7 +346,9 @@ public class RecipeLoader { .eut(32) .duration(5 * SECONDS) .addTo(mixerRecipes); + GameRegistry.addSmelting(OolongTeaLeaf.get(1), OolongTea.get(1), 10); + GT_Values.RA.stdBuilder() .itemInputs(GameRegistry.findItemStack("harvestcraft", "peppermintItem", 1)) .itemOutputs(PeppermintTea.get(1)) @@ -352,6 +356,7 @@ public class RecipeLoader { .eut(32) .duration(5 * SECONDS) .addTo(mixerRecipes); + GameRegistry.addSmelting(PuerhTeaLeaf.get(1), PuerhTea.get(1), 10); GameRegistry.addSmelting(WhiteTeaLeaf.get(1), WhiteTea.get(1), 10); GameRegistry.addSmelting(YellowTeaLeaf.get(1), YellowTea.get(1), 10); diff --git a/src/main/java/net/glease/ggfab/ComponentRecipeLoader.java b/src/main/java/net/glease/ggfab/ComponentRecipeLoader.java index 916fa92a50..4f6d790557 100644 --- a/src/main/java/net/glease/ggfab/ComponentRecipeLoader.java +++ b/src/main/java/net/glease/ggfab/ComponentRecipeLoader.java @@ -1,8 +1,13 @@ package net.glease.ggfab; -import static gregtech.api.enums.GT_Values.RA; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; -import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -18,28 +23,35 @@ class ComponentRecipeLoader implements Runnable { @Override public void run() { - Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null - ? FluidRegistry.getFluid("molten.indalloy140") - : FluidRegistry.getFluid("molten.solderingalloy"); - RA.addAssemblylineRecipe( - ItemList.Machine_Multi_Assemblyline.get(1L), - 96000, - new Object[] { ItemList.Machine_Multi_Assemblyline.get(1L), + Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140"); + + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Machine_Multi_Assemblyline.get(1L)) + .metadata(RESEARCH_TIME, 1 * HOURS + 6 * MINUTES) + .itemInputs( + ItemList.Machine_Multi_Assemblyline.get(1L), new Object[] { OrePrefixes.circuit.get(Materials.Master), 2 }, new Object[] { OrePrefixes.circuit.get(Materials.Elite), 4 }, new Object[] { OrePrefixes.circuit.get(Materials.Data), 8 }, - ItemList.Automation_ChestBuffer_LuV.get(1L), }, - new FluidStack[] { new FluidStack(solderIndalloy, 1296), Materials.Lubricant.getFluid(2000) }, - GGItemList.AdvAssLine.get(1L), - 1200, - 6000); - RA.addAssemblerRecipe( - new ItemStack[] { ItemList.Hatch_Input_Bus_IV.get(1L), ItemList.Emitter_IV.get(1L), - ItemList.Sensor_IV.get(1L), GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 1L), - GT_Utility.getIntegratedCircuit(12), }, - Materials.Polybenzimidazole.getMolten(144L), - GGItemList.LinkedInputBus.get(1L), - 600, - (int) GT_Values.VP[5]); + ItemList.Automation_ChestBuffer_LuV.get(1L)) + .fluidInputs(new FluidStack(solderIndalloy, 1296), Materials.Lubricant.getFluid(2000)) + .itemOutputs(GGItemList.AdvAssLine.get(1L)) + .eut(6_000) + .duration(10 * MINUTES) + .addTo(AssemblyLine); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Input_Bus_IV.get(1L), + ItemList.Emitter_IV.get(1L), + ItemList.Sensor_IV.get(1L), + GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 1L), + GT_Utility.getIntegratedCircuit(12)) + .itemOutputs(GGItemList.LinkedInputBus.get(1L)) + .fluidInputs(Materials.Polybenzimidazole.getMolten(144L)) + .duration(30 * SECONDS) + .eut(GT_Values.VP[5]) + .addTo(assemblerRecipes); + } } |