From a3d06fc713f2dcfeced592a495a6b6b04ae621df Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Wed, 19 Feb 2025 14:14:20 -0600 Subject: [PATCH 1/2] Move matter manipulator recipes to coremod (#1205) --- dependencies.gradle | 3 +- .../com/dreammaster/scripts/ScriptLoader.java | 1 + .../scripts/ScriptMatterManipulator.java | 468 ++++++++++++++++++ 3 files changed, 471 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/dreammaster/scripts/ScriptMatterManipulator.java diff --git a/dependencies.gradle b/dependencies.gradle index c006d46d8..32c47c461 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,7 +1,7 @@ // Add your dependencies here dependencies { - api("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.142:dev") + api("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.146:dev") api("com.github.GTNewHorizons:Yamcl:0.7.0:dev") api("com.github.GTNewHorizons:Baubles:1.0.4:dev") @@ -24,6 +24,7 @@ dependencies { compileOnly("com.github.GTNewHorizons:amunra:0.8.1:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Galacticraft:3.3.4-GTNH:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:ForestryMC:4.10.2:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:MatterManipulator:0.0.21-GTNH:dev") { transitive = false } compileOnlyApi("com.github.GTNewHorizons:Mobs-Info:0.5.1-GTNH:dev") runtimeOnlyNonPublishable rfg.deobf("curse.maven:biomes-o-plenty-220318:2499612") diff --git a/src/main/java/com/dreammaster/scripts/ScriptLoader.java b/src/main/java/com/dreammaster/scripts/ScriptLoader.java index 18441b9e9..f6228da45 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptLoader.java +++ b/src/main/java/com/dreammaster/scripts/ScriptLoader.java @@ -85,6 +85,7 @@ public static void run() { new ScriptLogisticPipes(), new ScriptMagicBees(), new ScriptMalisDoors(), + new ScriptMatterManipulator(), new ScriptMechworks(), new ScriptMinecraft(), new ScriptNatura(), diff --git a/src/main/java/com/dreammaster/scripts/ScriptMatterManipulator.java b/src/main/java/com/dreammaster/scripts/ScriptMatterManipulator.java new file mode 100644 index 000000000..8509e2ea0 --- /dev/null +++ b/src/main/java/com/dreammaster/scripts/ScriptMatterManipulator.java @@ -0,0 +1,468 @@ +package com.dreammaster.scripts; + +import static gregtech.api.enums.GTValues.L; +import static gregtech.api.enums.Mods.AE2FluidCraft; +import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.EnderIO; +import static gregtech.api.enums.Mods.GraviSuite; +import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.enums.Mods.MatterManipulator; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.util.GTModHandler.getModItem; +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.SCANNING; + +import java.util.Arrays; +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import com.recursive_pineapple.matter_manipulator.common.items.MMItemList; + +import appeng.api.AEApi; +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.recipe.RecipeMaps; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTUtility; +import gregtech.api.util.recipe.Scanning; +import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.material.MaterialsAlloy; +import tectech.recipe.TTRecipeAdder; +import tectech.thing.CustomItemList; + +public class ScriptMatterManipulator implements IScriptLoader { + + @Override + public String getScriptName() { + return "Matter Manipulator"; + } + + @Override + public List getDependencies() { + return Arrays.asList(MatterManipulator.ID, Thaumcraft.ID, EnderIO.ID, GraviSuite.ID, AppliedEnergistics2.ID); + } + + @Override + public void loadRecipes() { + addMK0Recipes(); + addMK1Recipes(); + addMK2Recipes(); + addMK3Recipe(); + addUplinkRecipes(); + } + + private static void addMK0Recipes() { + // Power core MK0 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.StainlessSteel, 8), + getModItem(IndustrialCraft2.ID, "itemBatCrystal", 1), // energy crystal + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 12), + new Object[] { OrePrefixes.circuit.get(Materials.HV), 2 }, + GTOreDictUnificator.get(OrePrefixes.screw, Materials.StainlessSteel, 16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(L * 4)).itemOutputs(MMItemList.PowerCore0.get(1)) + .eut((int) TierEU.RECIPE_HV).duration(20 * SECONDS).addTo(RecipeMaps.assemblerRecipes); + + // Computer core MK0 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.StainlessSteel, 8), + new Object[] { OrePrefixes.circuit.get(Materials.IV), 2 }, + getModItem(EnderIO.ID, "blockEndermanSkull", 1, 2), // tormented enderman skull + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 12), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.StainlessSteel, 16)) + .fluidInputs(Materials.SolderingAlloy.getMolten(L * 8)).itemOutputs(MMItemList.ComputerCore0.get(1)) + .eut((int) TierEU.RECIPE_HV).duration(20 * SECONDS).addTo(RecipeMaps.circuitAssemblerRecipes); + + // Teleporter core MK0 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1), + ItemList.Emitter_HV.get(2), + getModItem(Thaumcraft.ID, "ItemResource", 1, 15), // primal charm + ItemList.QuantumEye.get(2), + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.Thaumium, 8), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.Thaumium, 16)) + .fluidInputs(FluidRegistry.getFluidStack("ender", 2000)).itemOutputs(MMItemList.TeleporterCore0.get(1)) + .eut((int) TierEU.RECIPE_HV).duration(20 * SECONDS).addTo(RecipeMaps.assemblerRecipes); + + // Frame MK0 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(10), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 16)) + .itemOutputs(MMItemList.Frame0.get(1)).eut((int) TierEU.RECIPE_HV).duration(20 * SECONDS) + .addTo(RecipeMaps.benderRecipes); + + // Lens MK0 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + GTOreDictUnificator.get(OrePrefixes.ring, Materials.StainlessSteel, 4), + getModItem(Thaumcraft.ID, "FocusTrade", 1), // equal trade focus + ItemList.Field_Generator_MV.get(1), + ItemList.Electric_Piston_HV.get(2), + ItemList.Electric_Motor_HV.get(2)) + .fluidInputs(Materials.SolderingAlloy.getMolten(L * 4)).itemOutputs(MMItemList.Lens0.get(1)) + .eut((int) TierEU.RECIPE_HV).duration(20 * SECONDS).addTo(RecipeMaps.assemblerRecipes); + + // Manipulator MK0 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + MMItemList.Lens0.get(1), + MMItemList.TeleporterCore0.get(1), + MMItemList.ComputerCore0.get(1), + MMItemList.PowerCore0.get(1), + MMItemList.Frame0.get(1)) + .fluidInputs(Materials.SolderingAlloy.getMolten(L * 8)).itemOutputs(MMItemList.MK0.get(1)) + .eut((int) TierEU.RECIPE_HV).duration(30 * SECONDS).addTo(RecipeMaps.assemblerRecipes); + + } + + private static void addMK1Recipes() { + // Power core MK1 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.TungstenSteel, 8), + ItemList.Energy_LapotronicOrb.get(1), + ItemList.Circuit_Chip_PIC.get(4), + GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorIV, 6), + new Object[] { OrePrefixes.circuit.get(Materials.IV), 2 }, + GTOreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 16)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 8))) + .itemOutputs(MMItemList.PowerCore1.get(1)).eut((int) TierEU.RECIPE_IV).duration(20 * SECONDS) + .addTo(RecipeMaps.assemblerRecipes); + + // Computer core MK1 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1), + new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 2 }, + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 12), + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.TungstenSteel, 8), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 16)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16))) + .itemOutputs(MMItemList.ComputerCore1.get(1)).eut((int) TierEU.RECIPE_IV).duration(20 * SECONDS) + .addTo(RecipeMaps.circuitAssemblerRecipes); + + // Teleporter core MK1 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Enderium, 1), + getModItem(IndustrialCraft2.ID, "blockMachine2", 1, 0), // teleporter + ItemList.Emitter_IV.get(2), + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.TungstenSteel, 8), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 16)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16))) + .itemOutputs(MMItemList.TeleporterCore1.get(1)).eut((int) TierEU.RECIPE_IV).duration(20 * SECONDS) + .addTo(RecipeMaps.assemblerRecipes); + + // Frame MK1 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(10), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 32)) + .itemOutputs(MMItemList.Frame1.get(1)).eut((int) TierEU.RECIPE_IV).duration(20 * SECONDS) + .addTo(RecipeMaps.benderRecipes); + + // Lens MK1 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + GTOreDictUnificator.get(OrePrefixes.lens, Materials.NetherStar, 2), + GTOreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 4), + ItemList.Field_Generator_IV.get(1), + ItemList.Electric_Piston_IV.get(2), + ItemList.Electric_Motor_IV.get(2)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 4))) + .itemOutputs(MMItemList.Lens1.get(1)).eut((int) TierEU.RECIPE_IV).duration(20 * SECONDS) + .addTo(RecipeMaps.assemblerRecipes); + + // Manipulator MK1 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + MMItemList.Lens1.get(1), + MMItemList.TeleporterCore1.get(1), + MMItemList.ComputerCore1.get(1), + MMItemList.PowerCore1.get(1), + MMItemList.Frame1.get(1), + MMItemList.AEDownlink.get(1)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16))) + .itemOutputs(MMItemList.MK1.get(1)).eut((int) TierEU.RECIPE_IV).duration(30 * SECONDS) + .addTo(RecipeMaps.assemblerRecipes); + } + + private static void addMK2Recipes() { + // Power core MK2 + GTValues.RA.stdBuilder().metadata(RESEARCH_ITEM, ItemList.Circuit_Chip_HPIC.get(1)) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.HSSS, 8), + ItemList.Energy_LapotronicOrb2.get(1), + ItemList.Circuit_Chip_HPIC.get(4), + GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorLuV, 6), + new Object[] { OrePrefixes.circuit.get(Materials.LuV), 2 }, + GTOreDictUnificator.get(OrePrefixes.screw, Materials.HSSS, 16)) + .fluidInputs( + MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 8)), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000)) + .itemOutputs(MMItemList.PowerCore2.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // Computer core MK2 + GTValues.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.HSSS, 1)) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.HSSS, 1), + new Object[] { OrePrefixes.circuit.get(Materials.UV), 2 }, + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 18), + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.HSSS, 8), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.HSSS, 16)) + .fluidInputs( + MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16)), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000)) + .itemOutputs(MMItemList.ComputerCore2.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // Teleporter core MK2 + GTValues.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Quantium, 1)) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Quantium, 1), + ItemList.Emitter_LuV.get(2), + ItemList.Field_Generator_LuV.get(1), + ItemList.QuantumStar.get(4), + getModItem(GraviSuite.ID, "itemSimpleItem", 4, 3), // gravitation engine + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.HSSS, 8), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.HSSS, 16)) + .fluidInputs( + MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16)), + Materials.Quantium.getMolten(L * 16), + Materials.Duranium.getMolten(L * 8), + new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000)) + .itemOutputs(MMItemList.TeleporterCore2.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // Frame MK2 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(10), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 48)) + .itemOutputs(MMItemList.Frame2.get(1)).eut((int) TierEU.RECIPE_LuV).duration(30 * SECONDS) + .addTo(RecipeMaps.benderRecipes); + + // Lens MK2 + GTValues.RA.stdBuilder().metadata(RESEARCH_ITEM, WerkstoffLoader.RedZircon.get(OrePrefixes.lens, 1)) + .metadata(SCANNING, new Scanning(1 * MINUTES, TierEU.RECIPE_LuV)) + .itemInputs( + WerkstoffLoader.RedZircon.get(OrePrefixes.lens, 2), + GTOreDictUnificator.get(OrePrefixes.ring, Materials.HSSS, 4), + ItemList.Field_Generator_LuV.get(1), + ItemList.Electric_Motor_LuV.get(2), + ItemList.Electric_Piston_LuV.get(2)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 4))) + .itemOutputs(MMItemList.Lens2.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_LuV) + .addTo(AssemblyLine); + + // Manipulator MK2 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + MMItemList.Lens2.get(1), + MMItemList.TeleporterCore2.get(1), + MMItemList.ComputerCore2.get(1), + MMItemList.PowerCore2.get(1), + MMItemList.Frame2.get(1), + MMItemList.AEDownlink.get(1)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16))) + .itemOutputs(MMItemList.MK2.get(1)).eut((int) TierEU.RECIPE_LuV).duration(30 * SECONDS) + .addTo(RecipeMaps.assemblerRecipes); + } + + private static void addMK3Recipe() { + // Power core MK3 + GTValues.RA.stdBuilder().metadata(RESEARCH_ITEM, ItemList.Circuit_Chip_UHPIC.get(1)) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_ZPM)) + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.NaquadahAlloy, 8), + ItemList.Energy_Module.get(1), + ItemList.Circuit_Chip_UHPIC.get(8), + GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 12), + new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 2 }, + GTOreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 16)) + .fluidInputs( + MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16)), + Materials.SuperCoolant.getFluid(32000)) + .itemOutputs(MMItemList.PowerCore3.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + + // Computer core MK3 + GTValues.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1)) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_ZPM)) + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1), + new Object[] { OrePrefixes.circuit.get(Materials.UV), 2 }, + GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 30), + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.NaquadahAlloy, 8), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.NaquadahAlloy, 16)) + .fluidInputs( + MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 32)), + Materials.SuperCoolant.getFluid(64000)) + .itemOutputs(MMItemList.ComputerCore3.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + + // Teleporter core MK3 + GTValues.RA.stdBuilder() + .metadata(RESEARCH_ITEM, GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.MysteriousCrystal, 1)) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_ZPM)) + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.MysteriousCrystal, 1), + ItemList.Emitter_ZPM.get(2), + ItemList.Field_Generator_ZPM.get(1), + ItemList.Gravistar.get(4), + new ItemStack(ModItems.itemStandarParticleBase, 16, 0), // gravitons + getModItem(GraviSuite.ID, "itemSimpleItem", 16, 3), // gravitation engine + GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.Trinium, 8), + GTOreDictUnificator.get(OrePrefixes.screw, Materials.Trinium, 16)) + .fluidInputs( + MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16)), + Materials.MysteriousCrystal.getMolten(L * 16), + Materials.Tritanium.getMolten(L * 16), + Materials.SuperCoolant.getFluid(32000)) + .itemOutputs(MMItemList.TeleporterCore3.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + + // Frame MK3 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(10), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.NaquadahAlloy, 64)) + .itemOutputs(MMItemList.Frame3.get(1)).eut((int) TierEU.RECIPE_ZPM).duration(30 * SECONDS) + .addTo(RecipeMaps.benderRecipes); + + // Lens MK3 + GTValues.RA.stdBuilder().metadata(RESEARCH_ITEM, WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.lens, 1)) + .metadata(SCANNING, new Scanning(2 * MINUTES, TierEU.RECIPE_ZPM)) + .itemInputs( + WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.lens, 2), + GTOreDictUnificator.get(OrePrefixes.ring, Materials.NaquadahAlloy, 4), + ItemList.Field_Generator_ZPM.get(1), + ItemList.Electric_Piston_ZPM.get(2), + ItemList.Electric_Motor_ZPM.get(2)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16))) + .itemOutputs(MMItemList.Lens3.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + + // ME Downlink + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + AEApi.instance().definitions().blocks().wireless().maybeStack(1).get(), + AEApi.instance().definitions().blocks().energyCell().maybeStack(1).get(), + AEApi.instance().definitions().materials().cell256kPart().maybeStack(1).get(), + getModItem(AE2FluidCraft.ID, "fluid_interface", 1), + ItemList.Conveyor_Module_IV.get(2), + ItemList.Electric_Pump_IV.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.IV), 1 }) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 8))) + .itemOutputs(MMItemList.AEDownlink.get(1)).eut((int) TierEU.RECIPE_IV).duration(20 * SECONDS) + .addTo(RecipeMaps.assemblerRecipes); + + // Quantum Downlink + GTValues.RA.stdBuilder() + .metadata(RESEARCH_ITEM, AEApi.instance().definitions().blocks().quantumRing().maybeStack(1).get()) + .metadata(SCANNING, new Scanning(4 * MINUTES, TierEU.RECIPE_LuV)) + .itemInputs( + AEApi.instance().definitions().blocks().quantumRing().maybeStack(8).get(), + AEApi.instance().definitions().blocks().quantumLink().maybeStack(1).get(), + AEApi.instance().definitions().blocks().controller().maybeStack(1).get(), + AEApi.instance().definitions().blocks().energyCellDense().maybeStack(1).get(), + AEApi.instance().definitions().materials().cell4096kPart().maybeStack(1).get(), + getModItem(AE2FluidCraft.ID, "fluid_interface", 1), + ItemList.Conveyor_Module_ZPM.get(2), + ItemList.Electric_Pump_ZPM.get(2), + new Object[] { OrePrefixes.circuit.get(Materials.UV), 4 }) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 32))) + .itemOutputs(MMItemList.QuantumDownlink.get(1)).duration(1 * MINUTES).eut((int) TierEU.RECIPE_ZPM) + .addTo(AssemblyLine); + + // Manipulator MK3 + GTValues.RA.stdBuilder() + .itemInputs( + GTUtility.getIntegratedCircuit(5), + MMItemList.Lens3.get(1), + MMItemList.TeleporterCore3.get(1), + MMItemList.ComputerCore3.get(1), + MMItemList.PowerCore3.get(1), + MMItemList.Frame3.get(1), + MMItemList.AEDownlink.get(1), + MMItemList.QuantumDownlink.get(1)) + .fluidInputs(MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 16))) + .itemOutputs(MMItemList.MK3.get(1)).eut((int) TierEU.RECIPE_ZPM).duration(30 * SECONDS) + .addTo(RecipeMaps.assemblerRecipes); + } + + private static void addUplinkRecipes() { + // Quantum Uplink ME Connector Hatch + TTRecipeAdder.addResearchableAssemblylineRecipe( + AEApi.instance().definitions().parts().patternTerminal().maybeStack(1).get(), + 80_000, + 32, + (int) TierEU.RECIPE_UV, + 2, + new Object[] { CustomItemList.dataIn_Hatch.get(1), + AEApi.instance().definitions().materials().cell16384kPart().maybeStack(1).get(), + getModItem(AE2FluidCraft.ID, "fluid_interface", 1), + AEApi.instance().definitions().parts().patternTerminal().maybeStack(1).get(), + ItemList.Robot_Arm_UV.get(1), + AEApi.instance().definitions().materials().blankPattern().maybeStack(64).get(), + new Object[] { OrePrefixes.circuit.get(Materials.UV), 4 } }, + new FluidStack[] { MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 32)), + Materials.Naquadria.getMolten(L * 16), }, + MMItemList.UplinkHatch.get(1), + 60 * SECONDS, + (int) TierEU.RECIPE_UV); + + // Matter Manipulator Quantum Uplink + TTRecipeAdder.addResearchableAssemblylineRecipe( + AEApi.instance().definitions().blocks().quantumLink().maybeStack(1).get(), + 160_000, + 32, + (int) TierEU.RECIPE_UV, + 4, + new Object[] { CustomItemList.Machine_Multi_DataBank.get(1), + AEApi.instance().definitions().blocks().controller().maybeStack(4).get(), + AEApi.instance().definitions().blocks().quantumRing().maybeStack(8).get(), + AEApi.instance().definitions().blocks().quantumLink().maybeStack(1).get(), + AEApi.instance().definitions().blocks().iOPort().maybeStack(1).get(), + AEApi.instance().definitions().materials().cardSuperSpeed().maybeStack(2).get(), + CustomItemList.dataOut_Hatch.get(1), CustomItemList.DATApipe.get(32), + new Object[] { OrePrefixes.circuit.get(Materials.UHV), 2 } }, + new FluidStack[] { MaterialsAlloy.INDALLOY_140.getFluidStack((int) (L * 64)), + Materials.Naquadria.getMolten(L * 32), }, + MMItemList.UplinkController.get(1), + 60 * SECONDS, + (int) TierEU.RECIPE_UV); + } +} From 9667d15a607e793d0c435a4514fe2c33a878e712 Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 20 Feb 2025 01:47:28 -0600 Subject: [PATCH 2/2] Reduce Obsidian Processing from 9 per block to 2 per block (#1206) Co-authored-by: Martin Robertz --- .../dreammaster/scripts/ScriptCoreMod.java | 64 ++++++++++++++++++- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java b/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java index c132b2595..2c53aa492 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java +++ b/src/main/java/com/dreammaster/scripts/ScriptCoreMod.java @@ -22,14 +22,21 @@ import static gregtech.api.enums.Mods.RemoteIO; import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.enums.Mods.TinkerConstruct; +import static gregtech.api.recipe.RecipeCategories.alloySmelterMolding; +import static gregtech.api.recipe.RecipeCategories.fluidExtractorRecycling; +import static gregtech.api.recipe.RecipeCategories.maceratorRecycling; +import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; import static gregtech.api.recipe.RecipeMaps.brewingRecipes; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; import static gregtech.api.recipe.RecipeMaps.cutterRecipes; import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.recipe.RecipeMaps.extruderRecipes; import static gregtech.api.recipe.RecipeMaps.fermentingRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes; import static gregtech.api.recipe.RecipeMaps.formingPressRecipes; import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; import static gregtech.api.recipe.RecipeMaps.latheRecipes; @@ -44,6 +51,7 @@ import java.util.List; import java.util.stream.Stream; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; @@ -1362,8 +1370,6 @@ public void loadRecipes() { GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 4L)) .itemOutputs(CustomItemList.BedrockiumIronPlate.get(1L)).duration(30 * SECONDS).eut(TierEU.RECIPE_UEV) .addTo(formingPressRecipes); - GTValues.RA.stdBuilder().itemInputs(getModItem(Minecraft.ID, "obsidian", 1, 0, missing)) - .itemOutputs(NHItemList.LongObsidianRod.getIS(4)).duration(32 * SECONDS).eut(16).addTo(latheRecipes); GTValues.RA.stdBuilder().itemInputs(getModItem(Minecraft.ID, "stone", 1, 0, missing)) .itemOutputs(NHItemList.LongStoneRod.getIS(4)).duration(16 * SECONDS).eut(16).addTo(latheRecipes); GTValues.RA.stdBuilder().itemInputs(getModItem(Minecraft.ID, "sandstone", 1, wildcard, missing)) @@ -1417,5 +1423,59 @@ public void loadRecipes() { .duration(15 * SECONDS).eut(2).addTo(maceratorRecipes); GTValues.RA.stdBuilder().itemInputs(getModItem(ProjectRedCore.ID, "projectred.core.part", 1, 55, missing)) .itemOutputs(NHItemList.ElectrotineWire.getIS(2)).duration(5 * SECONDS).eut(4).addTo(wiremillRecipes); + + // Obsidian Stuff + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(NHItemList.LongObsidianRod.getIS(2)).duration(32 * SECONDS).eut(16).addTo(latheRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plate, Materials.Obsidian, 2)) + .fluidInputs(Materials.Lubricant.getFluid(5)).duration(11 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(cutterRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plate, Materials.Obsidian, 2)) + .fluidInputs(Materials.Water.getFluid(20)).duration(22 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(cutterRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plate, Materials.Obsidian, 2)) + .fluidInputs(GTModHandler.getDistilledWater(15)).duration(22 * SECONDS).eut(TierEU.RECIPE_LV) + .addTo(cutterRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .fluidOutputs(Materials.Obsidian.getMolten(288)).duration(10 * SECONDS + 16 * TICKS).eut(35) + .recipeCategory(fluidExtractorRecycling).addTo(fluidExtractionRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2)) + .duration(9 * SECONDS + 18 * TICKS).eut(4).recipeCategory(maceratorRecycling).addTo(maceratorRecipes); + GTValues.RA.stdBuilder().itemInputs(new ItemStack(Blocks.obsidian), ItemList.Shape_Mold_Ingot.get(0)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Obsidian, 2)) + .duration(6 * SECONDS + 10 * TICKS).eut(3).recipeCategory(alloySmelterMolding) + .addTo(alloySmelterRecipes); + GTValues.RA.stdBuilder().itemInputs(GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Obsidian, 2)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(15 * SECONDS).eut(2).addTo(compressorRecipes); + GTValues.RA.stdBuilder().fluidInputs(Materials.Obsidian.getMolten(288)) + .itemInputs(ItemList.Shape_Mold_Block.get(0)).itemOutputs(new ItemStack(Blocks.obsidian)) + .duration(14 * SECONDS + 8 * TICKS).eut(8).addTo(fluidSolidifierRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2), + ItemList.Shape_Extruder_Block.get(0)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(10 * TICKS).eut(24).addTo(extruderRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Obsidian, 2), + ItemList.Shape_Extruder_Block.get(0)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(10 * TICKS).eut(24).addTo(extruderRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 2), + ItemList.Shape_Mold_Block.get(0)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(5 * TICKS).eut(12) + .recipeCategory(alloySmelterMolding).addTo(alloySmelterRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Obsidian, 2), + ItemList.Shape_Mold_Block.get(0)) + .itemOutputs(new ItemStack(Blocks.obsidian)).duration(5 * TICKS).eut(12) + .recipeCategory(alloySmelterMolding).addTo(alloySmelterRecipes); + } }