aboutsummaryrefslogtreecommitdiff
path: root/goodgen/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-25 14:09:28 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-25 14:09:28 +0100
commita7e6e9fa443440063e2a0b9b7b017852d4e023ee (patch)
tree35a05b74d32420c6be83810ebafec8d88092d9a3 /goodgen/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java
parent13d47567b6b1103647e5a819e601b426911bb89d (diff)
parent84481c22d7d4e0834de97a150d257ce6e85ad690 (diff)
downloadGT5-Unofficial-a7e6e9fa443440063e2a0b9b7b017852d4e023ee.tar.gz
GT5-Unofficial-a7e6e9fa443440063e2a0b9b7b017852d4e023ee.tar.bz2
GT5-Unofficial-a7e6e9fa443440063e2a0b9b7b017852d4e023ee.zip
Merge in GoodGenerator with history
git-subtree-dir: goodgen git-subtree-mainline: 13d47567b6b1103647e5a819e601b426911bb89d git-subtree-split: 84481c22d7d4e0834de97a150d257ce6e85ad690
Diffstat (limited to 'goodgen/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java')
-rw-r--r--goodgen/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java503
1 files changed, 503 insertions, 0 deletions
diff --git a/goodgen/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java b/goodgen/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java
new file mode 100644
index 0000000000..f83712c7db
--- /dev/null
+++ b/goodgen/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java
@@ -0,0 +1,503 @@
+package goodgenerator.loader;
+
+import static goodgenerator.util.ItemRefer.Compassline_Casing_EV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_HV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_IV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_LV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_LuV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_MV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_UEV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_UHV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_UIV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_UMV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_UV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_UXV;
+import static goodgenerator.util.ItemRefer.Compassline_Casing_ZPM;
+import static goodgenerator.util.ItemRefer.Component_Assembly_Line;
+import static goodgenerator.util.Log.LOGGER;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.util.GT_RecipeBuilder.HOURS;
+import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.AssemblyLine;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM;
+import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME;
+
+import java.util.HashMap;
+
+import javax.annotation.Nullable;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import org.apache.logging.log4j.Level;
+
+import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
+import com.github.technus.tectech.recipe.TT_recipeAdder;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import goodgenerator.items.MyMaterial;
+import goodgenerator.util.StackUtils;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.MaterialsUEVplus;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.core.recipe.common.CI;
+
+public class ComponentAssemblyLineMiscRecipes {
+
+ public static final String[] circuitTierMaterials = { "Primitive", "Basic", "Good", "Advanced", "Data", "Elite",
+ "Master", "Ultimate", "Superconductor", "Infinite", "Bio", "Optical", "Piko", "Quantum" };
+
+ static final HashMap<String, Integer> NameToTier = new HashMap<>();
+
+ static void run() {
+ for (int i = 0; i < circuitTierMaterials.length; i++) NameToTier.put(circuitTierMaterials[i], i);
+ // Cry about it
+ NameToTier.put("Nano", 11);
+
+ generateCasingRecipes();
+ generateWrapRecipes();
+ // Try and find the ZPM Fluid solidifier
+ ItemStack solidifier;
+ try {
+ Class<?> c = Class.forName("com.dreammaster.gthandler.CustomItemList");
+ Object maybeSolidifier = c.getMethod("valueOf", String.class)
+ .invoke(null, "FluidSolidifierZPM");
+ solidifier = (ItemStack) (c.getMethod("get", long.class, Object[].class)
+ .invoke(maybeSolidifier, 16L, null));
+ if (GT_Utility.isStackValid(solidifier)) LOGGER.log(Level.INFO, "ZPM Fluid Solidifier found.");
+ else throw new NullPointerException();
+ } catch (Exception e) {
+ LOGGER.log(Level.ERROR, "ZPM Fluid Solidifier not found, falling back to IV.", e);
+ solidifier = ItemList.Machine_IV_FluidSolidifier.get(16);
+ }
+
+ // The controller itself
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, Compassline_Casing_EV.get(1))
+ .metadata(RESEARCH_TIME, 1 * HOURS)
+ .itemInputs(
+ ItemList.Machine_Multi_Assemblyline.get(16L),
+ ItemList.Casing_Assembler.get(16L),
+ ItemList.Casing_Gearbox_TungstenSteel.get(32L),
+ ComponentType.Robot_Arm.getComponent(8)
+ .get(16),
+ ComponentType.Conveyor_Module.getComponent(8)
+ .get(32),
+ ComponentType.Electric_Motor.getComponent(7)
+ .get(32),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Polybenzimidazole, 16),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Iridium, 32),
+ solidifier,
+ getALCircuit(8, 16),
+ getALCircuit(7, 20),
+ getALCircuit(6, 24))
+ .fluidInputs(
+ new FluidStack(FluidRegistry.getFluid("molten.indalloy140"), 144 * 12),
+ Materials.Naquadria.getMolten(144 * 16),
+ Materials.Lubricant.getFluid(5000))
+ .itemOutputs(Component_Assembly_Line.get(1))
+ .eut(TierEU.RECIPE_UHV / 2)
+ .duration(30 * SECONDS)
+ .addTo(AssemblyLine);
+ }
+
+ /** Recipes for the Component Assembly Line Casings */
+ private static void generateCasingRecipes() {
+ int t = 1;
+ // lv 1
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Steel, 4),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(4),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(10),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Steel, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tin, 6),
+ getCircuit(t, 16))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1)))
+ .itemOutputs(Compassline_Casing_LV.get(1))
+ .duration(16 * SECONDS)
+ .eut(GT_Values.VP[t])
+ .addTo(assemblerRecipes);
+ // mv 2
+ t++;
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Aluminium, 4),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(4),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(10),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Aluminium, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.AnyCopper, 6),
+ getCircuit(t, 8),
+ getCircuit(t - 1, 16))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1)))
+ .itemOutputs(Compassline_Casing_MV.get(1))
+ .duration(16 * SECONDS)
+ .eut(GT_Values.VP[t])
+ .addTo(assemblerRecipes);
+ // hv 3
+ t++;
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.StainlessSteel, 4),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(4),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(10),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.StainlessSteel, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Gold, 6),
+ getCircuit(t, 8),
+ getCircuit(t - 1, 16))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1)))
+ .itemOutputs(Compassline_Casing_HV.get(1))
+ .duration(16 * SECONDS)
+ .eut(GT_Values.VP[t])
+ .addTo(assemblerRecipes);
+ // ev 4
+ t++;
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Titanium, 4),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(4),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(10),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Titanium, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Aluminium, 6),
+ getCircuit(t, 8),
+ getCircuit(t - 1, 16))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1)))
+ .itemOutputs(Compassline_Casing_EV.get(1))
+ .duration(16 * SECONDS)
+ .eut(GT_Values.VP[t])
+ .addTo(assemblerRecipes);
+ // iv 5
+ t++;
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TungstenSteel, 4),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(4),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(10),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.TungstenSteel, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 6),
+ getCircuit(t, 8),
+ getCircuit(t - 1, 16))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144 * (t + 1)))
+ .itemOutputs(Compassline_Casing_IV.get(1))
+ .duration(16 * SECONDS)
+ .eut(GT_Values.VP[t])
+ .addTo(assemblerRecipes);
+
+ Fluid sold = FluidRegistry.getFluid("molten.indalloy140");
+ // Assline Recipes!
+ // luv 6
+ t++;
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, Compassline_Casing_IV.get(1))
+ .metadata(RESEARCH_TIME, (2250 << t) * TICKS)
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Europium, 1),
+ WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.plateDense, 6),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(10),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(16),
+ WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.gearGt, 4),
+ WerkstoffLoader.LuVTierMaterial.get(OrePrefixes.gearGtSmall, 16),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.VanadiumGallium, 8),
+ getALCircuit(t, 8),
+ getALCircuit(t - 1, 16))
+ .fluidInputs(
+ new FluidStack(sold, 144 * t * 4),
+ CI.getTieredFluid(t, 144 * t * 2),
+ StackUtils.getTieredFluid(t, 144 * t),
+ Materials.Lubricant.getFluid(1000 * (t - 2)))
+ .itemOutputs(Compassline_Casing_LuV.get(1))
+ .eut(TierEU.RECIPE_IV)
+ .duration(30 * SECONDS)
+ .addTo(AssemblyLine);
+ // zpm 7
+ t++;
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, Compassline_Casing_LuV.get(1))
+ .metadata(RESEARCH_TIME, (2250 << t) * TICKS)
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Iridium, 6),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(10),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(16),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Iridium, 4),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Iridium, 16),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Naquadah, 8),
+ getALCircuit(t, 8),
+ getALCircuit(t - 1, 16))
+ .fluidInputs(
+ new FluidStack(sold, 144 * t * 4),
+ CI.getTieredFluid(t, 144 * t * 2),
+ StackUtils.getTieredFluid(t, 144 * t),
+ Materials.Lubricant.getFluid(1000 * (t - 2)))
+ .itemOutputs(Compassline_Casing_ZPM.get(1))
+ .eut(TierEU.RECIPE_LuV)
+ .duration(30 * SECONDS)
+ .addTo(AssemblyLine);
+ // uv 8
+ t++;
+
+ GT_Values.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, Compassline_Casing_ZPM.get(1))
+ .metadata(RESEARCH_TIME, (2250 << t) * TICKS)
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Osmium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmium, 6),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(10),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(16),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Osmium, 4),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Osmium, 16),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NaquadahAlloy, 8),
+ getALCircuit(t, 8),
+ getALCircuit(t - 1, 16))
+ .fluidInputs(
+ new FluidStack(sold, 144 * t * 4),
+ CI.getTieredFluid(t, 144 * t * 2),
+ StackUtils.getTieredFluid(t, 144 * t),
+ Materials.Lubricant.getFluid(1000 * (t - 2)))
+ .itemOutputs(Compassline_Casing_UV.get(1))
+ .eut(TierEU.RECIPE_ZPM)
+ .duration(30 * SECONDS)
+ .addTo(AssemblyLine);
+ // uhv 9
+ t++;
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ Compassline_Casing_UV.get(1),
+ 375 << (t - 2),
+ 1 << (t - 3),
+ (int) TierEU.RECIPE_UV,
+ 1,
+ new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.CosmicNeutronium, 6),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(10),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(16),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.CosmicNeutronium, 4),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 16),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 8), getALCircuit(t, 8),
+ getALCircuit(t - 1, 16) },
+ new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2),
+ StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) },
+ Compassline_Casing_UHV.get(1),
+ 50 * SECONDS,
+ (int) TierEU.RECIPE_UV);
+ sold = FluidRegistry.getFluid("molten.mutatedlivingsolder");
+ // uev 10
+ t++;
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ Compassline_Casing_UHV.get(1),
+ 375 << (t - 2),
+ 1 << (t - 3),
+ (int) TierEU.RECIPE_UHV,
+ 1,
+ new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 6),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(10),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(16),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, Materials.Infinity, 4),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Infinity, 16),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8), getALCircuit(t, 8),
+ getALCircuit(t - 1, 16) },
+ new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2),
+ StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) },
+ Compassline_Casing_UEV.get(1),
+ 50 * SECONDS,
+ (int) TierEU.RECIPE_UHV);
+ // uiv 11
+ t++;
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ Compassline_Casing_UEV.get(1),
+ 375 << (t - 2),
+ 1 << (t - 3),
+ (int) TierEU.RECIPE_UEV,
+ 1,
+ new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.TranscendentMetal, 6),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(10),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(16),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.TranscendentMetal, 4),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.TranscendentMetal, 16),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8), getALCircuit(t, 8),
+ getALCircuit(t - 1, 16) },
+ new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2),
+ StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) },
+ Compassline_Casing_UIV.get(1),
+ 50 * SECONDS,
+ (int) TierEU.RECIPE_UEV);
+ // umv 12
+ t++;
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ Compassline_Casing_UIV.get(1),
+ 375 << (t - 2),
+ 1 << (t - 3),
+ (int) TierEU.RECIPE_UIV,
+ 1,
+ new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SpaceTime, 6),
+ ComponentType.Robot_Arm.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(10),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(16),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.SpaceTime, 4),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.SpaceTime, 16),
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8), getALCircuit(t, 8),
+ getALCircuit(t - 1, 16) },
+ new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t - 1, 144 * t * 2),
+ StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) },
+ Compassline_Casing_UMV.get(1),
+ 50 * 20,
+ (int) TierEU.RECIPE_UIV);
+ // uxv 13
+ t++;
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ Compassline_Casing_UMV.get(1),
+ 375 << (t - 2),
+ 1 << (t - 3),
+ (int) TierEU.RECIPE_UMV,
+ 1,
+ new Object[] {
+ GT_OreDictUnificator
+ .get(OrePrefixes.frameGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1),
+ GT_OreDictUnificator
+ .get(OrePrefixes.plateDense, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 3),
+ MyMaterial.shirabon.get(OrePrefixes.plateDense, 3), ComponentType.Robot_Arm.getComponent(t)
+ .get(8),
+ ComponentType.Electric_Piston.getComponent(t)
+ .get(10),
+ ComponentType.Electric_Motor.getComponent(t)
+ .get(16),
+ GT_OreDictUnificator
+ .get(OrePrefixes.gearGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2),
+ MyMaterial.shirabon.get(OrePrefixes.gearGt, 2),
+ GT_OreDictUnificator
+ .get(OrePrefixes.gearGtSmall, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8),
+ MyMaterial.shirabon.get(OrePrefixes.gearGtSmall, 8),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 4),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 4), getALCircuit(t, 8),
+ getALCircuit(t - 1, 16) },
+ new FluidStack[] { new FluidStack(sold, 144 * t * 4),
+ MaterialsUEVplus.BlackDwarfMatter.getMolten(144 * t * 2), MaterialsUEVplus.Eternity.getMolten(144 * t),
+ Materials.Lubricant.getFluid(1000 * (t - 2)) },
+ Compassline_Casing_UXV.get(1),
+ 50 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ private static void generateWrapRecipes() {
+ for (int i = 0; i <= 11; i++) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(getCircuit(i, 16), GT_Utility.getIntegratedCircuit(16))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(72L))
+ .itemOutputs(new ItemStack(Loaders.circuitWrap, 1, i))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ }
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GameRegistry.findItemStack("dreamcraft", "item.PikoCircuit", 16),
+ GT_Utility.getIntegratedCircuit(16))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(72L))
+ .itemOutputs(new ItemStack(Loaders.circuitWrap, 1, 12))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GameRegistry.findItemStack("dreamcraft", "item.QuantumCircuit", 16),
+ GT_Utility.getIntegratedCircuit(16))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(72L))
+ .itemOutputs(new ItemStack(Loaders.circuitWrap, 1, 13))
+ .duration(30 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ }
+
+ @SuppressWarnings("unused")
+ private enum ComponentType {
+
+ Electric_Motor,
+ Electric_Piston,
+ Robot_Arm,
+ Electric_Pump,
+ Field_Generator,
+ Conveyor_Module,
+ Emitter,
+ Sensor;
+
+ public ItemList getComponent(int tier) {
+ if (tier < 0 || tier > GT_Values.VN.length) throw new IllegalArgumentException("Tier is out of range!");
+ return ItemList.valueOf(this.name() + "_" + GT_Values.VN[tier]);
+ }
+ }
+
+ private static ItemStack getCircuit(int tier, long amount) {
+ return GT_OreDictUnificator.get(OrePrefixes.circuit, getCircuitMaterial(tier), amount);
+ }
+
+ private static Object[] getALCircuit(int tier, int amount) {
+ return new Object[] { OrePrefixes.circuit.get(getCircuitMaterial(tier)), amount };
+ }
+
+ @Nullable
+ public static Materials getCircuitMaterial(int tier) {
+ return Materials.getRealMaterial(circuitTierMaterials[tier]);
+ }
+}