diff options
Diffstat (limited to 'src/main/java/bartworks/common/loaders/recipes')
17 files changed, 1734 insertions, 0 deletions
diff --git a/src/main/java/bartworks/common/loaders/recipes/Assembler.java b/src/main/java/bartworks/common/loaders/recipes/Assembler.java new file mode 100644 index 0000000000..912b0f8c9a --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/Assembler.java @@ -0,0 +1,270 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.util.GTRecipeBuilder.HOURS; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; + +import bartworks.common.loaders.ItemRegistry; +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.GregTechAPI; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTUtility; + +public class Assembler implements Runnable { + + @Override + public void run() { + Materials[] cables = { // Cable material used in the acid gen, diode and energy distributor below + Materials.Lead, // ULV + Materials.Tin, // LV + Materials.AnnealedCopper, // MV + Materials.Gold, // HV + Materials.Aluminium, // EV + Materials.Tungsten, // IV + Materials.VanadiumGallium, // LuV + Materials.Naquadah, // ZPM + Materials.NaquadahAlloy, // UV + Materials.SuperconductorUV // UHV + }; + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(ItemRegistry.BW_BLOCKS[0], 1, 0), + Materials.Lapis.getPlates(9), + GTOreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 2L), + GTUtility.getIntegratedCircuit(17)) + .itemOutputs(new ItemStack(ItemRegistry.BW_BLOCKS[0], 1, 1)) + .fluidInputs(FluidRegistry.getFluidStack("ic2coolant", 1000)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(ItemRegistry.BW_BLOCKS[0], 1, 1), + Materials.Lapis.getBlocks(8), + GTUtility.getIntegratedCircuit(17)) + .itemOutputs(new ItemStack(ItemRegistry.BW_BLOCKS[1])) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Machine_Multi_BlastFurnace.get(64), GTUtility.getIntegratedCircuit(17)) + .itemOutputs(ItemRegistry.megaMachines[0]) + .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) + .duration(1 * HOURS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Machine_Multi_VacuumFreezer.get(64), GTUtility.getIntegratedCircuit(17)) + .itemOutputs(ItemRegistry.megaMachines[1]) + .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) + .duration(1 * HOURS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Distillation_Tower.get(64), GTUtility.getIntegratedCircuit(17)) + .itemOutputs(ItemRegistry.megaMachines[2]) + .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) + .duration(1 * HOURS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Machine_Multi_LargeChemicalReactor.get(64), GTUtility.getIntegratedCircuit(17)) + .itemOutputs(ItemRegistry.megaMachines[3]) + .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) + .duration(1 * HOURS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.OilCracker.get(64), GTUtility.getIntegratedCircuit(17)) + .itemOutputs(ItemRegistry.megaMachines[4]) + .fluidInputs(Materials.SolderingAlloy.getMolten(9216)) + .duration(1 * HOURS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 64L), + GTUtility.getIntegratedCircuit(17)) + .itemOutputs(new ItemStack(ItemRegistry.BW_BLOCKS[2], 1, 1)) + .fluidInputs(Materials.Plastic.getMolten(1152L)) + .duration(1 * TICKS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.circuit, Materials.MV, 1L), + Materials.Aluminium.getPlates(1), + ItemList.Circuit_Board_Plastic.get(1L), + ItemList.Battery_RE_LV_Lithium.get(1L)) + .itemOutputs(new ItemStack(ItemRegistry.CIRCUIT_PROGRAMMER)) + .fluidInputs(Materials.SolderingAlloy.getMolten(288L)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Circuit_Parts_GlassFiber.get(32), + GTOreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, 8), + WerkstoffLoader.CubicZirconia.get(OrePrefixes.gemExquisite, 2)) + .itemOutputs( + new ItemStack( + ItemRegistry.TecTechPipeEnergyLowPower.getItem(), + 1, + ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage())) + .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(72)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(assemblerRecipes); + + ItemStack[][] converters = ItemRegistry.TecTechLaserAdditions[0]; + ItemStack[][] input = ItemRegistry.TecTechLaserAdditions[1]; + ItemStack[][] dynamo = ItemRegistry.TecTechLaserAdditions[2]; + + ItemList[] emitters = { ItemList.Emitter_EV, ItemList.Emitter_IV, ItemList.Emitter_LuV, ItemList.Emitter_ZPM }; + + ItemList[] sensors = { ItemList.Sensor_EV, ItemList.Sensor_IV, ItemList.Sensor_LuV, ItemList.Sensor_ZPM }; + + OrePrefixes[] prefixes = { OrePrefixes.cableGt04, OrePrefixes.cableGt08, OrePrefixes.cableGt12, + OrePrefixes.cableGt16 }; + + for (int j = 0; j < 4; j++) { + for (int i = 0; i < 4; i++) { + ItemStack converter = converters[j][i]; + ItemStack eInput = input[j][i]; + ItemStack eDynamo = dynamo[j][i]; + long recipeConsumption = switch (i) { + case 0 -> TierEU.RECIPE_EV; + case 1 -> TierEU.RECIPE_IV; + case 2 -> TierEU.RECIPE_LuV; + case 3 -> TierEU.RECIPE_ZPM; + default -> TierEU.RECIPE_EV; + }; + + int solderingAmount = Math.max(144 * i, 72) * (j + 1); + + GTValues.RA.stdBuilder() + .itemInputs( + + new ItemStack( + ItemRegistry.TecTechPipeEnergyLowPower.getItem(), + ((j + 1) * 16), + ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage()), + WerkstoffLoader.CubicZirconia.get(OrePrefixes.lens), + GTOreDictUnificator.get(prefixes[j], cables[i + 4], 8), + emitters[i].get(2 * (j + 1)), + sensors[i].get(2 * (j + 1)), + ItemList.TRANSFORMERS[4 + i].get(2 * (j + 1))) + .itemOutputs(converter) + .fluidInputs(Materials.SolderingAlloy.getMolten(solderingAmount)) + .duration((10 * (j + 1)) * SECONDS) + .eut(recipeConsumption) + .addTo(assemblerRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack( + ItemRegistry.TecTechPipeEnergyLowPower.getItem(), + ((j + 1) * 16), + ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage()), + WerkstoffLoader.CubicZirconia.get(OrePrefixes.lens), + GTOreDictUnificator.get(prefixes[j], cables[i + 4], 8), + emitters[i].get(2 * (j + 1)), + sensors[i].get(2 * (j + 1)), + ItemList.TRANSFORMERS[4 + i].get(2 * (j + 1))) + .itemOutputs(converter) + .fluidInputs(Materials.SolderingAlloy.getMolten(solderingAmount)) + .duration((10 * (j + 1)) * SECONDS) + .eut(recipeConsumption) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack( + ItemRegistry.TecTechPipeEnergyLowPower.getItem(), + (j + 1) * 16, + ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage()), + WerkstoffLoader.CubicZirconia.get(OrePrefixes.lens), + GTOreDictUnificator.get(prefixes[j], cables[i + 4], 8), + sensors[i].get(2 * (j + 1)), + ItemList.HATCHES_ENERGY[4 + i].get(2 * (j + 1))) + .itemOutputs(eInput) + .fluidInputs(Materials.SolderingAlloy.getMolten(solderingAmount)) + .duration((10 * (j + 1)) * SECONDS) + .eut(recipeConsumption) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack( + ItemRegistry.TecTechPipeEnergyLowPower.getItem(), + (j + 1) * 16, + ItemRegistry.TecTechPipeEnergyLowPower.getItemDamage()), + WerkstoffLoader.CubicZirconia.get(OrePrefixes.lens), + GTOreDictUnificator.get(prefixes[j], cables[i + 4], 8), + emitters[i].get(2 * (j + 1)), + ItemList.HATCHES_DYNAMO[4 + i].get(2 * (j + 1))) + .itemOutputs(eDynamo) + .fluidInputs(Materials.SolderingAlloy.getMolten(solderingAmount)) + .duration((10 * (j + 1) * SECONDS)) + .eut(recipeConsumption) + .addTo(assemblerRecipes); + } + } + + GTValues.RA.stdBuilder() + .itemInputs( + ItemList.Hatch_Input_HV.get(64), + Materials.LiquidAir.getCells(1), + GTUtility.getIntegratedCircuit(17)) + .itemOutputs(ItemRegistry.compressedHatch.copy()) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Hatch_Output_HV.get(64), GTUtility.getIntegratedCircuit(17)) + .itemOutputs(ItemRegistry.giantOutputHatch.copy()) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 6), + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1)) + .itemOutputs(new ItemStack(GregTechAPI.sBlockCasings3, 1, 12)) + .fluidInputs(Materials.Concrete.getMolten(1296)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(GregTechAPI.sBlockCasings3, 1, 12), + GTOreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 6), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.Europium, 24)) + .itemOutputs(new ItemStack(GregTechAPI.sBlockCasings8, 1, 5)) + .fluidInputs(Materials.Lead.getMolten(864)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(assemblerRecipes); + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/AssemblyLine.java b/src/main/java/bartworks/common/loaders/recipes/AssemblyLine.java new file mode 100644 index 0000000000..650bb02918 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/AssemblyLine.java @@ -0,0 +1,81 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.util.GTRecipeBuilder.HOURS; +import static gregtech.api.util.GTRecipeBuilder.MINUTES; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeConstants.AssemblyLine; +import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; + +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import bartworks.common.loaders.ItemRegistry; +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTOreDictUnificator; + +public class AssemblyLine implements Runnable { + + @Override + public void run() { + Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null + ? FluidRegistry.getFluid("molten.indalloy140") + : FluidRegistry.getFluid("molten.solderingalloy"); + GTValues.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Pump_IV.get(1L)) + .metadata(RESEARCH_TIME, 1 * HOURS) + .itemInputs( + ItemList.Pump_IV.get(16), + GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Ultimate, 32L), + GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.HSSE, 16L), + GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.HSSE, 16L), + ItemList.Field_Generator_LuV.get(8)) + .fluidInputs( + new FluidStack(solderIndalloy, 32 * 144), + Materials.Polytetrafluoroethylene.getMolten(32 * 144)) + .itemOutputs(ItemRegistry.dehp) + .eut(TierEU.RECIPE_LuV) + .duration(4 * MINUTES + 10 * SECONDS) + .addTo(AssemblyLine); + + GTValues.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.OreDrill4.get(1L)) + .metadata(RESEARCH_TIME, 25 * MINUTES + 36 * SECONDS) + .itemInputs( + ItemList.OreDrill4.get(1L), + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 9L), + Materials.Europium.getPlates(3), + ItemList.Electric_Motor_LuV.get(9L), + ItemList.Sensor_LuV.get(9L), + ItemList.Field_Generator_LuV.get(9L), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.Europium, 36L)) + .fluidInputs(new FluidStack(solderIndalloy, 1440), WerkstoffLoader.Neon.getFluidOrGas(20000)) + .itemOutputs(ItemRegistry.voidminer[0].copy()) + .eut(TierEU.RECIPE_LuV) + .duration(5 * MINUTES) + .addTo(AssemblyLine); + + GTValues.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Machine_LuV_CircuitAssembler.get(1L)) + .metadata(RESEARCH_TIME, 20 * MINUTES) + .itemInputs( + ItemList.Machine_LuV_CircuitAssembler.get(1L), + ItemList.Robot_Arm_LuV.get(4L), + ItemList.Electric_Motor_LuV.get(4L), + ItemList.Field_Generator_LuV.get(1L), + ItemList.Emitter_LuV.get(1L), + ItemList.Sensor_LuV.get(1L), + WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.plate, 8)) + .fluidInputs(new FluidStack(solderIndalloy, 1440)) + .itemOutputs(ItemRegistry.cal.copy()) + .eut(TierEU.RECIPE_LuV) + .duration(20 * MINUTES) + .addTo(AssemblyLine); + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/Autoclave.java b/src/main/java/bartworks/common/loaders/recipes/Autoclave.java new file mode 100644 index 0000000000..12140611f7 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/Autoclave.java @@ -0,0 +1,40 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import bartworks.common.loaders.BioItemList; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; + +public class Autoclave implements Runnable { + + @Override + public void run() { + Materials[] sterilizers = { Materials.Ammonia, Materials.Chlorine, Materials.Ethanol, Materials.Methanol }; + for (Materials used : sterilizers) { + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Parts_PetriDish.get(1L)) + .itemOutputs(BioItemList.getPetriDish(null)) + .fluidInputs(used.getGas(10L) != null ? used.getGas(8L) : used.getFluid(16L)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(autoclaveRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(Items.glass_bottle)) + .itemOutputs(BioItemList.getDNASampleFlask(null)) + .fluidInputs(used.getGas(10L) != null ? used.getGas(8L) : used.getFluid(16L)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(autoclaveRecipes); + + } + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/Centrifuge.java b/src/main/java/bartworks/common/loaders/recipes/Centrifuge.java new file mode 100644 index 0000000000..a689d39ce8 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/Centrifuge.java @@ -0,0 +1,141 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.util.GTRecipeBuilder.MINUTES; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import java.util.Arrays; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidStack; + +import bartworks.common.loaders.BioCultureLoader; +import bartworks.common.loaders.BioItemList; +import bartworks.common.loaders.FluidLoader; +import bartworks.common.tileentities.multis.MTEHighTempGasCooledReactor; +import bartworks.common.tileentities.multis.MTEThoriumHighTempReactor; +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTRecipeBuilder; +import gregtech.api.util.GTUtility; + +public class Centrifuge implements Runnable { + + @Override + public void run() { + GTValues.RA.stdBuilder() + .itemInputs(Materials.Thorium.getDust(1)) + .itemOutputs( + Materials.Thorium.getDust(1), + Materials.Thorium.getDust(1), + WerkstoffLoader.Thorium232.get(OrePrefixes.dust, 1), + WerkstoffLoader.Thorium232.get(OrePrefixes.dust, 1), + WerkstoffLoader.Thorium232.get(OrePrefixes.dust, 1)) + .outputChances(800, 375, 22, 22, 5) + .duration(8 * MINUTES + 20 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(centrifugeRecipes); + + ItemStack[] pellets = new ItemStack[6]; + Arrays.fill(pellets, new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 64, 4)); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 1, 3), + GTUtility.getIntegratedCircuit(17)) + .itemOutputs(pellets) + .duration(40 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 1, 5), + GTUtility.getIntegratedCircuit(17)) + .itemOutputs(new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 64, 6)) + .duration(40 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 1, 6)) + .itemOutputs(Materials.Lead.getDust(1)) + .outputChances(300) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(centrifugeRecipes); + + int i = 0; + for (MTEHighTempGasCooledReactor.HTGRMaterials.Fuel_ fuel : MTEHighTempGasCooledReactor.HTGRMaterials.sHTGR_Fuel) { + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i + 3), + GTUtility.getIntegratedCircuit(17)) + .itemOutputs( + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 64, i + 4), + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 64, i + 4), + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 64, i + 4), + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 64, i + 4)) + .duration(10 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i + 5), + GTUtility.getIntegratedCircuit(17)) + .itemOutputs(new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 64, i + 6)) + .duration(2 * MINUTES + 30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(centrifugeRecipes); + + GTRecipeBuilder recipeBuilder = GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i + 6)) + .itemOutputs( + fuel.recycledItems[0], + fuel.recycledItems[1], + fuel.recycledItems[2], + fuel.recycledItems[3], + fuel.recycledItems[4]) + .outputChances(fuel.recycleChances); + if (fuel.recycledFluid != null) { + recipeBuilder.fluidOutputs(fuel.recycledFluid); + } + recipeBuilder.duration(1 * MINUTES) + .eut(TierEU.RECIPE_LV) + .addTo(centrifugeRecipes); + + i += MTEHighTempGasCooledReactor.HTGRMaterials.MATERIALS_PER_FUEL; + } + + GTValues.RA.stdBuilder() + .itemInputs(GTUtility.getIntegratedCircuit(17)) + .itemOutputs(BioItemList.getOther(4)) + .fluidInputs(new FluidStack(BioCultureLoader.eColi.getFluid(), 1000)) + .fluidOutputs(new FluidStack(FluidLoader.BioLabFluidMaterials[1], 10)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(GTUtility.getIntegratedCircuit(17)) + .fluidInputs(new FluidStack(FluidLoader.BioLabFluidMaterials[1], 1000)) + .fluidOutputs(new FluidStack(FluidLoader.BioLabFluidMaterials[3], 250)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(GTUtility.getIntegratedCircuit(17)) + .fluidInputs(new FluidStack(BioCultureLoader.CommonYeast.getFluid(), 1000)) + .fluidOutputs(new FluidStack(FluidLoader.BioLabFluidMaterials[2], 10)) + .duration(60 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(centrifugeRecipes); + + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/ChemicalBath.java b/src/main/java/bartworks/common/loaders/recipes/ChemicalBath.java new file mode 100644 index 0000000000..478acdb81f --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/ChemicalBath.java @@ -0,0 +1,83 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; + +import net.minecraft.item.ItemStack; + +import bartworks.common.loaders.ItemRegistry; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; + +public class ChemicalBath implements Runnable { + + @Override + public void run() { + + for (int i = 0; i < Dyes.dyeBrown.getSizeOfFluidList(); ++i) { + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 6)) + .fluidInputs(Dyes.dyeRed.getFluidDye(i, 36)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 7)) + .fluidInputs(Dyes.dyeGreen.getFluidDye(i, 36)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 8)) + .fluidInputs(Dyes.dyePurple.getFluidDye(i, 36)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 9)) + .fluidInputs(Dyes.dyeYellow.getFluidDye(i, 36)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 10)) + .fluidInputs(Dyes.dyeLime.getFluidDye(i, 36)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 11)) + .fluidInputs(Dyes.dyeBrown.getFluidDye(i, 36)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + + } + + for (int i = 6; i < 11; i++) { + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, i)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .fluidInputs(Materials.Chlorine.getGas(50)) + .duration(3 * SECONDS + 4 * TICKS) + .eut(2) + .addTo(chemicalBathRecipes); + + } + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/ChemicalReactor.java b/src/main/java/bartworks/common/loaders/recipes/ChemicalReactor.java new file mode 100644 index 0000000000..0270a31355 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/ChemicalReactor.java @@ -0,0 +1,28 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; +import static gregtech.api.util.GTRecipeConstants.UniversalChemical; + +import net.minecraftforge.fluids.FluidStack; + +import bartworks.common.loaders.FluidLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTUtility; + +public class ChemicalReactor implements Runnable { + + @Override + public void run() { + + GTValues.RA.stdBuilder() + .itemInputs(GTUtility.getIntegratedCircuit(10)) + .fluidInputs(new FluidStack(FluidLoader.heatedfulvicAcid, 1000)) + .fluidOutputs(new FluidStack(FluidLoader.Kerogen, 1000)) + .duration(3 * SECONDS + 15 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/CraftingRecipes.java b/src/main/java/bartworks/common/loaders/recipes/CraftingRecipes.java new file mode 100644 index 0000000000..2cb768ec70 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/CraftingRecipes.java @@ -0,0 +1,468 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_EV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_HV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_IV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_LuV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_MAX; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_UEV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_UHV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_UIV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_UMV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_UV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_UXV; +import static gregtech.api.enums.MetaTileEntityIDs.BioLab_ZPM; +import static gregtech.api.enums.MetaTileEntityIDs.BioVat; +import static gregtech.api.enums.MetaTileEntityIDs.LESU; +import static gregtech.api.enums.MetaTileEntityIDs.ManualTrafo; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_EV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_HV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_IV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_LuV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_MAX; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_UEV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_UHV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_UIV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_UMV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_UV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_UXV; +import static gregtech.api.enums.MetaTileEntityIDs.RadioHatch_ZPM; +import static gregtech.api.enums.MetaTileEntityIDs.Windmill; +import static gregtech.api.enums.Mods.IndustrialCraft2; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +import net.minecraftforge.oredict.OreDictionary; + +import bartworks.common.configs.ConfigHandler; +import bartworks.common.loaders.BioItemList; +import bartworks.common.loaders.ItemRegistry; +import bartworks.common.loaders.RecipeLoader; +import bartworks.common.tileentities.multis.MTEBioVat; +import bartworks.common.tileentities.multis.MTELESU; +import bartworks.common.tileentities.multis.MTEManualTrafo; +import bartworks.common.tileentities.multis.MTEWindmill; +import bartworks.common.tileentities.tiered.GT_MetaTileEntity_RadioHatch; +import bartworks.common.tileentities.tiered.MTEBioLab; +import bartworks.system.material.Werkstoff; +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.GregTechAPI; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.ISubTagContainer; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import ic2.core.Ic2Items; + +public class CraftingRecipes implements Runnable { + + @Override + public void run() { + + Materials[] cables = { // Cable material used in the acid gen, diode and energy distributor below + Materials.Lead, // ULV + Materials.Tin, // LV + Materials.AnnealedCopper, // MV + Materials.Gold, // HV + Materials.Aluminium, // EV + Materials.Tungsten, // IV + Materials.VanadiumGallium, // LuV + Materials.Naquadah, // ZPM + Materials.NaquadahAlloy, // UV + Materials.SuperconductorUV // UHV + }; + + ISubTagContainer[] hulls = { // Plate material used in the acid gen, diode and energy distributor below + Materials.WroughtIron, // ULV + Materials.Steel, // LV + Materials.Aluminium, // MV + Materials.StainlessSteel, // HV + Materials.Titanium, // EV + Materials.TungstenSteel, // IV + WerkstoffLoader.LuVTierMaterial, // LuV + Materials.Iridium, // ZPM + Materials.Osmium, // UV + Materials.Naquadah // UHV + }; + + ItemStack[] bats = { ItemList.Battery_Hull_LV.get(1L), ItemList.Battery_Hull_MV.get(1L), + ItemList.Battery_Hull_HV.get(1L) }; + ItemStack[] chreac = { ItemList.Machine_MV_ChemicalReactor.get(1L), ItemList.Machine_HV_ChemicalReactor.get(1L), + ItemList.Machine_EV_ChemicalReactor.get(1L) }; + + GTModHandler.addCraftingRecipe( + new MTELESU(LESU.ID, "LESU", "L.E.S.U.").getStackForm(1L), + RecipeLoader.BITSD, + new Object[] { "CDC", "SBS", "CFC", 'C', "circuitAdvanced", 'D', ItemList.Cover_Screen.get(1L), 'S', + GTOreDictUnificator.get(OrePrefixes.cableGt12, Materials.Platinum, 1L), 'B', + new ItemStack(ItemRegistry.BW_BLOCKS[1]), 'F', ItemList.Field_Generator_HV.get(1L) }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.ROCKCUTTER_MV), + RecipeLoader.BITSD, + new Object[] { "DS ", "DP ", "DCB", 'D', GTOreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), + 'S', GTOreDictUnificator.get(OrePrefixes.stick, Materials.TungstenSteel, 1L), 'P', + GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 1L), 'C', "circuitGood", 'B', + ItemList.IC2_AdvBattery.get(1L) }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.ROCKCUTTER_LV), + RecipeLoader.BITSD, + new Object[] { "DS ", "DP ", "DCB", 'D', GTOreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), + 'S', GTOreDictUnificator.get(OrePrefixes.stick, Materials.Titanium, 1L), 'P', + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1L), 'C', "circuitBasic", 'B', + ItemList.IC2_ReBattery.get(1L) }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.ROCKCUTTER_HV), + RecipeLoader.BITSD, + new Object[] { "DS ", "DP ", "DCB", 'D', GTOreDictUnificator.get(OrePrefixes.dust, Materials.Diamond, 1L), + 'S', GTOreDictUnificator.get(OrePrefixes.stick, Materials.Iridium, 1L), 'P', + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 1L), 'C', "circuitAdvanced", 'B', + ItemList.IC2_EnergyCrystal.get(1L) }); + + if (ConfigHandler.teslastaff) { + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.TESLASTAFF), + RecipeLoader.BITSD, + new Object[] { "BO ", "OP ", " P", 'O', + GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUHV, 1L), 'B', + ItemList.Energy_LapotronicOrb.get(1L), 'P', "plateAlloyIridium", }); + } + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.PUMPPARTS, 1, 0), // tube + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " fG", " G ", "G ", 'G', ItemList.Circuit_Parts_Glass_Tube.get(1L) }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.PUMPPARTS, 1, 1), // motor + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "GLP", "LSd", "PfT", 'G', + GTOreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Steel, 1L), 'L', + GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Steel, 1L), 'S', + GTOreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 1L), 'P', new ItemStack(Blocks.piston), 'T', + new ItemStack(ItemRegistry.PUMPPARTS, 1, 0) }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.PUMPBLOCK, 1, 0), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "IPI", "PMP", "ISI", 'I', GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), + 'P', GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Wood, 1L), 'M', + new ItemStack(ItemRegistry.PUMPPARTS, 1, 1), 'S', Ic2Items.ironFurnace }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.WINDMETER), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "SWF", "Sf ", "Ss ", 'S', "stickWood", 'W', new ItemStack(Blocks.wool, 1, Short.MAX_VALUE), + 'F', new ItemStack(Items.string), }); + + for (int i = 0; i < 3; i++) { + Materials cable = cables[i + 2]; + ItemStack machinehull = ItemList.MACHINE_HULLS[i + 2].get(1L); + GTModHandler.addCraftingRecipe( + ItemRegistry.acidGens[i], + RecipeLoader.BITSD, + new Object[] { "HRH", "HCH", "HKH", 'H', bats[i], 'K', + GTOreDictUnificator.get(OrePrefixes.cableGt01, cable, 1L), 'C', machinehull, 'R', chreac[i] }); + } + + GTModHandler.addCraftingRecipe( + ItemRegistry.acidGensLV, + RecipeLoader.BITSD, + new Object[] { "HRH", "KCK", "HKH", 'H', ItemList.Battery_Hull_LV.get(1L), 'K', + GTOreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 1L), 'C', ItemList.Hull_LV.get(1L), 'R', + ItemList.Machine_LV_ChemicalReactor.get(1L), }); + + for (int i = 0; i < 9; i++) { + try { + Materials cable = cables[i]; + ItemStack hull = hulls[i] instanceof Materials + ? GTOreDictUnificator.get(OrePrefixes.plate, hulls[i], 1L) + : ((Werkstoff) hulls[i]).get(OrePrefixes.plate); + ItemStack machinehull = ItemList.MACHINE_HULLS[i].get(1L); + + GTModHandler.addCraftingRecipe( + ItemRegistry.energyDistributor[i], + RecipeLoader.BITSD, + new Object[] { "PWP", "WCW", "PWP", 'W', GTOreDictUnificator.get(OrePrefixes.wireGt16, cable, 1L), + 'P', hull, 'C', machinehull }); + GTModHandler.addCraftingRecipe( + ItemRegistry.diode12A[i], + RecipeLoader.BITSD, + new Object[] { "WDW", "DCD", "PDP", 'D', OrePrefixes.componentCircuit.get(Materials.Diode), 'W', + GTOreDictUnificator.get(OrePrefixes.cableGt12, cable, 1L), 'P', hull, 'C', machinehull }); + GTModHandler.addCraftingRecipe( + ItemRegistry.diode8A[i], + RecipeLoader.BITSD, + new Object[] { "WDW", "DCD", "PDP", 'D', OrePrefixes.componentCircuit.get(Materials.Diode), 'W', + GTOreDictUnificator.get(OrePrefixes.cableGt08, cable, 1L), 'P', hull, 'C', machinehull }); + GTModHandler.addCraftingRecipe( + ItemRegistry.diode4A[i], + RecipeLoader.BITSD, + new Object[] { "WDW", "DCD", "PDP", 'D', OrePrefixes.componentCircuit.get(Materials.Diode), 'W', + GTOreDictUnificator.get(OrePrefixes.cableGt04, cable, 1L), 'P', hull, 'C', machinehull }); + GTModHandler.addCraftingRecipe( + ItemRegistry.diode2A[i], + RecipeLoader.BITSD, + new Object[] { "WDW", "DCD", "PDP", 'D', OrePrefixes.componentCircuit.get(Materials.Diode), 'W', + GTOreDictUnificator.get(OrePrefixes.cableGt02, cable, 1L), 'P', hull, 'C', machinehull }); + GTModHandler.addCraftingRecipe( + ItemRegistry.diode16A[i], + RecipeLoader.BITSD, + new Object[] { "WHW", "DCD", "PDP", 'H', OrePrefixes.componentCircuit.get(Materials.Inductor), 'D', + OrePrefixes.componentCircuit.get(Materials.Diode), 'W', + GTOreDictUnificator.get(OrePrefixes.wireGt16, cable, 1L), 'P', hull, 'C', machinehull }); + + } catch (ArrayIndexOutOfBoundsException ignored) { + + } + + } + + String[] stones = { "stone", "stoneSmooth" }; + String[] granites = { "blockGranite", "stoneGranite", "Granite", "granite" }; + for (String granite : granites) { + for (String stone : stones) { + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 0), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "SSS", "DfD", " h ", 'S', stone, 'D', + new ItemStack(GregTechAPI.sBlockGranites, 1, OreDictionary.WILDCARD_VALUE), }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 1), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "hDf", "SSS", 'S', stone, 'D', + new ItemStack(GregTechAPI.sBlockGranites, 1, OreDictionary.WILDCARD_VALUE), }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 0), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "SSS", "DfD", " h ", 'S', stone, 'D', granite, }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 1), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "hDf", "SSS", 'S', stone, 'D', granite, }); + } + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 2), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "STS", "h f", "SBS", 'S', granite, 'T', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 0), + 'B', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 1), }); + } + + GTModHandler.addCraftingRecipe( + new MTEManualTrafo(ManualTrafo.ID, "bw.manualtrafo", StatCollector.translateToLocal("tile.manutrafo.name")) + .getStackForm(1L), + RecipeLoader.BITSD, + new Object[] { "SCS", "CHC", "ZCZ", 'S', GTOreDictUnificator.get(OrePrefixes.screw, Materials.Titanium, 1L), + 'C', new ItemStack(ItemRegistry.BW_BLOCKS[2]), 'H', ItemList.Hull_HV.get(1L), 'Z', "circuitAdvanced" }); + + GTModHandler.addCraftingRecipe( + new MTEWindmill(Windmill.ID, "bw.windmill", StatCollector.translateToLocal("tile.bw.windmill.name")) + .getStackForm(1L), + RecipeLoader.BITSD, + new Object[] { "BHB", "WGW", "BWB", 'B', new ItemStack(Blocks.brick_block), 'W', + GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.Iron, 1L), 'H', new ItemStack(Blocks.hopper), 'G', + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 2), }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 2), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "STS", "h f", "SBS", 'S', + new ItemStack(GregTechAPI.sBlockGranites, 1, OreDictionary.WILDCARD_VALUE), 'T', + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 0), 'B', + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 1), }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 3), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "WLs", "WLh", "WLf", 'L', new ItemStack(Items.leather), 'W', "logWood", }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 4), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "WLs", "WLh", "WLf", 'L', new ItemStack(Blocks.carpet), 'W', "logWood", }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 5), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "WLs", "WLh", "WLf", 'L', new ItemStack(Items.paper), 'W', "logWood", }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 6), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "WEs", "WZh", "WDf", 'E', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 3), 'Z', + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 4), 'D', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 5), + 'W', "logWood", }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 6), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "WEs", "WZh", "WDf", 'Z', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 3), 'E', + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 4), 'D', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 5), + 'W', "logWood", }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 6), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "WEs", "WZh", "WDf", 'D', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 3), 'Z', + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 4), 'E', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 5), + 'W', "logWood", }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 6), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "WEs", "WZh", "WDf", 'E', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 3), 'D', + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 4), 'Z', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 5), + 'W', "logWood", }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 6), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "WEs", "WZh", "WDf", 'Z', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 3), 'D', + new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 4), 'E', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 5), + 'W', "logWood", }); + + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.LEATHER_ROTOR), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "hPf", "PWP", "sPr", 'P', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 3), 'W', + GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.Iron, 1L), }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.WOOL_ROTOR), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "hPf", "PWP", "sPr", 'P', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 4), 'W', + GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.Iron, 1L), }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.PAPER_ROTOR), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "hPf", "PWP", "sPr", 'P', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 5), 'W', + GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.Iron, 1L), }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.COMBINED_ROTOR), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "hPf", "PWP", "sPr", 'P', new ItemStack(ItemRegistry.CRAFTING_PARTS, 1, 6), 'W', + GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.Iron, 1L), }); + GTModHandler.addCraftingRecipe( + new ItemStack(ItemRegistry.ROTORBLOCK), + RecipeLoader.BITSD, + new Object[] { "WRW", "RGR", "WRW", 'R', GTOreDictUnificator.get(OrePrefixes.ring, Materials.Iron, 1L), 'W', + "plankWood", 'G', GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.Iron, 1L), }); + + GTModHandler.addCraftingRecipe( + ItemRegistry.THTR, + RecipeLoader.BITSD, + new Object[] { "BZB", "BRB", "BZB", 'B', new ItemStack(GregTechAPI.sBlockCasings3, 1, 12), 'R', + GTModHandler.getModItem(IndustrialCraft2.ID, "blockGenerator", 1, 5), 'Z', "circuitUltimate" }); + + GTModHandler.addCraftingRecipe( + ItemRegistry.HTGR, + RecipeLoader.BITSD, + new Object[] { "BZB", "BRB", "BZB", 'B', new ItemStack(GregTechAPI.sBlockCasings8, 1, 5), 'R', + GTModHandler.getModItem(IndustrialCraft2.ID, "blockGenerator", 1, 5), 'Z', "circuitSuperconductor" }); + + // DNAExtractionModule + GTModHandler.addCraftingRecipe( + BioItemList.mBioLabParts[0], + RecipeLoader.BITSD, + new Object[] { "TET", "CFC", "TST", 'T', GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1L), + 'E', ItemList.Emitter_EV.get(1L), 'C', + GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Aluminium, 1L), 'S', + ItemList.Sensor_EV.get(1L), 'F', ItemList.Field_Generator_EV.get(1L) }); + + // PCRThermoclyclingModule + GTModHandler.addCraftingRecipe( + BioItemList.mBioLabParts[1], + RecipeLoader.BITSD, + new Object[] { "NEN", "CFC", "NSN", 'N', + GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Nichrome, 1L), 'E', ItemList.Emitter_EV.get(1L), + 'C', GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Aluminium, 1L), 'S', + ItemList.Sensor_EV.get(1L), 'F', ItemList.Field_Generator_EV.get(1L) }); + + // PlasmidSynthesisModule + GTModHandler.addCraftingRecipe( + BioItemList.mBioLabParts[2], + RecipeLoader.BITSD, + new Object[] { "SFE", "CPC", "NFN", 'N', + GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Nichrome, 1L), 'C', "circuit" + Materials.EV, + 'F', ItemList.Field_Generator_EV.get(1L), 'E', ItemList.Emitter_EV.get(1L), 'S', + ItemList.Sensor_EV.get(1L), 'P', GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1L), }); + // TransformationModule + GTModHandler.addCraftingRecipe( + BioItemList.mBioLabParts[3], + RecipeLoader.BITSD, + new Object[] { "SFE", "CPC", "NFN", 'N', + GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 1L), 'C', "circuit" + Materials.LuV, + 'F', ItemList.Field_Generator_LuV.get(1L), 'E', ItemList.Emitter_LuV.get(1L), 'S', + ItemList.Sensor_LuV.get(1L), 'P', WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.plate, 1), }); + + // ClonalCellularSynthesisModule + GTModHandler.addCraftingRecipe( + BioItemList.mBioLabParts[4], + RecipeLoader.BITSD, + new Object[] { "FEF", "CPC", "FSF", 'N', + GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 1L), 'C', "circuit" + Materials.LuV, + 'F', ItemList.Field_Generator_LuV.get(1L), 'E', ItemList.Emitter_LuV.get(1L), 'S', + ItemList.Sensor_LuV.get(1L), 'P', WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.plate, 1), }); + + GTModHandler.addCraftingRecipe( + new MTEBioVat(BioVat.ID, "bw.biovat", StatCollector.translateToLocal("tile.biovat.name")).getStackForm(1L), + RecipeLoader.BITSD, + new Object[] { "GCG", "KHK", "GCG", 'G', new ItemStack(ItemRegistry.bw_glasses[0], 1, 1), 'C', + "circuit" + Materials.EV, 'K', GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Silver, 1L), 'H', + ItemList.MACHINE_HULLS[3].get(1L) }); + + ItemStack[] Pistons2 = { ItemList.Electric_Piston_HV.get(1L), ItemList.Electric_Piston_EV.get(1L), + ItemList.Electric_Piston_IV.get(1L), ItemList.Electric_Piston_LuV.get(1L), + ItemList.Electric_Piston_ZPM.get(1L), ItemList.Electric_Piston_UV.get(1L) }; + ItemStack[] BioLab2 = new ItemStack[GTValues.VN.length - 3]; + ItemStack[] RadioHatch2 = new ItemStack[GTValues.VN.length - 3]; + Materials[] cables2 = { Materials.Gold, Materials.Aluminium, Materials.Tungsten, Materials.VanadiumGallium, + Materials.Naquadah, Materials.NaquadahAlloy, Materials.SuperconductorUHV }; + Materials[] hulls2 = { Materials.StainlessSteel, Materials.Titanium, Materials.TungstenSteel, Materials.Chrome, + Materials.Iridium, Materials.Osmium, Materials.Naquadah }; + Materials[] wireMat2 = { Materials.Kanthal, Materials.Nichrome, Materials.TungstenSteel, Materials.Naquadah, + Materials.NaquadahAlloy, Materials.SuperconductorUHV }; + Materials[] circuits2 = { Materials.HV, Materials.EV, Materials.IV, Materials.LuV, Materials.ZPM, + Materials.UV }; + + int[] BioLab = new int[] { BioLab_HV.ID, BioLab_EV.ID, BioLab_IV.ID, BioLab_LuV.ID, BioLab_ZPM.ID, BioLab_UV.ID, + BioLab_UHV.ID, BioLab_UEV.ID, BioLab_UIV.ID, BioLab_UMV.ID, BioLab_UXV.ID, BioLab_MAX.ID }; + int[] RadioHatch = new int[] { RadioHatch_HV.ID, RadioHatch_EV.ID, RadioHatch_IV.ID, RadioHatch_LuV.ID, + RadioHatch_ZPM.ID, RadioHatch_UV.ID, RadioHatch_UHV.ID, RadioHatch_UEV.ID, RadioHatch_UIV.ID, + RadioHatch_UMV.ID, RadioHatch_UXV.ID, RadioHatch_MAX.ID }; + + for (int i = 3; i < GTValues.VN.length - 1; i++) { + BioLab2[i - 3] = new MTEBioLab( + BioLab[i - 3], + "bw.biolab" + GTValues.VN[i], + GTValues.VN[i] + " " + StatCollector.translateToLocal("tile.biolab.name"), + i).getStackForm(1L); + RadioHatch2[i - 3] = new GT_MetaTileEntity_RadioHatch( + RadioHatch[i - 3], + "bw.radiohatch" + GTValues.VN[i], + GTValues.VN[i] + " " + StatCollector.translateToLocal("tile.radiohatch.name"), + i).getStackForm(1L); + try { + ItemStack machinehull = ItemList.MACHINE_HULLS[i].get(1L); + GTModHandler.addCraftingRecipe( + BioLab2[i - 3], + RecipeLoader.BITSD, + new Object[] { "PFP", "WCW", "OGO", 'F', + GTOreDictUnificator.get(OrePrefixes.frameGt, hulls2[i - 3], 1L), 'W', + GTOreDictUnificator.get(OrePrefixes.wireGt01, wireMat2[i - 3], 1L), 'P', + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Polytetrafluoroethylene, 1L), 'O', + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Polystyrene, 1L), 'G', + "circuit" + circuits2[i - 3], 'C', machinehull }); + GTModHandler.addCraftingRecipe( + RadioHatch2[i - 3], + RecipeLoader.BITSD, + new Object[] { "DPD", "DCD", "DKD", 'D', + GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Lead, 1L), 'C', machinehull, 'K', + GTOreDictUnificator.get(OrePrefixes.cableGt08, cables2[i - 3], 1L), 'P', Pistons2[i - 3] }); + } catch (ArrayIndexOutOfBoundsException ignored) { + + } + } + + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/Electrolyzer.java b/src/main/java/bartworks/common/loaders/recipes/Electrolyzer.java new file mode 100644 index 0000000000..26653743fc --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/Electrolyzer.java @@ -0,0 +1,151 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; + +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTOreDictUnificator; + +public class Electrolyzer implements Runnable { + + // TODO: fix the chemical balance issues there are below + @Override + public void run() { + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Forsterit.get(OrePrefixes.dust, 7)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 2L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1L)) + .fluidOutputs(Materials.Oxygen.getGas(2000L)) + .duration(10 * SECONDS) + .eut(90) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.RedZircon.get(OrePrefixes.dust, 6)) + .itemOutputs( + WerkstoffLoader.Zirconium.get(OrePrefixes.dust, 1), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1L)) + .fluidOutputs(Materials.Oxygen.getGas(2000L)) + .duration(12 * SECONDS + 10 * TICKS) + .eut(90) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Fayalit.get(OrePrefixes.dust, 7)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 2L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 1L)) + .fluidOutputs(Materials.Oxygen.getGas(2000L)) + .duration(16 * SECONDS) + .eut(90) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Prasiolite.get(OrePrefixes.dust, 16)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 5L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L)) + .duration(29 * SECONDS) + .eut(90) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Hedenbergit.get(OrePrefixes.dust, 10)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 2L)) + .fluidOutputs(Materials.Oxygen.getGas(2000L)) + .duration(15 * SECONDS) + .eut(90) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.FuchsitAL.get(OrePrefixes.dust, 21), ItemList.Cell_Empty.get(2)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Potassium, 1L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 3L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3L), + GTOreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2)) + .fluidOutputs(Materials.Oxygen.getGas(2000L)) + .duration(19 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.FuchsitCR.get(OrePrefixes.dust, 21), ItemList.Cell_Empty.get(2)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Potassium, 1L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 3L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3L), + GTOreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 2)) + .fluidOutputs(Materials.Oxygen.getGas(2000L)) + .duration(23 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.VanadioOxyDravit.get(OrePrefixes.dust, 53), ItemList.Cell_Empty.get(3)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 3L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Magnalium, 6L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 6), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Boron, 3), + GTOreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 3)) + .fluidOutputs(Materials.Oxygen.getGas(19000L)) + .duration(35 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.ChromoAluminoPovondrait.get(OrePrefixes.dust, 53), ItemList.Cell_Empty.get(3)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Chrome, 3L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Magnalium, 6L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 6), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Boron, 3), + GTOreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 3)) + .fluidOutputs(Materials.Oxygen.getGas(19000L)) + .duration(36 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.FluorBuergerit.get(OrePrefixes.dust, 50), ItemList.Cell_Empty.get(3)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 3L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 6L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 6), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Boron, 3), + GTOreDictUnificator.get(OrePrefixes.cell, Materials.Fluorine, 3)) + .fluidOutputs(Materials.Oxygen.getGas(6000L)) + .duration(36 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.Olenit.get(OrePrefixes.dust, 51), ItemList.Cell_Empty.get(1)) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 9L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 6L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Boron, 3), + GTOreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1)) + .fluidOutputs(Materials.Oxygen.getGas(1000L)) + .duration(39 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(electrolyzerRecipes); + + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/Extractor.java b/src/main/java/bartworks/common/loaders/recipes/Extractor.java new file mode 100644 index 0000000000..1e99259b3f --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/Extractor.java @@ -0,0 +1,44 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.enums.Mods.CropLoadCore; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; + +import bartworks.common.loaders.BioItemList; +import bartworks.util.BWUtil; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.TierEU; + +public class Extractor implements Runnable { + + @Override + public void run() { + List<ItemStack> oreCropVine = OreDictionary.getOres("cropVine", false); + if (CropLoadCore.isModLoaded() && !oreCropVine.isEmpty()) { + for (ItemStack stack : oreCropVine) { + + GTValues.RA.stdBuilder() + .itemInputs(BWUtil.setStackSize(stack, 12)) + .itemOutputs(BioItemList.getOther(1)) + .duration(25 * SECONDS) + .eut((int) TierEU.RECIPE_HV) + .addTo(extractorRecipes); + + } + } + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Circuit_Chip_Stemcell.get(1L)) + .itemOutputs(BioItemList.getOther(4)) + .duration(25 * SECONDS) + .eut((int) TierEU.RECIPE_LuV) + .addTo(extractorRecipes); + + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/FakeRecipes.java b/src/main/java/bartworks/common/loaders/recipes/FakeRecipes.java new file mode 100644 index 0000000000..372100c187 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/FakeRecipes.java @@ -0,0 +1,11 @@ +package bartworks.common.loaders.recipes; + +import bartworks.common.tileentities.multis.MTEHighTempGasCooledReactor; + +public class FakeRecipes implements Runnable { + + @Override + public void run() { + MTEHighTempGasCooledReactor.HTGRMaterials.register_fake_THR_Recipes(); + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/FluidHeater.java b/src/main/java/bartworks/common/loaders/recipes/FluidHeater.java new file mode 100644 index 0000000000..cc8e3cb64a --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/FluidHeater.java @@ -0,0 +1,26 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; + +import net.minecraftforge.fluids.FluidStack; + +import bartworks.common.loaders.FluidLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTUtility; + +public class FluidHeater implements Runnable { + + @Override + public void run() { + GTValues.RA.stdBuilder() + .itemInputs(GTUtility.getIntegratedCircuit(10)) + .fluidInputs(new FluidStack(FluidLoader.fulvicAcid, 1000)) + .fluidOutputs(new FluidStack(FluidLoader.heatedfulvicAcid, 1000)) + .duration(4 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(fluidHeaterRecipes); + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/FluidSolidifier.java b/src/main/java/bartworks/common/loaders/recipes/FluidSolidifier.java new file mode 100644 index 0000000000..22ed73dae2 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/FluidSolidifier.java @@ -0,0 +1,102 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; + +import bartworks.common.loaders.ItemRegistry; +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.TierEU; + +public class FluidSolidifier implements Runnable { + + @Override + public void run() { + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.lapis_block)) + .itemOutputs(new ItemStack(ItemRegistry.BW_BLOCKS[0], 1, 0)) + .fluidInputs(Materials.Iron.getMolten(1296L)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 1)) + .fluidInputs(Materials.Titanium.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 2)) + .fluidInputs(Materials.TungstenSteel.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 3)) + .fluidInputs(WerkstoffLoader.LuVTierMaterial.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 4)) + .fluidInputs(Materials.Iridium.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 5)) + .fluidInputs(Materials.Osmium.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 13)) + .fluidInputs(Materials.Neutronium.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 14)) + .fluidInputs(Materials.CosmicNeutronium.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 15)) + .fluidInputs(Materials.Infinity.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 0)) + .itemOutputs(new ItemStack(ItemRegistry.bw_glasses[1], 1, 0)) + .fluidInputs(MaterialsUEVplus.TranscendentMetal.getMolten(1152)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(fluidSolidifierRecipes); + + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/FormingPress.java b/src/main/java/bartworks/common/loaders/recipes/FormingPress.java new file mode 100644 index 0000000000..447f77e7df --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/FormingPress.java @@ -0,0 +1,76 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.formingPressRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import net.minecraft.item.ItemStack; + +import bartworks.common.tileentities.multis.MTEHighTempGasCooledReactor; +import bartworks.common.tileentities.multis.MTEThoriumHighTempReactor; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; + +public class FormingPress implements Runnable { + + @Override + public void run() { + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials), + Materials.Graphite.getDust(64)) + .itemOutputs(new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 1, 1)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(formingPressRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 1, 1), + Materials.Silicon.getDust(64)) + .itemOutputs(new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 1, 2)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(formingPressRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 1, 2), + Materials.Graphite.getDust(64)) + .itemOutputs(new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials, 1, 3)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(formingPressRecipes); + + int i = 0; + for (MTEHighTempGasCooledReactor.HTGRMaterials.Fuel_ fuel : MTEHighTempGasCooledReactor.HTGRMaterials.sHTGR_Fuel) { + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i), + Materials.Carbon.getDust(64)) + .itemOutputs(new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i + 1)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(formingPressRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i + 1), + Materials.Silicon.getDust(64)) + .itemOutputs(new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i + 2)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(formingPressRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i + 2), + Materials.Graphite.getDust(64)) + .itemOutputs(new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i + 3)) + .duration(2 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(formingPressRecipes); + i += MTEHighTempGasCooledReactor.HTGRMaterials.MATERIALS_PER_FUEL; + } + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/LaserEngraver.java b/src/main/java/bartworks/common/loaders/recipes/LaserEngraver.java new file mode 100644 index 0000000000..1983232704 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/LaserEngraver.java @@ -0,0 +1,27 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import bartworks.common.loaders.BioItemList; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTUtility; + +public class LaserEngraver implements Runnable { + + @Override + public void run() { + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(Items.emerald), GTUtility.getIntegratedCircuit(17)) + .itemOutputs(BioItemList.getPlasmidCell(null)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(laserEngraverRecipes); + + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/Mixer.java b/src/main/java/bartworks/common/loaders/recipes/Mixer.java new file mode 100644 index 0000000000..6f15c3773f --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/Mixer.java @@ -0,0 +1,62 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.enums.Mods.Gendustry; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import bartworks.common.loaders.FluidLoader; +import bartworks.common.tileentities.multis.MTEHighTempGasCooledReactor; +import bartworks.common.tileentities.multis.MTEThoriumHighTempReactor; +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTUtility; + +public class Mixer implements Runnable { + + @Override + public void run() { + GTValues.RA.stdBuilder() + .itemInputs( + WerkstoffLoader.Thorium232.get(OrePrefixes.dust, 10), + Materials.Uranium235.getDust(1), + GTUtility.getIntegratedCircuit(2)) + .itemOutputs(new ItemStack(MTEThoriumHighTempReactor.THTRMaterials.aTHTR_Materials)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(mixerRecipes); + + int i = 0; + for (MTEHighTempGasCooledReactor.HTGRMaterials.Fuel_ fuel : MTEHighTempGasCooledReactor.HTGRMaterials.sHTGR_Fuel) { + GTValues.RA.stdBuilder() + .itemInputs(fuel.mainItem, fuel.secondaryItem, GTUtility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(MTEHighTempGasCooledReactor.HTGRMaterials.aHTGR_Materials, 1, i)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(mixerRecipes); + + i += MTEHighTempGasCooledReactor.HTGRMaterials.MATERIALS_PER_FUEL; + } + + if (Gendustry.isModLoaded()) { + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(17), + GTOreDictUnificator.get(OrePrefixes.cell, Materials.Radon, 1L)) + .itemOutputs(Materials.Empty.getCells(1)) + .fluidInputs(FluidRegistry.getFluidStack("liquiddna", 1000)) + .fluidOutputs(new FluidStack(FluidLoader.BioLabFluidMaterials[0], 2000)) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(mixerRecipes); + } + + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/Pulverizer.java b/src/main/java/bartworks/common/loaders/recipes/Pulverizer.java new file mode 100644 index 0000000000..0d0bf316a6 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/Pulverizer.java @@ -0,0 +1,97 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; + +import net.minecraft.item.ItemStack; + +import bartworks.common.loaders.ItemRegistry; +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; + +public class Pulverizer implements Runnable { + + @Override + public void run() { + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 1)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9), Materials.Titanium.getDust(8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(maceratorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 2)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9), Materials.TungstenSteel.getDust(8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_IV) + .addTo(maceratorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 3)) + .itemOutputs( + Materials.BorosilicateGlass.getDust(9), + WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.dust, 8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_LuV) + .addTo(maceratorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 4)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9), Materials.Iridium.getDust(8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_ZPM) + .addTo(maceratorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 5)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9), Materials.Osmium.getDust(8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UV) + .addTo(maceratorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 13)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9), Materials.Neutronium.getDust(8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(maceratorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 14)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9), Materials.CosmicNeutronium.getDust(8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UEV) + .addTo(maceratorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, 15)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9), Materials.Infinity.getDust(8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(maceratorRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[1], 1, 0)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9), MaterialsUEVplus.TranscendentMetal.getDust(8)) + .duration(40 * SECONDS) + .eut(TierEU.RECIPE_UMV) + .addTo(maceratorRecipes); + + for (int i = 6; i < 11; i++) { + + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(ItemRegistry.bw_glasses[0], 1, i)) + .itemOutputs(Materials.BorosilicateGlass.getDust(9)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .addTo(maceratorRecipes); + + } + } +} diff --git a/src/main/java/bartworks/common/loaders/recipes/PyrolyseOven.java b/src/main/java/bartworks/common/loaders/recipes/PyrolyseOven.java new file mode 100644 index 0000000000..4e457ab021 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/recipes/PyrolyseOven.java @@ -0,0 +1,27 @@ +package bartworks.common.loaders.recipes; + +import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; + +import net.minecraftforge.fluids.FluidStack; + +import bartworks.common.loaders.FluidLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTUtility; + +public class PyrolyseOven implements Runnable { + + @Override + public void run() { + GTValues.RA.stdBuilder() + .itemInputs(GTUtility.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); + } +} |