From b865be17245a0ef54d0f321bd80f55d84acc8738 Mon Sep 17 00:00:00 2001 From: DStrand1 Date: Thu, 1 Jul 2021 01:38:22 -0500 Subject: [PATCH] Add Polybenimidazole, refactor circuit recipe code --- .../api/unification/material/IMaterial.java | 15 + .../api/unification/material/Materials.java | 15 +- .../material/type/SimpleMaterial.java | 2 +- .../java/gregtech/common/ConfigHolder.java | 12 +- .../java/gregtech/common/items/MetaItem1.java | 7 + .../loaders/recipe/AssemblyLineLoader.java | 14 +- .../loaders/recipe/CircuitRecipes.java | 994 ++++++++++++++++++ .../loaders/recipe/MachineRecipeLoader.java | 286 +---- .../loaders/recipe/MetaTileEntityLoader.java | 10 +- .../recipe/chemistry/ChemistryRecipes.java | 1 + .../recipe/chemistry/DistillationRecipes.java | 50 +- .../recipe/chemistry/PolymerRecipes.java | 109 ++ .../recipe/chemistry/ReactorRecipes.java | 11 +- .../resources/assets/gregtech/lang/en_us.lang | 18 + 14 files changed, 1255 insertions(+), 289 deletions(-) create mode 100644 src/main/java/gregtech/loaders/recipe/CircuitRecipes.java create mode 100644 src/main/java/gregtech/loaders/recipe/chemistry/PolymerRecipes.java diff --git a/src/main/java/gregtech/api/unification/material/IMaterial.java b/src/main/java/gregtech/api/unification/material/IMaterial.java index 91a9a497ecb..b381f470fcd 100644 --- a/src/main/java/gregtech/api/unification/material/IMaterial.java +++ b/src/main/java/gregtech/api/unification/material/IMaterial.java @@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableList; import gregtech.api.unification.stack.MaterialStack; import gregtech.api.util.GTControlledRegistry; +import gregtech.api.util.SmallDigits; import net.minecraft.client.resources.I18n; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fml.relauncher.Side; @@ -63,6 +64,20 @@ static int getIntValueOfFlag(long value) { return index; } + // TODO Fix isotope tooltips being set toSmallDownNumbers + static String calculateChemicalFormula(String unformattedFormula) { + StringBuilder sb = new StringBuilder(); + if (unformattedFormula != null && !unformattedFormula.isEmpty()) { + for (char c : unformattedFormula.toCharArray()) { + if (Character.isDigit(c)) + sb.append(SmallDigits.toSmallDownNumbers(Character.toString(c))); + else + sb.append(c); + } + } + return sb.toString(); // returns "" if no formula, like other method + } + @Nullable FluidStack getFluid(int amount); } diff --git a/src/main/java/gregtech/api/unification/material/Materials.java b/src/main/java/gregtech/api/unification/material/Materials.java index c80c3dee3f7..d13d529d3f0 100644 --- a/src/main/java/gregtech/api/unification/material/Materials.java +++ b/src/main/java/gregtech/api/unification/material/Materials.java @@ -73,7 +73,7 @@ public static void register() { public static FluidMaterial Fluorine = new FluidMaterial(36, "fluorine", 0xFFFFFF, GAS, of(), STATE_GAS, Elements.get("Fluorine")).setFluidTemperature(253); public static IngotMaterial Francium = new IngotMaterial(37, "francium", 0xAAAAAA, SHINY, 2, of(), 0, Elements.get("Francium")); public static IngotMaterial Gadolinium = new IngotMaterial(38, "gadolinium", 0xDDDDFF, METALLIC, 2, of(), 0, Elements.get("Gadolinium"), 1585); - public static IngotMaterial Gallium = new IngotMaterial(39, "gallium", 0xDCDCFF, SHINY, 2, of(), GENERATE_PLATE, Elements.get("Gallium")); + public static IngotMaterial Gallium = new IngotMaterial(39, "gallium", 0xDCDCFF, SHINY, 2, of(), GENERATE_PLATE | GENERATE_FOIL, Elements.get("Gallium")); public static IngotMaterial Germanium = new IngotMaterial(40, "germanium", 0x434343, SHINY, 2, of(), 0, Elements.get("Germanium")); public static IngotMaterial Gold = new IngotMaterial(41, "gold", 0xFFFF1E, SHINY, 2, of(), EXT2_METAL | GENERATE_ORE | MORTAR_GRINDABLE | EXCLUDE_BLOCK_CRAFTING_BY_HAND_RECIPES, Elements.get("Gold")); public static IngotMaterial Hafnium = new IngotMaterial(42, "hafnium", 0x99999a, SHINY, 2, of(), 0, Elements.get("Hafnium")); @@ -138,7 +138,7 @@ public static void register() { public static IngotMaterial Sodium = new IngotMaterial(101, "sodium", 0x000096, METALLIC, 2, of(), STD_METAL, Elements.get("Sodium")); public static IngotMaterial Strontium = new IngotMaterial(102, "strontium", 0xC8C8C8, METALLIC, 2, of(), STD_METAL, Elements.get("Strontium")); public static DustMaterial Sulfur = new DustMaterial(103, "sulfur", 0xC8C800, DULL, 2, of(), NO_SMASHING | NO_SMELTING | FLAMMABLE | GENERATE_ORE, Elements.get("Sulfur")); - public static IngotMaterial Tantalum = new IngotMaterial(104, "tantalum", 0xFFFFFF, METALLIC, 2, of(), STD_METAL, Elements.get("Tantalum")); + public static IngotMaterial Tantalum = new IngotMaterial(104, "tantalum", 0xFFFFFF, METALLIC, 2, of(), STD_METAL | GENERATE_FOIL, Elements.get("Tantalum")); public static IngotMaterial Technetium = new IngotMaterial(105, "technetium", 0x545455, SHINY, 2, of(), 0, Elements.get("Technetium")); public static IngotMaterial Tellurium = new IngotMaterial(106, "tellurium", 0xFFFFFF, METALLIC, 2, of(), STD_METAL, Elements.get("Tellurium")); public static IngotMaterial Tennessine = new IngotMaterial(107, "tennessine" , 0x977fd6, SHINY, 2, of(), 0, Elements.get("Tennessine")); @@ -573,6 +573,17 @@ public static void register() { public static DustMaterial Wheat = new DustMaterial(353, "wheat", 0xFFFFC4, FINE, 0, of(), 0); public static DustMaterial Meat = new DustMaterial(354, "meat", 12667980, SAND, 1, of(), DISABLE_DECOMPOSITION); + // TODO Put these in good places, PBI Tools + public static final IngotMaterial Polybenzimidazole = new IngotMaterial(356, "polybenzimidazole", 0x2D2D2D, DULL, 0, of(new MaterialStack(Carbon, 20), new MaterialStack(Hydrogen, 12), new MaterialStack(Nitrogen, 4)), EXCLUDE_BLOCK_CRAFTING_RECIPES | SMELT_INTO_FLUID | NO_SMASHING | DISABLE_DECOMPOSITION | GENERATE_FOIL); + public static final SimpleFluidMaterial DiphenylIsophtalate = new SimpleFluidMaterial(122, "diphenyl_isophthalate", 0x246E57, DULL, of(new MaterialStack(Carbon, 20), new MaterialStack(Hydrogen, 14), new MaterialStack(Oxygen, 4)), DISABLE_DECOMPOSITION); + public static final SimpleFluidMaterial PhthalicAcid = new SimpleFluidMaterial(123, "phthalic_acid", 0xD1D1D1, FLUID, of(new MaterialStack(Carbon, 8), new MaterialStack(Hydrogen, 6), new MaterialStack(Oxygen, 4)), GENERATE_FLUID_BLOCK | DISABLE_DECOMPOSITION); + public static final SimpleFluidMaterial Dimethylbenzene = new SimpleFluidMaterial(124, "dimethylbenzene", 0x669C40, FLUID, of(new MaterialStack(Carbon, 8), new MaterialStack(Hydrogen, 10)), DISABLE_DECOMPOSITION).setFormula("C6H4(CH3)2"); + public static final SimpleFluidMaterial Diaminobenzidine = new SimpleFluidMaterial(125, "diaminobenzidine", 0x337D59, DULL, of(new MaterialStack(Carbon, 12), new MaterialStack(Hydrogen, 14), new MaterialStack(Nitrogen, 4)), DISABLE_DECOMPOSITION); + public static final SimpleFluidMaterial Dichlorobenzidine = new SimpleFluidMaterial(126, "dichlorobenzidine", 0xA1DEA6, DULL, of(new MaterialStack(Carbon, 12), new MaterialStack(Hydrogen, 10), new MaterialStack(Chlorine, 2), new MaterialStack(Nitrogen, 2)), DISABLE_DECOMPOSITION); + public static final SimpleFluidMaterial Nitrochlorobenzene = new SimpleFluidMaterial(127, "nitrochlorobenzene", 0x8FB51A, DULL, of(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 4), new MaterialStack(Chlorine, 1), new MaterialStack(Nitrogen, 1), new MaterialStack(Oxygen, 2)), DISABLE_DECOMPOSITION); + public static final SimpleFluidMaterial Chlorobenzene = new SimpleFluidMaterial(128, "chlorobenzene", 0x326A3E, DULL, of(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 5), new MaterialStack(Chlorine, 1)), DISABLE_DECOMPOSITION); + public static final SimpleDustMaterial PotassiumDichromate = new SimpleDustMaterial(845, "potassium_dichromate", 0xFF084E, DULL, of(new MaterialStack(Potassium, 2), new MaterialStack(Chrome, 2), new MaterialStack(Oxygen, 7)), GENERATE_SMALL_TINY); + public static final SimpleDustMaterial ChromiumTrioxide = new SimpleDustMaterial(848, "chromium_trioxide", 0xFFE4E1, DULL, of(new MaterialStack(Chrome, 1), new MaterialStack(Oxygen, 3)), GENERATE_SMALL_TINY); static { diff --git a/src/main/java/gregtech/api/unification/material/type/SimpleMaterial.java b/src/main/java/gregtech/api/unification/material/type/SimpleMaterial.java index 4a12fb9fe47..b278e4f1acc 100644 --- a/src/main/java/gregtech/api/unification/material/type/SimpleMaterial.java +++ b/src/main/java/gregtech/api/unification/material/type/SimpleMaterial.java @@ -37,7 +37,7 @@ private String calculateChemicalFormula() { } public T setFormula(String formula) { - this.chemicalFormula = formula; + this.chemicalFormula = IMaterial.calculateChemicalFormula(formula); return (T)this; } diff --git a/src/main/java/gregtech/common/ConfigHolder.java b/src/main/java/gregtech/common/ConfigHolder.java index e4359fceda5..aaa44018c02 100644 --- a/src/main/java/gregtech/common/ConfigHolder.java +++ b/src/main/java/gregtech/common/ConfigHolder.java @@ -57,9 +57,9 @@ public class ConfigHolder { @Config.Comment("Chance with which flint and steel will create fire. Default: 50") public static int flintChanceToCreateFire = 50; - @Config.Comment("Recipes for machine hulls use more materials. Default: false") + @Config.Comment("Recipes for machine hulls use more materials. Default: true") @Config.RequiresMcRestart - public static boolean harderMachineHulls = false; + public static boolean harderMachineHulls = true; @Config.Comment("If true, insufficient energy supply will reset recipe progress to zero. If false, progress will decrease to zero with 2x speed. Default: false") @Config.RequiresWorldRestart @@ -185,12 +185,11 @@ public static class UnofficialOptions { public static class GT5U { - @Config.Comment("Set these to true to enable certain Batteries.") - @Config.Name("Batteries - Enable an extra ZPM and UV Battery (this also makes the Ultimate Battery harder to make)") + @Config.Comment("Enable an extra ZPM and UV Battery (this also makes the Ultimate Battery harder to make). Default: false") @Config.RequiresMcRestart public boolean enableZPMandUVBats = false; - @Config.Name("Batteries - Replace the Ultimate Battery with a MAX Battery") + @Config.Comment("Replace the Ultimate Battery with a MAX Battery. Default: false") @Config.RequiresMcRestart public boolean replaceUVwithMAXBat = false; @@ -210,6 +209,9 @@ public static class GT5U { @Config.Comment("Change the recipe of rods to result in 1 stick and 2 small piles of dusts. Default: false") public boolean harderRods = false; + + @Config.Comment("Whether or not to use polymers instead of rare metals for Carbon Fibers. REMOVES THE CHANCED OUTPUT! Default: false") + public boolean polymerCarbonFiber = false; } public static class GT6 { diff --git a/src/main/java/gregtech/common/items/MetaItem1.java b/src/main/java/gregtech/common/items/MetaItem1.java index 338c4bd6e91..f602ca80907 100644 --- a/src/main/java/gregtech/common/items/MetaItem1.java +++ b/src/main/java/gregtech/common/items/MetaItem1.java @@ -301,6 +301,13 @@ public void registerRecipes() { .EUt(16) .buildAndRegister(); + RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(30).EUt(4) + .input(OrePrefix.dust, Materials.Tantalum) + .input(OrePrefix.foil, Materials.Manganese) + .fluidInputs(Materials.Polyethylene.getFluid(144)) + .outputs(MetaItems.BATTERY_RE_ULV_TANTALUM.getStackForm(8)) + .buildAndRegister(); + RecipeMaps.EXTRACTOR_RECIPES.recipeBuilder() .inputs(BATTERY_SU_LV_SULFURIC_ACID.getStackForm()) .outputs(BATTERY_HULL_LV.getStackForm()) diff --git a/src/main/java/gregtech/loaders/recipe/AssemblyLineLoader.java b/src/main/java/gregtech/loaders/recipe/AssemblyLineLoader.java index 2a2888ac5a7..cee77779af5 100644 --- a/src/main/java/gregtech/loaders/recipe/AssemblyLineLoader.java +++ b/src/main/java/gregtech/loaders/recipe/AssemblyLineLoader.java @@ -67,8 +67,8 @@ public static void init() { RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.ELECTRIC_MOTOR_UV.getStackForm(), OreDictUnifier.get(OrePrefix.plate, Materials.Neutronium, 2), OreDictUnifier.get(OrePrefix.pipeLarge, Materials.Ultimet, 2), OreDictUnifier.get(OrePrefix.screw, Materials.Neutronium, 8), OreDictUnifier.get(OrePrefix.ring, Materials.SiliconeRubber, 16), OreDictUnifier.get(OrePrefix.rotor, Materials.Neutronium, 2), OreDictUnifier.get(OrePrefix.cableGtQuadruple, Materials.NiobiumTitanium, 2)).fluidInputs(Materials.SolderingAlloy.getFluid(1296), Materials.Lubricant.getFluid(2000)).outputs(MetaItems.ELECTRIC_PUMP_UV.getStackForm()).duration(600).EUt(245760).buildAndRegister(); RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.ELECTRIC_MOTOR_LUV.getStackForm(2), OreDictUnifier.get(OrePrefix.plate, Materials.HSSG, 2), OreDictUnifier.get(OrePrefix.ring, Materials.HSSG, 4), OreDictUnifier.get(OrePrefix.round, Materials.HSSG, 32), OreDictUnifier.get(OrePrefix.cableGtSingle, Materials.YttriumBariumCuprate, 2)).fluidInputs(Materials.StyreneButadieneRubber.getFluid(1440), Materials.Lubricant.getFluid(250)).outputs(MetaItems.CONVEYOR_MODULE_LUV.getStackForm()).duration(600).EUt(15360).buildAndRegister(); - RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.ELECTRIC_MOTOR_ZPM.getStackForm(2), OreDictUnifier.get(OrePrefix.plate, Materials.HSSE, 2), OreDictUnifier.get(OrePrefix.ring, Materials.HSSE, 4), OreDictUnifier.get(OrePrefix.round, Materials.HSSE, 32), OreDictUnifier.get(OrePrefix.cableGtDouble, Materials.VanadiumGallium, 2)).fluidInputs(Materials.StyreneButadieneRubber.getFluid(2880), Materials.Lubricant.getFluid(750)).outputs(MetaItems.CONVEYOR_MODULE_ZPM.getStackForm()).duration(600).EUt(61440).buildAndRegister(); - RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.ELECTRIC_MOTOR_UV.getStackForm(2), OreDictUnifier.get(OrePrefix.plate, Materials.Neutronium, 2), OreDictUnifier.get(OrePrefix.ring, Materials.Neutronium, 4), OreDictUnifier.get(OrePrefix.round, Materials.Neutronium, 32), OreDictUnifier.get(OrePrefix.cableGtQuadruple, Materials.NiobiumTitanium, 2)).fluidInputs(Materials.StyreneButadieneRubber.getFluid(2880), Materials.Lubricant.getFluid(2000)).outputs(MetaItems.CONVEYOR_MODULE_UV.getStackForm()).duration(600).EUt(245760).buildAndRegister(); + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.ELECTRIC_MOTOR_ZPM.getStackForm(2), OreDictUnifier.get(OrePrefix.plate, Materials.HSSE, 2), OreDictUnifier.get(OrePrefix.ring, Materials.HSSE, 4), OreDictUnifier.get(OrePrefix.round, Materials.HSSE, 32), OreDictUnifier.get(OrePrefix.cableGtDouble, Materials.VanadiumGallium, 2)).fluidInputs(Materials.Polybenzimidazole.getFluid(1000), Materials.Lubricant.getFluid(750)).outputs(MetaItems.CONVEYOR_MODULE_ZPM.getStackForm()).duration(600).EUt(61440).buildAndRegister(); + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.ELECTRIC_MOTOR_UV.getStackForm(2), OreDictUnifier.get(OrePrefix.plate, Materials.Neutronium, 2), OreDictUnifier.get(OrePrefix.ring, Materials.Neutronium, 4), OreDictUnifier.get(OrePrefix.round, Materials.Neutronium, 32), OreDictUnifier.get(OrePrefix.cableGtQuadruple, Materials.NiobiumTitanium, 2)).fluidInputs(Materials.Polybenzimidazole.getFluid(1000), Materials.Lubricant.getFluid(2000)).outputs(MetaItems.CONVEYOR_MODULE_UV.getStackForm()).duration(600).EUt(245760).buildAndRegister(); RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.ELECTRIC_MOTOR_LUV.getStackForm(), OreDictUnifier.get(OrePrefix.plate, Materials.HSSG, 6), OreDictUnifier.get(OrePrefix.ring, Materials.HSSG, 4), OreDictUnifier.get(OrePrefix.round, Materials.HSSG, 32), OreDictUnifier.get(OrePrefix.stick, Materials.HSSG, 4), OreDictUnifier.get(OrePrefix.gear, Materials.HSSG), OreDictUnifier.get(OrePrefix.gearSmall, Materials.HSSG, 2), OreDictUnifier.get(OrePrefix.cableGtSingle, Materials.YttriumBariumCuprate, 4)).fluidInputs(Materials.SolderingAlloy.getFluid(144), Materials.Lubricant.getFluid(250)).outputs(MetaItems.ELECTRIC_PISTON_LUV.getStackForm()).duration(600).EUt(15360).buildAndRegister(); RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.ELECTRIC_MOTOR_ZPM.getStackForm(), OreDictUnifier.get(OrePrefix.plate, Materials.HSSE, 6), OreDictUnifier.get(OrePrefix.ring, Materials.HSSE, 4), OreDictUnifier.get(OrePrefix.round, Materials.HSSE, 32), OreDictUnifier.get(OrePrefix.stick, Materials.HSSE, 4), OreDictUnifier.get(OrePrefix.gear, Materials.HSSE), OreDictUnifier.get(OrePrefix.gearSmall, Materials.HSSE, 2), OreDictUnifier.get(OrePrefix.cableGtDouble, Materials.VanadiumGallium, 4)).fluidInputs(Materials.SolderingAlloy.getFluid(288), Materials.Lubricant.getFluid(750)).outputs(MetaItems.ELECTRIC_PISTON_ZPM.getStackForm()).duration(600).EUt(61440).buildAndRegister(); @@ -90,19 +90,17 @@ public static void init() { RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.frameGt, Materials.HSSE, 1), OreDictUnifier.get(OrePrefix.plate, Materials.HSSE, 6), MetaItems.QUANTUM_STAR.getStackForm(4), MetaItems.EMITTER_ZPM.getStackForm(4), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.cableGtDouble, Materials.YttriumBariumCuprate, 8)).input(OrePrefix.circuit, MarkerMaterials.Tier.Master, 16).fluidInputs(Materials.SolderingAlloy.getFluid(1152)).outputs(MetaItems.FIELD_GENERATOR_ZPM.getStackForm()).duration(600).EUt(245760).buildAndRegister(); RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.frameGt, Materials.Neutronium, 1), OreDictUnifier.get(OrePrefix.plate, Materials.Neutronium, 6), MetaItems.GRAVI_STAR.getStackForm(), MetaItems.EMITTER_UV.getStackForm(4), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.wireFine, Materials.Osmium, 64), OreDictUnifier.get(OrePrefix.cableGtQuadruple, Materials.YttriumBariumCuprate, 8)).input(OrePrefix.circuit, MarkerMaterials.Tier.Master, 64).fluidInputs(Materials.SolderingAlloy.getFluid(2304)).outputs(MetaItems.FIELD_GENERATOR_UV.getStackForm()).duration(600).EUt(491520).buildAndRegister(); - RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.frameGt, Materials.Tritanium, 4), MetaItems.WETWARE_SUPER_COMPUTER_UV.getStackForm(8), MetaItems.SMALL_COIL.getStackForm(4), MetaItems.SMD_CAPACITOR.getStackForm(32), MetaItems.SMD_RESISTOR.getStackForm(32), MetaItems.SMD_TRANSISTOR.getStackForm(32), MetaItems.SMD_DIODE.getStackForm(32), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(16), OreDictUnifier.get(OrePrefix.wireGtDouble, MarkerMaterials.Tier.Superconductor, 16), OreDictUnifier.get(OrePrefix.foil, Materials.SiliconeRubber, 64)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Water.getFluid(10000)).outputs(MetaItems.WETWARE_MAINFRAME_MAX.getStackForm()).duration(2000).EUt(300000).buildAndRegister(); - RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaItems.WETWARE_BOARD.getStackForm(), MetaItems.STEM_CELLS.getStackForm(8), MetaItems.GLASS_TUBE.getStackForm(8), OreDictUnifier.get(OrePrefix.pipeTiny, Materials.Polyethylene, 4), OreDictUnifier.get(OrePrefix.foil, Materials.SiliconeRubber, 64)).input(OrePrefix.plate, Materials.Gold, 4).input(OrePrefix.plate, Materials.StainlessSteel, 4).fluidInputs(Materials.SterileGrowthMedium.getFluid(250), Materials.UUMatter.getFluid(100), Materials.DistilledWater.getFluid(1000)).outputs(MetaItems.NEURO_PROCESSOR.getStackForm(1)).duration(200).EUt(80000).buildAndRegister(); ItemStack last_bat = (ConfigHolder.U.GT5u.replaceUVwithMAXBat ? MetaItems.MAX_BATTERY : MetaItems.ZPM2).getStackForm(); if (ConfigHolder.U.GT5u.enableZPMandUVBats) { - RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.plate, Materials.Europium, 16), MetaItems.WETWARE_SUPER_COMPUTER_UV.getStackForm(4), MetaItems.ENERGY_LAPOTRONIC_ORB2.getStackForm(8), MetaItems.FIELD_GENERATOR_LUV.getStackForm(2), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(64), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(64), MetaItems.SMD_DIODE.getStackForm(8), OreDictUnifier.get(OrePrefix.cableGtSingle, Materials.Naquadah, 32)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Water.getFluid(8000)).outputs(MetaItems.ENERGY_MODULE.getStackForm()).duration(2000).EUt(100000).buildAndRegister(); + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.plate, Materials.Europium, 16), MetaItems.WETWARE_SUPER_COMPUTER_UV.getStackForm(4), MetaItems.ENERGY_LAPOTRONIC_ORB2.getStackForm(8), MetaItems.FIELD_GENERATOR_LUV.getStackForm(2), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(64), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(64), MetaItems.SMD_DIODE.getStackForm(8), OreDictUnifier.get(OrePrefix.cableGtSingle, Materials.Naquadah, 32)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Polybenzimidazole.getFluid(288)).outputs(MetaItems.ENERGY_MODULE.getStackForm()).duration(2000).EUt(100000).buildAndRegister(); - RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.plate, Materials.Americium, 16), MetaItems.WETWARE_SUPER_COMPUTER_UV.getStackForm(4), MetaItems.ENERGY_MODULE.getStackForm(8), MetaItems.FIELD_GENERATOR_ZPM.getStackForm(2), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(64), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(64), MetaItems.SMD_DIODE.getStackForm(16), OreDictUnifier.get(OrePrefix.cableGtSingle, Materials.NaquadahAlloy, 32)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Water.getFluid(16000)).outputs(MetaItems.ENERGY_CLUSTER.getStackForm()).duration(2000).EUt(200000).buildAndRegister(); + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.plate, Materials.Americium, 16), MetaItems.WETWARE_SUPER_COMPUTER_UV.getStackForm(4), MetaItems.ENERGY_MODULE.getStackForm(8), MetaItems.FIELD_GENERATOR_ZPM.getStackForm(2), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(64), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(64), MetaItems.SMD_DIODE.getStackForm(16), OreDictUnifier.get(OrePrefix.cableGtSingle, Materials.NaquadahAlloy, 32)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Polybenzimidazole.getFluid(576)).outputs(MetaItems.ENERGY_CLUSTER.getStackForm()).duration(2000).EUt(200000).buildAndRegister(); - RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.plate, Materials.Neutronium, 16), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.ENERGY_CLUSTER.getStackForm(8), MetaItems.FIELD_GENERATOR_UV.getStackForm(2), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), MetaItems.SMD_DIODE.getStackForm(16), OreDictUnifier.get(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor, 32)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Water.getFluid(16000), Materials.Naquadria.getFluid(1152)).outputs(last_bat).duration(2000).EUt(300000).buildAndRegister(); + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.plate, Materials.Neutronium, 16), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.ENERGY_CLUSTER.getStackForm(8), MetaItems.FIELD_GENERATOR_UV.getStackForm(2), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), MetaItems.SMD_DIODE.getStackForm(16), OreDictUnifier.get(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor, 32)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Polybenzimidazole.getFluid(1000), Materials.Naquadria.getFluid(1152)).outputs(last_bat).duration(2000).EUt(300000).buildAndRegister(); } else { - RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.plate, Materials.Neutronium, 16), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.ENERGY_LAPOTRONIC_ORB2.getStackForm(8), MetaItems.FIELD_GENERATOR_UV.getStackForm(2), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), MetaItems.SMD_DIODE.getStackForm(16), OreDictUnifier.get(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor, 32)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Water.getFluid(16000)).outputs(last_bat).duration(2000).EUt(300000).buildAndRegister(); + RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(OreDictUnifier.get(OrePrefix.plate, Materials.Neutronium, 16), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.WETWARE_MAINFRAME_MAX.getStackForm(), MetaItems.ENERGY_LAPOTRONIC_ORB2.getStackForm(8), MetaItems.FIELD_GENERATOR_UV.getStackForm(2), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(64), MetaItems.SMD_DIODE.getStackForm(16), OreDictUnifier.get(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor, 32)).fluidInputs(Materials.SolderingAlloy.getFluid(2880), Materials.Polybenzimidazole.getFluid(1000)).outputs(last_bat).duration(2000).EUt(300000).buildAndRegister(); } RecipeMaps.ASSEMBLY_LINE_RECIPES.recipeBuilder().inputs(MetaBlocks.FUSION_COIL.getItemVariant(BlockFusionCoil.CoilType.FUSION_COIL), OreDictUnifier.get(OrePrefix.plate, Materials.Plutonium241), OreDictUnifier.get(OrePrefix.plate, Materials.NetherStar), MetaItems.FIELD_GENERATOR_IV.getStackForm(2), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(32), OreDictUnifier.get(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor, 32)).input(OrePrefix.circuit, MarkerMaterials.Tier.Ultimate, 1).input(OrePrefix.circuit, MarkerMaterials.Tier.Ultimate, 1).input(OrePrefix.circuit, MarkerMaterials.Tier.Ultimate, 1).input(OrePrefix.circuit, MarkerMaterials.Tier.Ultimate, 1).fluidInputs(Materials.SolderingAlloy.getFluid(2880)).outputs(MetaTileEntities.FUSION_REACTOR[0].getStackForm()).duration(1000).EUt(30000).buildAndRegister(); diff --git a/src/main/java/gregtech/loaders/recipe/CircuitRecipes.java b/src/main/java/gregtech/loaders/recipe/CircuitRecipes.java new file mode 100644 index 00000000000..cf2a2322a0f --- /dev/null +++ b/src/main/java/gregtech/loaders/recipe/CircuitRecipes.java @@ -0,0 +1,994 @@ +package gregtech.loaders.recipe; + +import gregtech.api.recipes.ModHandler; +import gregtech.api.recipes.ingredients.IntCircuitIngredient; +import gregtech.api.unification.material.MarkerMaterials.Tier; +import gregtech.api.unification.material.MarkerMaterials.Color; +import gregtech.api.unification.material.type.IngotMaterial; +import gregtech.api.unification.stack.MaterialStack; +import gregtech.api.unification.stack.UnificationEntry; +import gregtech.common.ConfigHolder; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import static gregtech.api.GTValues.L; +import static gregtech.api.recipes.RecipeMaps.*; +import static gregtech.api.unification.material.Materials.*; +import static gregtech.api.unification.ore.OrePrefix.*; +import static gregtech.common.items.MetaItems.*; + +public class CircuitRecipes { + + private CircuitRecipes() { + } + + private static final MaterialStack[] solderingList = { + new MaterialStack(Tin, 2L), + new MaterialStack(SolderingAlloy, 1L) + }; + + public static void init() { + waferRecipes(); + componentRecipes(); + boardRecipes(); + circuitRecipes(); + } + + private static void waferRecipes() { + + // Boules + BLAST_RECIPES.recipeBuilder().duration(9000).EUt(120) + .input(dust, Silicon, 32) + .input(dustSmall, GalliumArsenide) + .notConsumable(new IntCircuitIngredient(1)) + .output(SILICON_BOULE) + .blastFurnaceTemp(1784) + .buildAndRegister(); + + BLAST_RECIPES.recipeBuilder().duration(12000).EUt(480) + .input(dust, Silicon, 64) + .input(dust, Glowstone, 8) + .notConsumable(new IntCircuitIngredient(1)) + .fluidInputs(Nitrogen.getFluid(8000)) + .output(GLOWSTONE_BOULE) + .blastFurnaceTemp(2484) + .buildAndRegister(); + + BLAST_RECIPES.recipeBuilder().duration(1500).EUt(1920) + .input(block, Silicon, 9) + .input(ingot, Naquadah) + .notConsumable(new IntCircuitIngredient(1)) + .fluidInputs(Argon.getFluid(8000)) + .output(NAQUADAH_BOULE) + .blastFurnaceTemp(5400) + .buildAndRegister(); + + // Boule cutting + CUTTER_RECIPES.recipeBuilder().duration(200).EUt(8) .input(SILICON_BOULE).output(SILICON_WAFER, 16).buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(400).EUt(64) .input(GLOWSTONE_BOULE).output(GLOWSTONE_WAFER, 32).buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(800).EUt(384).input(NAQUADAH_BOULE).output(NAQUADAH_WAFER, 64).buildAndRegister(); + + // Wafer engraving + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120) .input(SILICON_WAFER) .notConsumable(craftingLens, Color.Red) .output(INTEGRATED_LOGIC_CIRCUIT_WAFER) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480) .input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.Red) .output(INTEGRATED_LOGIC_CIRCUIT_WAFER, 4).buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER) .notConsumable(craftingLens, Color.Red) .output(INTEGRATED_LOGIC_CIRCUIT_WAFER, 8).buildAndRegister(); + + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120) .input(SILICON_WAFER) .notConsumable(craftingLens, Color.Silver) .output(RANDOM_ACCESS_MEMORY_WAFER) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480) .input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.Silver) .output(RANDOM_ACCESS_MEMORY_WAFER, 4) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER) .notConsumable(craftingLens, Color.Silver) .output(RANDOM_ACCESS_MEMORY_WAFER, 8) .buildAndRegister(); + + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480) .input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.LightBlue).output(NAND_MEMORY_CHIP_WAFER) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER) .notConsumable(craftingLens, Color.LightBlue).output(NAND_MEMORY_CHIP_WAFER, 4) .buildAndRegister(); + + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480) .input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.Lime) .output(NOR_MEMORY_CHIP_WAFER) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER) .notConsumable(craftingLens, Color.Lime) .output(NOR_MEMORY_CHIP_WAFER, 4) .buildAndRegister(); + + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120) .input(SILICON_WAFER) .notConsumable(craftingLens, Color.White) .output(CENTRAL_PROCESSING_UNIT_WAFER) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480) .input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.White) .output(CENTRAL_PROCESSING_UNIT_WAFER, 4) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER) .notConsumable(craftingLens, Color.White) .output(CENTRAL_PROCESSING_UNIT_WAFER, 8) .buildAndRegister(); + + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480) .input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.Blue) .output(POWER_INTEGRATED_CIRCUIT_WAFER) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER) .notConsumable(craftingLens, Color.Blue) .output(POWER_INTEGRATED_CIRCUIT_WAFER, 4).buildAndRegister(); + + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER) .notConsumable(craftingLens, Color.Yellow) .output(SYSTEM_ON_CHIP_WAFER, 2) .buildAndRegister(); + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER) .notConsumable(craftingLens, Color.Orange) .output(ADVANCED_SYSTEM_ON_CHIP_WAFER) .buildAndRegister(); + + // Wafer chemical refining recipes + CHEMICAL_RECIPES.recipeBuilder().duration(1200).EUt(1920) + .input(POWER_INTEGRATED_CIRCUIT_WAFER) + .input(dust, IndiumGalliumPhosphide, 2) + .fluidInputs(RedAlloy.getFluid(288)) + .output(HIGH_POWER_INTEGRATED_CIRCUIT_WAFER) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().duration(400).EUt(480) + .input(CENTRAL_PROCESSING_UNIT_WAFER) + .input(CARBON_FIBERS, 16) + .fluidInputs(Glowstone.getFluid(576)) + .output(NANO_CENTRAL_PROCESSING_UNIT_WAFER) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().duration(400).EUt(1920) + .input(NANO_CENTRAL_PROCESSING_UNIT_WAFER) + .input(QUANTUM_EYE, 2) + .fluidInputs(GalliumArsenide.getFluid(288)) + .output(QBIT_CENTRAL_PROCESSING_UNIT_WAFER) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(1920) + .input(NANO_CENTRAL_PROCESSING_UNIT_WAFER) + .input(dust, IndiumGalliumPhosphide) + .fluidInputs(Radon.getFluid(50)) + .output(QBIT_CENTRAL_PROCESSING_UNIT_WAFER) + .buildAndRegister(); + + // Wafer cutting + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(ADVANCED_SYSTEM_ON_CHIP_WAFER) .output(ADVANCED_SYSTEM_ON_CHIP, 6) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(SYSTEM_ON_CHIP_WAFER) .output(SYSTEM_ON_CHIP, 6) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(RANDOM_ACCESS_MEMORY_WAFER) .output(RANDOM_ACCESS_MEMORY, 32) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(QBIT_CENTRAL_PROCESSING_UNIT_WAFER) .output(QBIT_CENTRAL_PROCESSING_UNIT, 5) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(POWER_INTEGRATED_CIRCUIT_WAFER) .output(POWER_INTEGRATED_CIRCUIT, 4) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(HIGH_POWER_INTEGRATED_CIRCUIT_WAFER).output(HIGH_POWER_INTEGRATED_CIRCUIT, 2).buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(NOR_MEMORY_CHIP_WAFER) .output(NOR_MEMORY_CHIP, 16) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(NAND_MEMORY_CHIP_WAFER) .output(NAND_MEMORY_CHIP, 32) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(CENTRAL_PROCESSING_UNIT_WAFER) .output(CENTRAL_PROCESSING_UNIT, 8) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(INTEGRATED_LOGIC_CIRCUIT_WAFER) .output(INTEGRATED_LOGIC_CIRCUIT, 8) .buildAndRegister(); + CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(NANO_CENTRAL_PROCESSING_UNIT_WAFER) .output(NANO_CENTRAL_PROCESSING_UNIT, 7) .buildAndRegister(); + } + + private static void componentRecipes() { + + // Vacuum Tube + ModHandler.addShapedRecipe("vacuum_tube_wire", VACUUM_TUBE.getStackForm(), + "PTP", "WWW", + 'P', new ItemStack(Items.PAPER), + 'T', GLASS_TUBE.getStackForm(), + 'W', new UnificationEntry(wireGtSingle, Copper)); + + ModHandler.addShapedRecipe("vacuum_tube_wire_fine", VACUUM_TUBE.getStackForm(), + "PTP", "WWW", + 'P', new ItemStack(Items.PAPER), + 'T', GLASS_TUBE.getStackForm(), + 'W', new UnificationEntry(wireFine, Copper)); + + ASSEMBLER_RECIPES.recipeBuilder().duration(120).EUt(8) + .input(GLASS_TUBE) + .inputs(new ItemStack(Items.PAPER, 2)) + .input(wireGtSingle, Copper, 2) + .output(VACUUM_TUBE) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(120).EUt(8) + .input(GLASS_TUBE) + .inputs(new ItemStack(Items.PAPER, 2)) + .input(wireFine, Copper, 2) + .output(VACUUM_TUBE) + .buildAndRegister(); + + ALLOY_SMELTER_RECIPES.recipeBuilder().duration(160).EUt(8) + .input(dust, Glass) + .notConsumable(SHAPE_MOLD_BALL) + .output(GLASS_TUBE) + .buildAndRegister(); + + // Resistor + ModHandler.addShapedRecipe("resistor_wire", RESISTOR.getStackForm(3), + " P ", "WCW", " P ", + 'P', new ItemStack(Items.PAPER), + 'W', new UnificationEntry(wireGtSingle, Copper), + 'C', new UnificationEntry(dust, Coal)); + + ModHandler.addShapedRecipe("resistor_wire_fine", RESISTOR.getStackForm(3), + " P ", "WCW", " P ", + 'P', new ItemStack(Items.PAPER), + 'W', new UnificationEntry(wireFine, Copper), + 'C', new UnificationEntry(dust, Coal)); + + ModHandler.addShapedRecipe("resistor_wire_charcoal", RESISTOR.getStackForm(3), + " P ", "WCW", " P ", + 'P', new ItemStack(Items.PAPER), + 'W', new UnificationEntry(wireGtSingle, Copper), + 'C', new UnificationEntry(dust, Charcoal)); + + ModHandler.addShapedRecipe("resistor_wire_fine_charcoal", RESISTOR.getStackForm(3), + " P ", "WCW", " P ", + 'P', new ItemStack(Items.PAPER), + 'W', new UnificationEntry(wireFine, Copper), + 'C', new UnificationEntry(dust, Charcoal)); + + ModHandler.addShapedRecipe("resistor_wire_carbon", RESISTOR.getStackForm(3), + " P ", "WCW", " P ", + 'P', new ItemStack(Items.PAPER), + 'W', new UnificationEntry(wireGtSingle, Copper), + 'C', new UnificationEntry(dust, Carbon)); + + ModHandler.addShapedRecipe("resistor_wire_fine_carbon", RESISTOR.getStackForm(3), + " P ", "WCW", " P ", + 'P', new ItemStack(Items.PAPER), + 'W', new UnificationEntry(wireFine, Copper), + 'C', new UnificationEntry(dust, Carbon)); + + ASSEMBLER_RECIPES.recipeBuilder().duration(160).EUt(6) + .input(dust, Coal) + .input(wireFine, Copper, 4) + .output(RESISTOR, 12) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(160).EUt(6) + .input(dust, Charcoal) + .input(wireFine, Copper, 4) + .output(RESISTOR, 12) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(160).EUt(6) + .input(dust, Carbon) + .input(wireFine, Copper, 4) + .output(RESISTOR, 12) + .buildAndRegister(); + + // Capacitor + ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(96) + .input(plate, Polyethylene) + .input(foil, Aluminium, 2) + .output(CAPACITOR, 2) + .buildAndRegister(); + + // Transistor + ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(24) + .input(plate, Silicon) + .input(wireFine, Tin, 6) + .fluidInputs(Polyethylene.getFluid(144)) + .output(TRANSISTOR, 8) + .buildAndRegister(); + + // Diode + ModHandler.addShapedRecipe("diode", DIODE.getStackForm(), + "DG ", "TWT", "DG ", + 'D', "dyeBlack", + 'G', "paneGlass", + 'T', new UnificationEntry(wireGtSingle, Tin), + 'W', new UnificationEntry(dustSmall, GalliumArsenide)); + + ModHandler.addShapedRecipe("diode_wire", DIODE.getStackForm(), + "DG ", "TWT", "DG ", + 'D', "dyeBlack", + 'G', "paneGlass", + 'T', new UnificationEntry(wireFine, Tin), + 'W', new UnificationEntry(dustSmall, GalliumArsenide)); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(30) + .input(wireFine, Copper, 4) + .input(dustSmall, GalliumArsenide) + .fluidInputs(Polyethylene.getFluid(144)) + .output(DIODE, 2) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(30) + .input(wireFine, Copper, 4) + .input(SILICON_WAFER) + .fluidInputs(Polyethylene.getFluid(144)) + .output(DIODE, 4) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(30) + .input(wireFine, AnnealedCopper, 4) + .input(dustSmall, GalliumArsenide) + .fluidInputs(Polyethylene.getFluid(144)) + .output(DIODE, 6) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(30) + .input(wireFine, AnnealedCopper, 4) + .input(SILICON_WAFER) + .fluidInputs(Polyethylene.getFluid(144)) + .output(DIODE, 8) + .buildAndRegister(); + + // Small Coil + ModHandler.addShapedRecipe("small_coil_copper_steel", SMALL_COIL.getStackForm(), + "WWW", "WBW", "WWW", + 'W', new UnificationEntry(wireFine, Copper), + 'B', new UnificationEntry(ring, Steel)); + + ASSEMBLER_RECIPES.recipeBuilder().duration(320).EUt(60) + .input(ring, Steel) + .input(wireFine, Copper, 2) + .output(SMALL_COIL, 2) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(320).EUt(60) + .input(ring, NickelZincFerrite) + .input(wireFine, Copper, 2) + .output(SMALL_COIL, 4) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(320).EUt(60) + .input(ring, Steel) + .input(wireFine, AnnealedCopper, 2) + .output(SMALL_COIL, 4) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(320).EUt(60) + .input(ring, NickelZincFerrite) + .input(wireFine, AnnealedCopper, 2) + .output(SMALL_COIL, 8) + .buildAndRegister(); + + // SMD Resistor + ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(120) + .input(dust, Carbon) + .input(wireFine, Electrum, 4) + .fluidInputs(Polyethylene.getFluid(144)) + .output(SMD_RESISTOR, 24) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(480) + .input(dust, Carbon) + .input(wireFine, Electrum, 4) + .fluidInputs(Polybenzimidazole.getFluid(72)) + .output(SMD_RESISTOR, 48) + .buildAndRegister(); + + // SMD Diode + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(120) + .input(dust, GalliumArsenide) + .input(wireFine, Platinum, 8) + .fluidInputs(Polyethylene.getFluid(144)) + .output(SMD_DIODE, 32) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(480) + .input(dust, GalliumArsenide) + .input(wireFine, Platinum, 8) + .fluidInputs(Polybenzimidazole.getFluid(72)) + .output(SMD_DIODE, 64) + .buildAndRegister(); + + // SMD Transistor + ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(120) + .input(foil, Gallium) + .input(wireFine, AnnealedCopper, 8) + .fluidInputs(Polyethylene.getFluid(288)) + .output(SMD_TRANSISTOR, 32) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(480) + .input(foil, Gallium) + .input(wireFine, AnnealedCopper, 8) + .fluidInputs(Polybenzimidazole.getFluid(144)) + .output(SMD_TRANSISTOR, 64) + .buildAndRegister(); + + // SMD Capacitor + ASSEMBLER_RECIPES.recipeBuilder().duration(60).EUt(120) + .input(foil, SiliconeRubber) + .input(foil, Aluminium) + .fluidInputs(Polyethylene.getFluid(72)) + .output(SMD_CAPACITOR, 8) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(60).EUt(120) + .input(foil, PolyvinylChloride, 2) + .input(foil, Aluminium) + .fluidInputs(Polyethylene.getFluid(72)) + .output(SMD_CAPACITOR, 12) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(60).EUt(120) + .input(foil, SiliconeRubber) + .input(foil, Tantalum) + .fluidInputs(Polyethylene.getFluid(72)) + .output(SMD_CAPACITOR, 16) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(60).EUt(120) + .input(foil, PolyvinylChloride, 2) + .input(foil, Tantalum) + .fluidInputs(Polyethylene.getFluid(72)) + .output(SMD_CAPACITOR, 24) + .buildAndRegister(); + // TODO PBI SMD_CAPACITOR RECIPES + + // Carbon Fibers + if (ConfigHolder.U.GT5u.polymerCarbonFiber) { + AUTOCLAVE_RECIPES.recipeBuilder().duration(37).EUt(30) + .input(dust, Carbon, 4) + .fluidInputs(Polyethylene.getFluid(36)) + .output(CARBON_FIBERS) + .buildAndRegister(); + + AUTOCLAVE_RECIPES.recipeBuilder().duration(37).EUt(120) + .input(dust, Carbon, 4) + .fluidInputs(Polytetrafluoroethylene.getFluid(18)) + .output(CARBON_FIBERS, 2) + .buildAndRegister(); + + AUTOCLAVE_RECIPES.recipeBuilder().duration(37).EUt(480) + .input(dust, Carbon, 4) + .fluidInputs(Epoxy.getFluid(9)) + .output(CARBON_FIBERS, 4) + .buildAndRegister(); + + AUTOCLAVE_RECIPES.recipeBuilder().duration(37).EUt(1920) + .input(dust, Carbon, 8) + .fluidInputs(Polybenzimidazole.getFluid(9)) + .output(CARBON_FIBERS, 16) + .buildAndRegister(); + } else { + AUTOCLAVE_RECIPES.recipeBuilder().duration(37).EUt(30) + .input(dust, Carbon, 4) + .fluidInputs(Palladium.getFluid(1)) + .chancedOutput(CARBON_FIBERS, 2, 9000, 1000) + .buildAndRegister(); + + AUTOCLAVE_RECIPES.recipeBuilder().duration(37).EUt(30) + .input(dust, Carbon, 4) + .fluidInputs(Platinum.getFluid(1)) + .chancedOutput(CARBON_FIBERS, 2, 5000, 5000) + .buildAndRegister(); + + AUTOCLAVE_RECIPES.recipeBuilder().duration(37).EUt(30) + .input(dust, Carbon, 4) + .fluidInputs(Lutetium.getFluid(1)) + .chancedOutput(CARBON_FIBERS, 2, 3333, 3334) + .buildAndRegister(); + } + + // Crystal Circuit Components + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(256).EUt(480) + .input(LAPOTRON_CRYSTAL) + .notConsumable(craftingLens, Color.Blue) + .output(ENGRAVED_LAPOTRON_CHIP, 3) + .buildAndRegister(); + + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(100).EUt(7600) + .input(ENGRAVED_CRYSTAL_CHIP) + .notConsumable(craftingLens, Color.Lime) + .output(CRYSTAL_CENTRAL_PROCESSING_UNIT) + .buildAndRegister(); + + LASER_ENGRAVER_RECIPES.recipeBuilder().duration(100).EUt(32000) + .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + .notConsumable(craftingLens, Color.Blue) + .output(CRYSTAL_SYSTEM_ON_CHIP) + .buildAndRegister(); + + CUTTER_RECIPES.recipeBuilder().EUt(60).duration(960) + .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + .output(RAW_CRYSTAL_CHIP, 2) + .buildAndRegister(); + + AUTOCLAVE_RECIPES.recipeBuilder().duration(12000).EUt(320) + .input(gemExquisite, Emerald) + .fluidInputs(Europium.getFluid(L / 9)) + .chancedOutput(RAW_CRYSTAL_CHIP, 1000, 2000) + .buildAndRegister(); + + AUTOCLAVE_RECIPES.recipeBuilder().duration(12000).EUt(320) + .input(gemExquisite, Olivine) + .fluidInputs(Europium.getFluid(L / 9)) + .chancedOutput(RAW_CRYSTAL_CHIP, 1000, 2000) + .buildAndRegister(); + + BLAST_RECIPES.recipeBuilder().duration(900).EUt(480).blastFurnaceTemp(5000) + .input(plate, Emerald) + .input(RAW_CRYSTAL_CHIP) + .fluidInputs(Helium.getFluid(1000)) + .output(ENGRAVED_CRYSTAL_CHIP) + .buildAndRegister(); + + BLAST_RECIPES.recipeBuilder().duration(900).EUt(480).blastFurnaceTemp(5000) + .input(plate, Olivine) + .input(RAW_CRYSTAL_CHIP) + .fluidInputs(Helium.getFluid(1000)) + .output(ENGRAVED_CRYSTAL_CHIP) + .buildAndRegister(); + + // Quantum Parts + CHEMICAL_BATH_RECIPES.recipeBuilder().duration(480).EUt(384) + .input(gem, EnderEye) + .fluidInputs(Radon.getFluid(250)) + .output(QUANTUM_EYE) + .buildAndRegister(); + + CHEMICAL_BATH_RECIPES.recipeBuilder().duration(1920).EUt(384) + .input(gem, NetherStar) + .fluidInputs(Radon.getFluid(1250)) + .output(QUANTUM_STAR) + .buildAndRegister(); + + AUTOCLAVE_RECIPES.recipeBuilder().duration(480).EUt(7680) + .input(gem, NetherStar) + .fluidInputs(Neutronium.getFluid(L * 2)) + .output(GRAVI_STAR) + .buildAndRegister(); + + // Neutron Reflector TODO Move out of here + ASSEMBLER_RECIPES.recipeBuilder().duration(4000).EUt(120) + .input(PLATE_IRIDIUM_ALLOY) + .input(plate, Beryllium, 32) + .input(plate, TungstenCarbide, 4) + .fluidInputs(TinAlloy.getFluid(L * 32)) + .output(NEUTRON_REFLECTOR) + .buildAndRegister(); + + } + + private static void boardRecipes() { + + // Coated board + ModHandler.addShapedRecipe("coated_board", COATED_BOARD.getStackForm(3), + " R ", "PPP", " R ", + 'R', RUBBER_DROP.getStackForm(), + 'P', new UnificationEntry(plate, Wood)); + + ModHandler.addShapelessRecipe("coated_board_1x", COATED_BOARD.getStackForm(), + RUBBER_DROP.getStackForm(), + new UnificationEntry(plate, Wood), + new UnificationEntry(plate, Wood)); + + ASSEMBLER_RECIPES.recipeBuilder().duration(160).EUt(8) + .input(plate, Wood, 8) + .input(RUBBER_DROP) + .fluidInputs(Glue.getFluid(100)) + .output(COATED_BOARD, 8) + .buildAndRegister(); + + // Phenolic Board + ASSEMBLER_RECIPES.recipeBuilder().duration(30).EUt(8) + .input(dust, Wood) + .notConsumable(SHAPE_MOLD_PLATE) + .fluidInputs(Glue.getFluid(36)) + .output(PHENOLIC_BOARD) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(30).EUt(8) + .input(dust, Wood) + .notConsumable(SHAPE_MOLD_PLATE) + .fluidInputs(BisphenolA.getFluid(18)) + .output(PHENOLIC_BOARD, 2) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(30).EUt(8) + .input(dust, Wood) + .notConsumable(SHAPE_MOLD_PLATE) + .fluidInputs(Epoxy.getFluid(18)) + .output(PHENOLIC_BOARD, 3) + .buildAndRegister(); + + // Plastic Board + CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(10) + .input(plate, Polyethylene) + .input(foil, Copper, 4) + .fluidInputs(SulfuricAcid.getFluid(125)) + .output(PLASTIC_BOARD) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(10) + .input(plate, PolyvinylChloride) + .input(foil, Copper, 4) + .fluidInputs(SulfuricAcid.getFluid(125)) + .output(PLASTIC_BOARD, 2) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(10) + .input(plate, Polytetrafluoroethylene) + .input(foil, Copper, 4) + .fluidInputs(SulfuricAcid.getFluid(125)) + .output(PLASTIC_BOARD, 4) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(10) + .input(plate, Polybenzimidazole) + .input(foil, Copper, 4) + .fluidInputs(SulfuricAcid.getFluid(125)) + .output(PLASTIC_BOARD, 8) + .buildAndRegister(); + + // Epoxy Board + CHEMICAL_RECIPES.recipeBuilder().duration(500).EUt(10) + .input(plate, Epoxy) + .input(foil, Copper) + .fluidInputs(SulfuricAcid.getFluid(125)) + .output(EPOXY_BOARD) + .buildAndRegister(); + + // Fiber Reinforced Epoxy Board + CHEMICAL_BATH_RECIPES.recipeBuilder().duration(240).EUt(16) + .input(GLASS_FIBER) + .fluidInputs(Epoxy.getFluid(144)) + .output(plate, ReinforcedEpoxyResin) + .buildAndRegister(); + + CHEMICAL_BATH_RECIPES.recipeBuilder().duration(240).EUt(16) + .input(CARBON_FIBERS) + .fluidInputs(Epoxy.getFluid(144)) + .output(plate, ReinforcedEpoxyResin) + .buildAndRegister(); + + EXTRUDER_RECIPES.recipeBuilder().duration(160).EUt(96) + .input(ingot, BorosilicateGlass) + .notConsumable(SHAPE_EXTRUDER_WIRE) + .output(GLASS_FIBER, 8) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().duration(500).EUt(10) + .input(plate, ReinforcedEpoxyResin) + .input(foil, Copper) + .fluidInputs(SulfuricAcid.getFluid(125)) + .output(FIBER_BOARD) + .buildAndRegister(); + + // Multi-Layer Fiber Reinforced Epoxy Board + CHEMICAL_RECIPES.recipeBuilder().duration(100).EUt(480) + .input(FIBER_BOARD) + .input(foil, Electrum, 16) + .fluidInputs(SulfuricAcid.getFluid(250)) + .output(MULTILAYER_FIBER_BOARD) + .buildAndRegister(); + + // Wetware Board + FLUID_SOLIDFICATION_RECIPES.recipeBuilder().duration(160).EUt(16) + .notConsumable(SHAPE_MOLD_CYLINDER) + .fluidInputs(Polystyrene.getFluid(L / 4)) + .output(PETRI_DISH) + .buildAndRegister(); + + FLUID_SOLIDFICATION_RECIPES.recipeBuilder().duration(160).EUt(16) + .notConsumable(SHAPE_MOLD_CYLINDER) + .fluidInputs(Polytetrafluoroethylene.getFluid(L / 4)) + .output(PETRI_DISH) + .buildAndRegister(); + + FLUID_SOLIDFICATION_RECIPES.recipeBuilder().duration(40).EUt(480) + .notConsumable(SHAPE_MOLD_CYLINDER) + .fluidInputs(Polybenzimidazole.getFluid(L / 8)) + .output(PETRI_DISH, 2) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(480) + .input(MULTILAYER_FIBER_BOARD) + .input(circuit, Tier.Good) + .input(ELECTRIC_PUMP_LV) + .input(SENSOR_LV) + .input(PETRI_DISH) + .fluidInputs(SterileGrowthMedium.getFluid(250)) + .output(WETWARE_BOARD) + .buildAndRegister(); + } + + private static void circuitRecipes() { + + // Handcrafted Circuits + ModHandler.addShapedRecipe("basic_circuit", BASIC_CIRCUIT_LV.getStackForm(), + "RPR", "VBV", "CCC", + 'R', RESISTOR.getStackForm(), + 'P', new UnificationEntry(plate, Steel), + 'V', VACUUM_TUBE.getStackForm(), + 'B', COATED_BOARD.getStackForm(), + 'C', new UnificationEntry(cableGtSingle, RedAlloy)); + + ModHandler.addShapedRecipe("good_circuit", GOOD_INTEGRATED_CIRCUIT_MV.getStackForm(), + "RCP", "CDC", "PCR", + 'R', new UnificationEntry(cableGtSingle, RedAlloy), + 'P', new UnificationEntry(plate, Steel), + 'C', BASIC_CIRCUIT_LV.getStackForm(), + 'D', DIODE.getStackForm()); + + //circuit assembling recipes TODO + for (MaterialStack stack : solderingList) { + IngotMaterial material = (IngotMaterial) stack.material; + int multiplier = (int) stack.amount; + + // LV Circuits + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(8) + .input(PHENOLIC_BOARD) + .input(INTEGRATED_LOGIC_CIRCUIT) + .input(RESISTOR, 2) + .input(wireFine, Copper) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(BASIC_ELECTRONIC_CIRCUIT_LV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(8) + .input(PHENOLIC_BOARD) + .input(INTEGRATED_LOGIC_CIRCUIT) + .input(SMD_RESISTOR, 2) + .input(wireFine, Copper) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(BASIC_ELECTRONIC_CIRCUIT_LV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(60) + .input(PLASTIC_BOARD) + .input(CENTRAL_PROCESSING_UNIT, 4) + .input(RESISTOR, 4) + .input(CAPACITOR, 4) + .input(TRANSISTOR, 4) + .input(wireFine, Copper, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(ADVANCED_CIRCUIT_PARTS_LV, 4) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(60) + .input(PLASTIC_BOARD) + .input(CENTRAL_PROCESSING_UNIT, 4) + .input(SMD_RESISTOR, 4) + .input(SMD_CAPACITOR, 4) + .input(SMD_TRANSISTOR, 4) + .input(wireFine, Copper, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(ADVANCED_CIRCUIT_PARTS_LV, 4) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(600) + .input(PLASTIC_BOARD) + .input(SYSTEM_ON_CHIP, 4) + .input(wireFine, Copper, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(ADVANCED_CIRCUIT_PARTS_LV, 4) + .buildAndRegister(); + + // MV Circuits + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(16) + .input(PHENOLIC_BOARD) + .input(BASIC_ELECTRONIC_CIRCUIT_LV, 3) + .input(RESISTOR, 4) + .input(wireFine, Gold, 8) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(GOOD_INTEGRATED_CIRCUIT_MV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(16) + .input(PHENOLIC_BOARD) + .input(BASIC_ELECTRONIC_CIRCUIT_LV, 3) + .input(SMD_RESISTOR, 4) + .input(wireFine, Gold, 8) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(GOOD_INTEGRATED_CIRCUIT_MV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(60) + .input(PLASTIC_BOARD) + .input(CENTRAL_PROCESSING_UNIT) + .input(RESISTOR, 2) + .input(CAPACITOR, 2) + .input(TRANSISTOR, 2) + .input(wireFine, RedAlloy, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(ADVANCED_CIRCUIT_MV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(60) + .input(PLASTIC_BOARD) + .input(CENTRAL_PROCESSING_UNIT) + .input(SMD_RESISTOR, 2) + .input(SMD_CAPACITOR, 2) + .input(SMD_TRANSISTOR, 2) + .input(wireFine, RedAlloy, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(ADVANCED_CIRCUIT_MV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(2400) + .input(PLASTIC_BOARD) + .input(SYSTEM_ON_CHIP) + .input(wireFine, RedAlloy, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(ADVANCED_CIRCUIT_MV) + .buildAndRegister(); + + // HV Circuits + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(90) + .input(PLASTIC_BOARD) + .input(ADVANCED_CIRCUIT_MV, 2) + .input(SMALL_COIL, 4) + .input(CAPACITOR, 4) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(wireFine, RedAlloy, 12) + .fluidInputs(material.getFluid(L * multiplier)) + .output(PROCESSOR_ASSEMBLY_HV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(90) + .input(PLASTIC_BOARD) + .input(ADVANCED_CIRCUIT_MV, 2) + .input(SMALL_COIL, 4) + .input(SMD_CAPACITOR, 4) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(wireFine, RedAlloy, 12) + .fluidInputs(material.getFluid(L * multiplier)) + .output(PROCESSOR_ASSEMBLY_HV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(480) + .input(EPOXY_BOARD) + .input(NANO_CENTRAL_PROCESSING_UNIT) + .input(SMD_RESISTOR, 2) + .input(SMD_CAPACITOR, 2) + .input(SMD_TRANSISTOR, 2) + .input(wireFine, Electrum, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(NANO_PROCESSOR_HV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(9600) + .input(EPOXY_BOARD) + .input(SYSTEM_ON_CHIP) + .input(wireFine, Electrum, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(NANO_PROCESSOR_HV) + .buildAndRegister(); + + // EV Circuits + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(480) + .input(EPOXY_BOARD) + .input(NANO_PROCESSOR_HV, 2) + .input(SMALL_COIL, 4) + .input(SMD_CAPACITOR, 4) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(wireFine, Electrum, 6) + .fluidInputs(material.getFluid(L * multiplier)) + .output(NANO_PROCESSOR_ASSEMBLY_EV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(1960) + .input(FIBER_BOARD) + .input(QBIT_CENTRAL_PROCESSING_UNIT) + .input(NANO_CENTRAL_PROCESSING_UNIT) + .input(SMD_CAPACITOR, 2) + .input(SMD_TRANSISTOR, 2) + .input(wireFine, Platinum, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(QUANTUM_PROCESSOR_EV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(32000) + .input(FIBER_BOARD) + .input(ADVANCED_SYSTEM_ON_CHIP) + .input(wireFine, Platinum, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(QUANTUM_PROCESSOR_EV) + .buildAndRegister(); + + // IV Circuits + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(1960) + .input(FIBER_BOARD) + .input(QUANTUM_PROCESSOR_EV, 2) + .input(SMALL_COIL, 4) + .input(SMD_CAPACITOR, 4) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(wireFine, Platinum, 6) + .fluidInputs(material.getFluid(L * multiplier)) + .output(DATA_CONTROL_CIRCUIT_IV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(7600) + .input(MULTILAYER_FIBER_BOARD) + .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + .input(NANO_CENTRAL_PROCESSING_UNIT) + .input(SMD_CAPACITOR, 2) + .input(SMD_TRANSISTOR, 2) + .input(wireFine, NiobiumTitanium, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(CRYSTAL_PROCESSOR_IV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(31900) + .input(MULTILAYER_FIBER_BOARD) + .input(CRYSTAL_SYSTEM_ON_CHIP) + .input(wireFine, NiobiumTitanium, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(CRYSTAL_PROCESSOR_IV) + .buildAndRegister(); + + // LuV Circuits + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(7600) + .input(MULTILAYER_FIBER_BOARD) + .input(CRYSTAL_PROCESSOR_IV, 2) + .input(SMALL_COIL, 4) + .input(SMD_CAPACITOR, 4) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(wireFine, NiobiumTitanium, 6) + .fluidInputs(material.getFluid(L * multiplier)) + .output(ENERGY_FLOW_CIRCUIT_LUV) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(32800) + .input(WETWARE_BOARD) + .input(CRYSTAL_CENTRAL_PROCESSING_UNIT) + .input(NANO_CENTRAL_PROCESSING_UNIT) + .input(SMD_CAPACITOR, 2) + .input(SMD_TRANSISTOR, 2) + .input(wireFine, YttriumBariumCuprate, 2) + .fluidInputs(material.getFluid(L / 2 * multiplier)) + .output(WETWARE_PROCESSOR_LUV) + .buildAndRegister(); + + // ZPM Circuits + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(34400) + .input(WETWARE_BOARD) + .input(WETWARE_PROCESSOR_LUV, 2) + .input(SMALL_COIL, 4) + .input(SMD_CAPACITOR, 4) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(wireFine, YttriumBariumCuprate, 6) + .fluidInputs(material.getFluid(L * multiplier)) + .output(WETWARE_PROCESSOR_ASSEMBLY_ZPM) + .buildAndRegister(); + + // UV Circuits + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(34400) + .input(WETWARE_BOARD, 2) + .input(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 3) + .input(SMD_DIODE, 4) + .input(NOR_MEMORY_CHIP, 4) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(wireFine, YttriumBariumCuprate, 6) + .fluidInputs(material.getFluid(L * multiplier)) + .output(WETWARE_SUPER_COMPUTER_UV) + .buildAndRegister(); + + // Misc + ASSEMBLER_RECIPES.recipeBuilder().duration(512).EUt(1024) + .input(FIBER_BOARD) + .input(POWER_INTEGRATED_CIRCUIT, 4) + .input(ENGRAVED_LAPOTRON_CHIP, 18) + .input(NANO_CENTRAL_PROCESSING_UNIT) + .input(wireFine, Platinum, 16) + .fluidInputs(material.getFluid(L * multiplier)) + .output(ENERGY_LAPOTRONIC_ORB) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(1024).EUt(4096) + .input(FIBER_BOARD) + .input(HIGH_POWER_INTEGRATED_CIRCUIT, 4) + .input(ENERGY_LAPOTRONIC_ORB, 8) + .input(QBIT_CENTRAL_PROCESSING_UNIT) + .input(wireFine, Platinum, 16) + .input(plate, Europium, 4) + .fluidInputs(material.getFluid(L * multiplier)) + .output(ENERGY_LAPOTRONIC_ORB2) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(90) + .input(PLASTIC_BOARD) + .input(ADVANCED_CIRCUIT_MV) + .input(NAND_MEMORY_CHIP, 32) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(wireFine, RedAlloy, 8) + .input(plate, Polyethylene, 4) + .fluidInputs(material.getFluid(L * multiplier)) + .output(TOOL_DATA_STICK) + .buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(1200) + .input(EPOXY_BOARD) + .input(NANO_PROCESSOR_HV) + .input(RANDOM_ACCESS_MEMORY, 4) + .input(NOR_MEMORY_CHIP, 32) + .input(NAND_MEMORY_CHIP, 64) + .input(wireFine, Platinum, 32) + .fluidInputs(material.getFluid(L * multiplier)) + .output(TOOL_DATA_ORB) + .buildAndRegister(); + } + + // UHV Circuits + ASSEMBLY_LINE_RECIPES.recipeBuilder().duration(2000).EUt(300000) + .input(frameGt, Tritanium, 4) + .input(WETWARE_SUPER_COMPUTER_UV, 8) + .input(SMALL_COIL, 4) + .input(SMD_CAPACITOR, 32) + .input(SMD_RESISTOR, 32) + .input(SMD_TRANSISTOR, 32) + .input(SMD_DIODE, 32) + .input(RANDOM_ACCESS_MEMORY, 16) + .input(wireGtDouble, Tier.Superconductor, 16) + .input(foil, SiliconeRubber, 64) + .fluidInputs(SolderingAlloy.getFluid(L * 20)) + .fluidInputs(Polybenzimidazole.getFluid(1000)) + .output(WETWARE_MAINFRAME_MAX) + .buildAndRegister(); + } +} diff --git a/src/main/java/gregtech/loaders/recipe/MachineRecipeLoader.java b/src/main/java/gregtech/loaders/recipe/MachineRecipeLoader.java index 67fb4f5f653..f42cee8eb73 100644 --- a/src/main/java/gregtech/loaders/recipe/MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/recipe/MachineRecipeLoader.java @@ -71,7 +71,7 @@ public static void init() { ComponentRecipes.register(); MiscRecipeLoader.init(); - registerCircuitRecipes(); + CircuitRecipes.init(); registerCutterRecipes(); registerDecompositionRecipes(); registerBlastFurnaceRecipes(); @@ -210,198 +210,6 @@ private static void registerStoneBricksRecipes() { registerChiselingRecipes(MetaBlocks.MINERAL); } - private static final MaterialStack[] solderingList = { - new MaterialStack(Tin, 2L), - new MaterialStack(SolderingAlloy, 1L) - }; - - private static void registerCircuitRecipes() { - //Wafer blast furnace recipes - BLAST_RECIPES.recipeBuilder().duration(9000).EUt(120).input(dust, Silicon, 32).input(dustSmall, GalliumArsenide).notConsumable(new IntCircuitIngredient(1)).output(SILICON_BOULE).blastFurnaceTemp(1784).buildAndRegister(); - BLAST_RECIPES.recipeBuilder().duration(12000).EUt(480).input(dust, Silicon, 64).input(dust, Glowstone, 8).notConsumable(new IntCircuitIngredient(1)).fluidInputs(Nitrogen.getFluid(8000)).output(GLOWSTONE_BOULE).blastFurnaceTemp(2484).buildAndRegister(); - BLAST_RECIPES.recipeBuilder().duration(1500).EUt(1920).input(block, Silicon, 9).input(ingot, Naquadah).notConsumable(new IntCircuitIngredient(1)).fluidInputs(Argon.getFluid(8000)).output(NAQUADAH_BOULE).blastFurnaceTemp(5400).buildAndRegister(); - - //Wafer engraving recipes - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120).input(SILICON_WAFER).notConsumable(craftingLens, Color.Red).output(INTEGRATED_LOGIC_CIRCUIT_WAFER).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.Red).output(INTEGRATED_LOGIC_CIRCUIT_WAFER, 4).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER).notConsumable(craftingLens, Color.Red).output(INTEGRATED_LOGIC_CIRCUIT_WAFER, 8).buildAndRegister(); - - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120).input(SILICON_WAFER).notConsumable(craftingLens, Color.Silver).output(RANDOM_ACCESS_MEMORY_WAFER).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.Silver).output(RANDOM_ACCESS_MEMORY_WAFER, 4).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER).notConsumable(craftingLens, Color.Silver).output(RANDOM_ACCESS_MEMORY_WAFER, 8).buildAndRegister(); - - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.LightBlue).output(NAND_MEMORY_CHIP_WAFER).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER).notConsumable(craftingLens, Color.LightBlue).output(NAND_MEMORY_CHIP_WAFER, 4).buildAndRegister(); - - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.Lime).output(NOR_MEMORY_CHIP_WAFER).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER).notConsumable(craftingLens, Color.Lime).output(NOR_MEMORY_CHIP_WAFER, 4).buildAndRegister(); - - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120).input(SILICON_WAFER).notConsumable(craftingLens, Color.White).output(CENTRAL_PROCESSING_UNIT_WAFER).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.White).output(CENTRAL_PROCESSING_UNIT_WAFER, 4).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER).notConsumable(craftingLens, Color.White).output(CENTRAL_PROCESSING_UNIT_WAFER, 8).buildAndRegister(); - - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER).notConsumable(craftingLens, Color.Yellow).output(SYSTEM_ON_CHIP_WAFER, 2).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER).notConsumable(craftingLens, Color.Orange).output(ADVANCED_SYSTEM_ON_CHIP_WAFER).buildAndRegister(); - - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).input(GLOWSTONE_WAFER).notConsumable(craftingLens, Color.Blue).output(POWER_INTEGRATED_CIRCUIT_WAFER).buildAndRegister(); - LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).input(NAQUADAH_WAFER).notConsumable(craftingLens, Color.Blue).output(POWER_INTEGRATED_CIRCUIT_WAFER, 4).buildAndRegister(); - - //Wafer chemical refining recipes - CHEMICAL_RECIPES.recipeBuilder().duration(1200).EUt(1920).input(POWER_INTEGRATED_CIRCUIT_WAFER).input(dust, IndiumGalliumPhosphide, 2).fluidInputs(RedAlloy.getFluid(288)).output(HIGH_POWER_INTEGRATED_CIRCUIT_WAFER).buildAndRegister(); - CHEMICAL_RECIPES.recipeBuilder().duration(400).EUt(480).input(CENTRAL_PROCESSING_UNIT_WAFER).input(CARBON_FIBERS, 16).fluidInputs(Glowstone.getFluid(576)).output(NANO_CENTRAL_PROCESSING_UNIT_WAFER).buildAndRegister(); - CHEMICAL_RECIPES.recipeBuilder().duration(400).EUt(1920).input(NANO_CENTRAL_PROCESSING_UNIT_WAFER).input(QUANTUM_EYE, 2).fluidInputs(GalliumArsenide.getFluid(288)).output(QBIT_CENTRAL_PROCESSING_UNIT_WAFER).buildAndRegister(); - CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(1920).input(NANO_CENTRAL_PROCESSING_UNIT_WAFER).input(dust, IndiumGalliumPhosphide).fluidInputs(Radon.getFluid(50)).output(QBIT_CENTRAL_PROCESSING_UNIT_WAFER).buildAndRegister(); - - //Wafer cutting recipes - CUTTER_RECIPES.recipeBuilder().duration(200).EUt(8).input(SILICON_BOULE).output(SILICON_WAFER, 16).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(400).EUt(64).input(GLOWSTONE_BOULE).output(GLOWSTONE_WAFER, 32).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(800).EUt(384).input(NAQUADAH_BOULE).output(NAQUADAH_WAFER, 64).buildAndRegister(); - - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(ADVANCED_SYSTEM_ON_CHIP_WAFER).output(ADVANCED_SYSTEM_ON_CHIP, 6).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(SYSTEM_ON_CHIP_WAFER).output(SYSTEM_ON_CHIP, 6).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(RANDOM_ACCESS_MEMORY_WAFER).output(RANDOM_ACCESS_MEMORY, 32).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(QBIT_CENTRAL_PROCESSING_UNIT_WAFER).output(QBIT_CENTRAL_PROCESSING_UNIT, 5).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(POWER_INTEGRATED_CIRCUIT_WAFER).output(POWER_INTEGRATED_CIRCUIT, 4).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(HIGH_POWER_INTEGRATED_CIRCUIT_WAFER).output(HIGH_POWER_INTEGRATED_CIRCUIT, 2).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(NOR_MEMORY_CHIP_WAFER).output(NOR_MEMORY_CHIP, 16).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(NAND_MEMORY_CHIP_WAFER).output(NAND_MEMORY_CHIP, 32).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(CENTRAL_PROCESSING_UNIT_WAFER).output(CENTRAL_PROCESSING_UNIT, 8).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(INTEGRATED_LOGIC_CIRCUIT_WAFER).output(INTEGRATED_LOGIC_CIRCUIT, 8).buildAndRegister(); - CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).input(NANO_CENTRAL_PROCESSING_UNIT_WAFER).output(NANO_CENTRAL_PROCESSING_UNIT, 7).buildAndRegister(); - - //circuit assembling recipes - for (MaterialStack stack : solderingList) { - IngotMaterial material = (IngotMaterial) stack.material; - int multiplier = (int) stack.amount; - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(8).inputs(MetaItems.PHENOLIC_BOARD.getStackForm(), MetaItems.INTEGRATED_LOGIC_CIRCUIT.getStackForm(), MetaItems.RESISTOR.getStackForm(2)).input(OrePrefix.wireFine, Materials.Copper).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.BASIC_ELECTRONIC_CIRCUIT_LV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(8).inputs(MetaItems.PHENOLIC_BOARD.getStackForm(), MetaItems.INTEGRATED_LOGIC_CIRCUIT.getStackForm(), MetaItems.SMD_RESISTOR.getStackForm(2)).input(OrePrefix.wireFine, Materials.Copper).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.BASIC_ELECTRONIC_CIRCUIT_LV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(60).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.CENTRAL_PROCESSING_UNIT.getStackForm(4), MetaItems.RESISTOR.getStackForm(4), MetaItems.CAPACITOR.getStackForm(4), MetaItems.TRANSISTOR.getStackForm(4)).input(OrePrefix.wireFine, Materials.Copper, 2).fluidInputs(material.getFluid(L / 2 * multiplier)).outputs(ADVANCED_CIRCUIT_PARTS_LV.getStackForm(4)).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(60).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.CENTRAL_PROCESSING_UNIT.getStackForm(4), MetaItems.SMD_RESISTOR.getStackForm(4), MetaItems.SMD_CAPACITOR.getStackForm(4), MetaItems.SMD_TRANSISTOR.getStackForm(4)).input(OrePrefix.wireFine, Materials.Copper, 2).fluidInputs(material.getFluid(L / 2 * multiplier)).outputs(ADVANCED_CIRCUIT_PARTS_LV.getStackForm(4)).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(600).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.SYSTEM_ON_CHIP.getStackForm(4)).input(OrePrefix.wireFine, Materials.Copper, 2).fluidInputs(material.getFluid(L / 2 * multiplier)).outputs(ADVANCED_CIRCUIT_PARTS_LV.getStackForm(4)).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(16).inputs(MetaItems.PHENOLIC_BOARD.getStackForm(), MetaItems.BASIC_ELECTRONIC_CIRCUIT_LV.getStackForm(3), MetaItems.RESISTOR.getStackForm(4)).input(OrePrefix.wireFine, Materials.Gold, 8).fluidInputs(material.getFluid(L / 2 * multiplier)).outputs(MetaItems.GOOD_INTEGRATED_CIRCUIT_MV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(16).inputs(MetaItems.PHENOLIC_BOARD.getStackForm(), MetaItems.BASIC_ELECTRONIC_CIRCUIT_LV.getStackForm(3), MetaItems.SMD_RESISTOR.getStackForm(4)).input(OrePrefix.wireFine, Materials.Gold, 8).fluidInputs(material.getFluid(L / 2 * multiplier)).outputs(MetaItems.GOOD_INTEGRATED_CIRCUIT_MV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(60).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.RESISTOR.getStackForm(2), MetaItems.CAPACITOR.getStackForm(2), MetaItems.TRANSISTOR.getStackForm(2)).input(OrePrefix.wireFine, Materials.RedAlloy, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.ADVANCED_CIRCUIT_MV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(60).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.SMD_RESISTOR.getStackForm(2), MetaItems.SMD_CAPACITOR.getStackForm(2), MetaItems.SMD_TRANSISTOR.getStackForm(2)).input(OrePrefix.wireFine, Materials.RedAlloy, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.ADVANCED_CIRCUIT_MV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(2400).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.SYSTEM_ON_CHIP.getStackForm()).input(OrePrefix.wireFine, Materials.RedAlloy, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.ADVANCED_CIRCUIT_MV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(90).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.ADVANCED_CIRCUIT_MV.getStackForm(2), MetaItems.SMALL_COIL.getStackForm(4), MetaItems.CAPACITOR.getStackForm(4), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4)).input(OrePrefix.wireFine, Materials.RedAlloy, 12).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.PROCESSOR_ASSEMBLY_HV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(90).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.ADVANCED_CIRCUIT_MV.getStackForm(2), MetaItems.SMALL_COIL.getStackForm(4), MetaItems.SMD_CAPACITOR.getStackForm(4), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4)).input(OrePrefix.wireFine, Materials.RedAlloy, 12).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.PROCESSOR_ASSEMBLY_HV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(480).inputs(MetaItems.EPOXY_BOARD.getStackForm(), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.SMD_RESISTOR.getStackForm(2), MetaItems.SMD_CAPACITOR.getStackForm(2), MetaItems.SMD_TRANSISTOR.getStackForm(2)).input(OrePrefix.wireFine, Materials.Electrum, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.NANO_PROCESSOR_HV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(9600).inputs(MetaItems.EPOXY_BOARD.getStackForm(), MetaItems.SYSTEM_ON_CHIP.getStackForm()).input(OrePrefix.wireFine, Materials.Electrum, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.NANO_PROCESSOR_HV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(480).inputs(MetaItems.EPOXY_BOARD.getStackForm(), MetaItems.NANO_PROCESSOR_HV.getStackForm(2), MetaItems.SMALL_COIL.getStackForm(4), MetaItems.SMD_CAPACITOR.getStackForm(4), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4)).input(OrePrefix.wireFine, Materials.Electrum, 6).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.NANO_PROCESSOR_ASSEMBLY_EV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(1960).inputs(MetaItems.FIBER_BOARD.getStackForm(), MetaItems.QBIT_CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.SMD_CAPACITOR.getStackForm(2), MetaItems.SMD_TRANSISTOR.getStackForm(2)).input(OrePrefix.wireFine, Materials.Platinum, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.QUANTUM_PROCESSOR_EV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(32000).inputs(MetaItems.FIBER_BOARD.getStackForm(), MetaItems.ADVANCED_SYSTEM_ON_CHIP.getStackForm()).input(OrePrefix.wireFine, Materials.Platinum, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.QUANTUM_PROCESSOR_EV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(1960).inputs(MetaItems.FIBER_BOARD.getStackForm(), MetaItems.QUANTUM_PROCESSOR_EV.getStackForm(2), MetaItems.SMALL_COIL.getStackForm(4), MetaItems.SMD_CAPACITOR.getStackForm(4), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4)).input(OrePrefix.wireFine, Materials.Platinum, 6).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.DATA_CONTROL_CIRCUIT_IV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(7600).inputs(MetaItems.MULTILAYER_FIBER_BOARD.getStackForm(), MetaItems.CRYSTAL_CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.SMD_CAPACITOR.getStackForm(2), MetaItems.SMD_TRANSISTOR.getStackForm(2)).input(OrePrefix.wireFine, Materials.NiobiumTitanium, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.CRYSTAL_PROCESSOR_IV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(31900).inputs(MetaItems.MULTILAYER_FIBER_BOARD.getStackForm(), MetaItems.CRYSTAL_SYSTEM_ON_CHIP.getStackForm()).input(OrePrefix.wireFine, Materials.NiobiumTitanium, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.CRYSTAL_PROCESSOR_IV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(7600).inputs(MetaItems.MULTILAYER_FIBER_BOARD.getStackForm(), MetaItems.CRYSTAL_PROCESSOR_IV.getStackForm(2), MetaItems.SMALL_COIL.getStackForm(4), MetaItems.SMD_CAPACITOR.getStackForm(4), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4)).input(OrePrefix.wireFine, Materials.NiobiumTitanium, 6).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.ENERGY_FLOW_CIRCUIT_LUV.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(200).EUt(32800).inputs(MetaItems.WETWARE_BOARD.getStackForm(), MetaItems.CRYSTAL_CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(), MetaItems.SMD_CAPACITOR.getStackForm(2), MetaItems.SMD_TRANSISTOR.getStackForm(2)).input(OrePrefix.wireFine, Materials.YttriumBariumCuprate, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.WETWARE_PROCESSOR_LUV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(34400).inputs(MetaItems.WETWARE_BOARD.getStackForm(), MetaItems.WETWARE_PROCESSOR_LUV.getStackForm(2), MetaItems.SMALL_COIL.getStackForm(4), MetaItems.SMD_CAPACITOR.getStackForm(4), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4)).input(OrePrefix.wireFine, Materials.YttriumBariumCuprate, 6).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.WETWARE_PROCESSOR_ASSEMBLY_ZPM.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(34400).inputs(MetaItems.WETWARE_BOARD.getStackForm(2), MetaItems.WETWARE_PROCESSOR_ASSEMBLY_ZPM.getStackForm(3), MetaItems.SMD_DIODE.getStackForm(4), MetaItems.NOR_MEMORY_CHIP.getStackForm(4), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4)).input(OrePrefix.wireFine, Materials.YttriumBariumCuprate, 6).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.WETWARE_SUPER_COMPUTER_UV.getStackForm()).buildAndRegister(); - - ASSEMBLER_RECIPES.recipeBuilder().duration(512).EUt(1024).inputs(MetaItems.FIBER_BOARD.getStackForm(), MetaItems.POWER_INTEGRATED_CIRCUIT.getStackForm(4), MetaItems.ENGRAVED_LAPOTRON_CHIP.getStackForm(18), MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm()).input(OrePrefix.wireFine, Materials.Platinum, 16).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.ENERGY_LAPOTRONIC_ORB.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(1024).EUt(4096).inputs(MetaItems.FIBER_BOARD.getStackForm(), MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(4), MetaItems.ENERGY_LAPOTRONIC_ORB.getStackForm(8), MetaItems.QBIT_CENTRAL_PROCESSING_UNIT.getStackForm()).input(OrePrefix.wireFine, Materials.Platinum, 16).input(OrePrefix.plate, Materials.Europium, 4).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.ENERGY_LAPOTRONIC_ORB2.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(90).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.ADVANCED_CIRCUIT_MV.getStackForm(), MetaItems.NAND_MEMORY_CHIP.getStackForm(32), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4)).input(OrePrefix.wireFine, Materials.RedAlloy, 8).input(OrePrefix.plate, Materials.Polyethylene, 4).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.TOOL_DATA_STICK.getStackForm()).buildAndRegister(); - ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(1200).inputs(MetaItems.EPOXY_BOARD.getStackForm(), MetaItems.NANO_PROCESSOR_HV.getStackForm(), MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(4), MetaItems.NOR_MEMORY_CHIP.getStackForm(32), MetaItems.NAND_MEMORY_CHIP.getStackForm(64)).input(OrePrefix.wireFine, Materials.Platinum, 32).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.TOOL_DATA_ORB.getStackForm()).buildAndRegister(); - } - - //circuit components recipes - ModHandler.addShapedRecipe("vacuum_tube_wire", MetaItems.VACUUM_TUBE.getStackForm(), "PTP", "WWW", 'P', new ItemStack(Items.PAPER), 'T', MetaItems.GLASS_TUBE.getStackForm(), 'W', new UnificationEntry(OrePrefix.wireGtSingle, Materials.Copper)); - ModHandler.addShapedRecipe("vacuum_tube_wire_fine", MetaItems.VACUUM_TUBE.getStackForm(), "PTP", "WWW", 'P', new ItemStack(Items.PAPER), 'T', MetaItems.GLASS_TUBE.getStackForm(), 'W', new UnificationEntry(OrePrefix.wireFine, Materials.Copper)); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(120).EUt(8).inputs(MetaItems.GLASS_TUBE.getStackForm(), new ItemStack(Items.PAPER, 2)).input(OrePrefix.wireGtSingle, Materials.Copper, 2).outputs(MetaItems.VACUUM_TUBE.getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(120).EUt(8).inputs(MetaItems.GLASS_TUBE.getStackForm(), new ItemStack(Items.PAPER, 2)).input(OrePrefix.wireFine, Materials.Copper, 2).outputs(MetaItems.VACUUM_TUBE.getStackForm()).buildAndRegister(); - ModHandler.addShapedRecipe("basic_circuit", MetaItems.BASIC_CIRCUIT_LV.getStackForm(), "RPR", "VBV", "CCC", 'R', MetaItems.RESISTOR.getStackForm(), 'P', new UnificationEntry(OrePrefix.plate, Materials.Steel), 'V', MetaItems.VACUUM_TUBE.getStackForm(), 'B', MetaItems.COATED_BOARD.getStackForm(), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.RedAlloy)); - ModHandler.addShapedRecipe("good_circuit", MetaItems.GOOD_INTEGRATED_CIRCUIT_MV.getStackForm(), "RCP", "CDC", "PCR", 'R', new UnificationEntry(OrePrefix.cableGtSingle, Materials.RedAlloy), 'P', new UnificationEntry(OrePrefix.plate, Materials.Steel), 'C', MetaItems.BASIC_CIRCUIT_LV.getStackForm(), 'D', MetaItems.DIODE.getStackForm()); - - RecipeMaps.ALLOY_SMELTER_RECIPES.recipeBuilder().duration(160).EUt(8).input(OrePrefix.dust, Materials.Glass).notConsumable(MetaItems.SHAPE_MOLD_BALL).outputs(MetaItems.GLASS_TUBE.getStackForm()).buildAndRegister(); - ModHandler.addShapedRecipe("resistor_wire", MetaItems.RESISTOR.getStackForm(3), " P ", "WCW", " P ", 'P', new ItemStack(Items.PAPER), 'W', new UnificationEntry(OrePrefix.wireGtSingle, Materials.Copper), 'C', new UnificationEntry(OrePrefix.dust, Materials.Coal)); - ModHandler.addShapedRecipe("resistor_wire_fine", MetaItems.RESISTOR.getStackForm(3), " P ", "WCW", " P ", 'P', new ItemStack(Items.PAPER), 'W', new UnificationEntry(OrePrefix.wireFine, Materials.Copper), 'C', new UnificationEntry(OrePrefix.dust, Materials.Coal)); - ModHandler.addShapedRecipe("resistor_wire_charcoal", MetaItems.RESISTOR.getStackForm(3), " P ", "WCW", " P ", 'P', new ItemStack(Items.PAPER), 'W', new UnificationEntry(OrePrefix.wireGtSingle, Materials.Copper), 'C', new UnificationEntry(OrePrefix.dust, Materials.Charcoal)); - ModHandler.addShapedRecipe("resistor_wire_fine_charcoal", MetaItems.RESISTOR.getStackForm(3), " P ", "WCW", " P ", 'P', new ItemStack(Items.PAPER), 'W', new UnificationEntry(OrePrefix.wireFine, Materials.Copper), 'C', new UnificationEntry(OrePrefix.dust, Materials.Charcoal)); - ModHandler.addShapedRecipe("resistor_wire_carbon", MetaItems.RESISTOR.getStackForm(3), " P ", "WCW", " P ", 'P', new ItemStack(Items.PAPER), 'W', new UnificationEntry(OrePrefix.wireGtSingle, Materials.Copper), 'C', new UnificationEntry(OrePrefix.dust, Materials.Carbon)); - ModHandler.addShapedRecipe("resistor_wire_fine_carbon", MetaItems.RESISTOR.getStackForm(3), " P ", "WCW", " P ", 'P', new ItemStack(Items.PAPER), 'W', new UnificationEntry(OrePrefix.wireFine, Materials.Copper), 'C', new UnificationEntry(OrePrefix.dust, Materials.Carbon)); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(160).EUt(6).input(OrePrefix.dust, Materials.Coal).input(OrePrefix.wireFine, Materials.Copper, 4).outputs(MetaItems.RESISTOR.getStackForm(12)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(160).EUt(6).input(OrePrefix.dust, Materials.Charcoal).input(OrePrefix.wireFine, Materials.Copper, 4).outputs(MetaItems.RESISTOR.getStackForm(12)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(160).EUt(6).input(OrePrefix.dust, Materials.Carbon).input(OrePrefix.wireFine, Materials.Copper, 4).outputs(MetaItems.RESISTOR.getStackForm(12)).buildAndRegister(); - - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(96).input(OrePrefix.plate, Materials.Polyethylene).input(OrePrefix.foil, Materials.Aluminium, 2).outputs(MetaItems.CAPACITOR.getStackForm(2)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(24).input(OrePrefix.plate, Materials.Silicon).input(OrePrefix.wireFine, Materials.Tin, 6).fluidInputs(Materials.Polyethylene.getFluid(144)).outputs(MetaItems.TRANSISTOR.getStackForm(8)).buildAndRegister(); - - ModHandler.addShapedRecipe("diode_wafer", MetaItems.DIODE.getStackForm(1), "DG ", "TWT", "DG ", 'D', "dyeBlack", 'G', "paneGlass", 'T', new UnificationEntry(OrePrefix.wireGtSingle, Materials.Tin), 'W', MetaItems.SILICON_WAFER.getStackForm(1)); - ModHandler.addShapedRecipe("diode_wafer_fine", MetaItems.DIODE.getStackForm(1), "DG ", "TWT", "DG ", 'D', "dyeBlack", 'G', "paneGlass", 'T', new UnificationEntry(OrePrefix.wireFine, Materials.Tin), 'W', MetaItems.SILICON_WAFER.getStackForm(1)); - ModHandler.addShapedRecipe("diode", MetaItems.DIODE.getStackForm(4), "DG ", "TWT", "DG ", 'D', "dyeBlack", 'G', "paneGlass", 'T', new UnificationEntry(OrePrefix.wireGtSingle, Materials.Tin), 'W', new UnificationEntry(OrePrefix.dustTiny, Materials.Gallium)); - ModHandler.addShapedRecipe("diode_wire", MetaItems.DIODE.getStackForm(4), "DG ", "TWT", "DG ", 'D', "dyeBlack", 'G', "paneGlass", 'T', new UnificationEntry(OrePrefix.wireFine, Materials.Tin), 'W', new UnificationEntry(OrePrefix.dustTiny, Materials.Gallium)); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(48).input(OrePrefix.wireFine, Materials.AnnealedCopper, 4).input(OrePrefix.dustSmall, Materials.Gallium).fluidInputs(Materials.Polyethylene.getFluid(288)).outputs(MetaItems.DIODE.getStackForm(16)).buildAndRegister(); - - ModHandler.addShapedRecipe("small_coil_copper_steel", MetaItems.SMALL_COIL.getStackForm(2), "WWW", "WBW", "WWW", 'W', new UnificationEntry(OrePrefix.wireFine, Materials.Copper), 'B', new UnificationEntry(OrePrefix.bolt, Materials.Steel)); - ModHandler.addShapedRecipe("small_coil_annealed_copper_steel", MetaItems.SMALL_COIL.getStackForm(2), "WWW", "WBW", "WWW", 'W', new UnificationEntry(OrePrefix.wireFine, Materials.AnnealedCopper), 'B', new UnificationEntry(OrePrefix.bolt, Materials.Steel)); - ModHandler.addShapedRecipe("small_coil_copper_ferrite", MetaItems.SMALL_COIL.getStackForm(4), "WWW", "WBW", "WWW", 'W', new UnificationEntry(OrePrefix.wireFine, Materials.Copper), 'B', new UnificationEntry(OrePrefix.bolt, Materials.NickelZincFerrite)); - ModHandler.addShapedRecipe("small_coil_annealed_copper_ferrite", MetaItems.SMALL_COIL.getStackForm(4), "WWW", "WBW", "WWW", 'W', new UnificationEntry(OrePrefix.wireFine, Materials.AnnealedCopper), 'B', new UnificationEntry(OrePrefix.bolt, Materials.NickelZincFerrite)); - - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(8).input(OrePrefix.wireFine, Materials.Copper).input(OrePrefix.bolt, Materials.Steel).outputs(MetaItems.SMALL_COIL.getStackForm(2)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(8).input(OrePrefix.wireFine, Materials.AnnealedCopper).input(OrePrefix.bolt, Materials.Steel).outputs(MetaItems.SMALL_COIL.getStackForm(2)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(8).input(OrePrefix.wireFine, Materials.Copper).input(OrePrefix.bolt, Materials.NickelZincFerrite).outputs(MetaItems.SMALL_COIL.getStackForm(4)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(8).input(OrePrefix.wireFine, Materials.AnnealedCopper).input(OrePrefix.bolt, Materials.NickelZincFerrite).outputs(MetaItems.SMALL_COIL.getStackForm(4)).buildAndRegister(); - - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(96).input(OrePrefix.dust, Materials.Carbon).input(OrePrefix.wireFine, Materials.Electrum, 4).fluidInputs(Materials.Polyethylene.getFluid(144)).outputs(MetaItems.SMD_RESISTOR.getStackForm(24)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(120).input(OrePrefix.dustSmall, Materials.Gallium).input(OrePrefix.wireFine, Materials.Platinum, 4).fluidInputs(Materials.Polyethylene.getFluid(288)).outputs(MetaItems.SMD_DIODE.getStackForm(32)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(80).EUt(96).input(OrePrefix.plate, Materials.Gallium).input(OrePrefix.wireFine, Materials.AnnealedCopper, 6).fluidInputs(Materials.Polyethylene.getFluid(288)).outputs(MetaItems.SMD_TRANSISTOR.getStackForm(32)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(120).input(OrePrefix.foil, Materials.PolyvinylChloride, 4).input(OrePrefix.foil, Materials.Aluminium).fluidInputs(Materials.Polyethylene.getFluid(36)).outputs(MetaItems.SMD_CAPACITOR.getStackForm(16)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(60).EUt(120).input(OrePrefix.foil, Materials.SiliconeRubber, 4).input(OrePrefix.foil, Materials.Aluminium).fluidInputs(Materials.Polyethylene.getFluid(36)).outputs(MetaItems.SMD_CAPACITOR.getStackForm(16)).buildAndRegister(); - - RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(150).EUt(5).input(OrePrefix.dust, Materials.Carbon, 4).fluidInputs(Materials.Palladium.getFluid(1)).chancedOutput(MetaItems.CARBON_FIBERS.getStackForm(2), 9000, 1000).buildAndRegister(); - RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(150).EUt(5).input(OrePrefix.dust, Materials.Carbon, 4).fluidInputs(Materials.Platinum.getFluid(1)).chancedOutput(MetaItems.CARBON_FIBERS.getStackForm(2), 5000, 5000).buildAndRegister(); - RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(150).EUt(5).input(OrePrefix.dust, Materials.Carbon, 4).fluidInputs(Materials.Lutetium.getFluid(1)).chancedOutput(MetaItems.CARBON_FIBERS.getStackForm(2), 3333, 3334).buildAndRegister(); - - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(4000).EUt(120).inputs(MetaItems.PLATE_IRIDIUM_ALLOY.getStackForm()).input(OrePrefix.plate, Materials.Beryllium, 32).input(OrePrefix.plate, Materials.TungstenCarbide, 4).fluidInputs(Materials.TinAlloy.getFluid(L * 32)).outputs(MetaItems.NEUTRON_REFLECTOR.getStackForm()).buildAndRegister(); - - //circuit board recipes - ModHandler.addShapedRecipe("coated_board", MetaItems.COATED_BOARD.getStackForm(3), " R ", "PPP", " R ", 'R', MetaItems.RUBBER_DROP.getStackForm(), 'P', new UnificationEntry(OrePrefix.plate, Materials.Wood)); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(160).EUt(8).input(OrePrefix.plate, Materials.Wood, 8).inputs(MetaItems.RUBBER_DROP.getStackForm()).fluidInputs(Materials.Glue.getFluid(100)).outputs(MetaItems.COATED_BOARD.getStackForm(8)).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(30).EUt(8).input(OrePrefix.dust, Materials.Wood).notConsumable(MetaItems.SHAPE_MOLD_PLATE.getStackForm()).fluidInputs(Materials.Glue.getFluid(100)).outputs(MetaItems.PHENOLIC_BOARD.getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(30).EUt(8).input(OrePrefix.dust, Materials.Wood).notConsumable(MetaItems.SHAPE_MOLD_PLATE.getStackForm()).fluidInputs(Materials.BisphenolA.getFluid(100)).outputs(MetaItems.PHENOLIC_BOARD.getStackForm(4)).buildAndRegister(); - RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(10).input(OrePrefix.plate, Materials.Polyethylene).input(OrePrefix.foil, Materials.Copper).fluidInputs(Materials.SulfuricAcid.getFluid(125)).outputs(MetaItems.PLASTIC_BOARD.getStackForm()).buildAndRegister(); - RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(10).input(OrePrefix.plate, Materials.PolyvinylChloride).input(OrePrefix.foil, Materials.Copper).fluidInputs(Materials.SulfuricAcid.getFluid(125)).outputs(MetaItems.PLASTIC_BOARD.getStackForm(2)).buildAndRegister(); - RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(10).input(OrePrefix.plate, Materials.Polytetrafluoroethylene).input(OrePrefix.foil, Materials.Copper).fluidInputs(Materials.SulfuricAcid.getFluid(125)).outputs(MetaItems.PLASTIC_BOARD.getStackForm(4)).buildAndRegister(); - RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(500).EUt(10).input(OrePrefix.plate, Materials.Epoxy).input(OrePrefix.foil, Materials.Copper).fluidInputs(Materials.SulfuricAcid.getFluid(125)).outputs(MetaItems.EPOXY_BOARD.getStackForm()).buildAndRegister(); - RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(500).EUt(10).input(OrePrefix.plate, Materials.ReinforcedEpoxyResin).input(OrePrefix.foil, Materials.Copper).fluidInputs(Materials.SulfuricAcid.getFluid(125)).outputs(MetaItems.FIBER_BOARD.getStackForm()).buildAndRegister(); - RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(100).EUt(480).inputs(MetaItems.FIBER_BOARD.getStackForm()).input(OrePrefix.foil, Materials.Electrum, 16).fluidInputs(Materials.SulfuricAcid.getFluid(250)).outputs(MetaItems.MULTILAYER_FIBER_BOARD.getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(400).EUt(480).inputs(MetaItems.MULTILAYER_FIBER_BOARD.getStackForm()).input(OrePrefix.circuit, Tier.Good).inputs(MetaItems.ELECTRIC_PUMP_LV.getStackForm(), MetaItems.SENSOR_LV.getStackForm(), MetaItems.PETRI_DISH.getStackForm()).fluidInputs(Materials.SterileGrowthMedium.getFluid(250)).outputs(MetaItems.WETWARE_BOARD.getStackForm()).buildAndRegister(); - - RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(100).EUt(32000).inputs(MetaItems.CRYSTAL_CENTRAL_PROCESSING_UNIT.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Blue).outputs(MetaItems.CRYSTAL_SYSTEM_ON_CHIP.getStackForm()).buildAndRegister(); - RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(100).EUt(7600).inputs(MetaItems.ENGRAVED_CRYSTAL_CHIP.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Lime).outputs(MetaItems.CRYSTAL_CENTRAL_PROCESSING_UNIT.getStackForm()).buildAndRegister(); - RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(256).EUt(480).inputs(MetaItems.LAPOTRON_CRYSTAL.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Blue).outputs(MetaItems.ENGRAVED_LAPOTRON_CHIP.getStackForm(3)).buildAndRegister(); - - RecipeMaps.CHEMICAL_BATH_RECIPES.recipeBuilder().duration(240).EUt(16).inputs(MetaItems.GLASS_FIBER.getStackForm()).fluidInputs(Materials.Epoxy.getFluid(144)).outputs(OreDictUnifier.get(OrePrefix.plate, Materials.ReinforcedEpoxyResin)).buildAndRegister(); - RecipeMaps.CHEMICAL_BATH_RECIPES.recipeBuilder().duration(240).EUt(16).inputs(MetaItems.CARBON_FIBERS.getStackForm()).fluidInputs(Materials.Epoxy.getFluid(144)).outputs(OreDictUnifier.get(OrePrefix.plate, Materials.ReinforcedEpoxyResin)).buildAndRegister(); - RecipeMaps.EXTRUDER_RECIPES.recipeBuilder().duration(160).EUt(96).input(OrePrefix.ingot, Materials.BorosilicateGlass).notConsumable(MetaItems.SHAPE_EXTRUDER_WIRE.getStackForm()).outputs(MetaItems.GLASS_FIBER.getStackForm(8)).buildAndRegister(); - - RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(12000).EUt(320).input(OrePrefix.gemExquisite, Materials.Emerald).fluidInputs(Materials.Europium.getFluid(L / 9)).chancedOutput(MetaItems.RAW_CRYSTAL_CHIP.getStackForm(), 1000, 2000).buildAndRegister(); - RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(12000).EUt(320).input(OrePrefix.gemExquisite, Materials.Olivine).fluidInputs(Materials.Europium.getFluid(L / 9)).chancedOutput(MetaItems.RAW_CRYSTAL_CHIP.getStackForm(), 1000, 2000).buildAndRegister(); - - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(900).EUt(480).blastFurnaceTemp(5000).input(OrePrefix.plate, Materials.Emerald).inputs(MetaItems.RAW_CRYSTAL_CHIP.getStackForm(1)).fluidInputs(Materials.Helium.getFluid(1000)).outputs(MetaItems.ENGRAVED_CRYSTAL_CHIP.getStackForm(1)).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(900).EUt(480).blastFurnaceTemp(5000).input(OrePrefix.plate, Materials.Olivine).inputs(MetaItems.RAW_CRYSTAL_CHIP.getStackForm(1)).fluidInputs(Materials.Helium.getFluid(1000)).outputs(MetaItems.ENGRAVED_CRYSTAL_CHIP.getStackForm(1)).buildAndRegister(); - - RecipeMaps.CUTTER_RECIPES.recipeBuilder().EUt(60).duration(960).inputs(MetaItems.CRYSTAL_CENTRAL_PROCESSING_UNIT.getStackForm(1)).outputs(MetaItems.RAW_CRYSTAL_CHIP.getStackForm(2)).buildAndRegister(); - - RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder().duration(160).EUt(16).notConsumable(MetaItems.SHAPE_MOLD_CYLINDER).fluidInputs(Materials.Polystyrene.getFluid(L / 4)).outputs(MetaItems.PETRI_DISH.getStackForm()).buildAndRegister(); - RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder().duration(160).EUt(16).notConsumable(MetaItems.SHAPE_MOLD_CYLINDER).fluidInputs(Materials.Polytetrafluoroethylene.getFluid(L / 4)).outputs(MetaItems.PETRI_DISH.getStackForm()).buildAndRegister(); - - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(30).EUt(4).input(OrePrefix.dust, Materials.Tantalum).input(OrePrefix.foil, Materials.Manganese).fluidInputs(Materials.Polyethylene.getFluid(144)).outputs(MetaItems.BATTERY_RE_ULV_TANTALUM.getStackForm(8)).buildAndRegister(); - RecipeMaps.CHEMICAL_BATH_RECIPES.recipeBuilder().duration(480).EUt(384).input(OrePrefix.gem, Materials.EnderEye, 1).fluidInputs(Materials.Radon.getFluid(250)).outputs(MetaItems.QUANTUM_EYE.getStackForm()).buildAndRegister(); - RecipeMaps.CHEMICAL_BATH_RECIPES.recipeBuilder().duration(1920).EUt(384).input(OrePrefix.gem, Materials.NetherStar, 1).fluidInputs(Materials.Radon.getFluid(1250)).outputs(MetaItems.QUANTUM_STAR.getStackForm()).buildAndRegister(); - RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(480).EUt(7680).input(OrePrefix.gem, Materials.NetherStar, 1).fluidInputs(Materials.Neutronium.getFluid(L * 2)).outputs(MetaItems.GRAVI_STAR.getStackForm()).buildAndRegister(); - } - private static void registerMixingCrystallizationRecipes() { RecipeMaps.MIXER_RECIPES.recipeBuilder() .input(OrePrefix.dust, Materials.Stone, 1) @@ -695,11 +503,11 @@ private static void registerAssemblerRecipes() { RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.MV)).input(OrePrefix.cableGtSingle, Materials.AnnealedCopper, 2).fluidInputs(Materials.Polyethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[2].getStackForm()).buildAndRegister(); RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.HV)).input(OrePrefix.cableGtSingle, Materials.Gold, 2).fluidInputs(Materials.Polyethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[3].getStackForm()).buildAndRegister(); RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.EV)).input(OrePrefix.cableGtSingle, Materials.Aluminium, 2).fluidInputs(Materials.Polyethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[4].getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.IV)).input(OrePrefix.cableGtSingle, Materials.Tungsten, 2).fluidInputs(Materials.Polyethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[5].getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.LuV)).input(OrePrefix.cableGtSingle, Materials.VanadiumGallium, 2).fluidInputs(Materials.Polyethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[6].getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.ZPM)).input(OrePrefix.cableGtSingle, Materials.Naquadah, 2).fluidInputs(Materials.Polytetrafluoroethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[7].getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.UV)).input(OrePrefix.wireGtQuadruple, Materials.NaquadahAlloy, 2).fluidInputs(Materials.Polytetrafluoroethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[8].getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.MAX)).input(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor, 2).fluidInputs(Materials.Polytetrafluoroethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[9].getStackForm()).buildAndRegister(); + RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.IV)).input(OrePrefix.cableGtSingle, Materials.Tungsten, 2).fluidInputs(Polytetrafluoroethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[5].getStackForm()).buildAndRegister(); + RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.LuV)).input(OrePrefix.cableGtSingle, Materials.VanadiumGallium, 2).fluidInputs(Polytetrafluoroethylene.getFluid(L * 2)).outputs(MetaTileEntities.HULL[6].getStackForm()).buildAndRegister(); + RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.ZPM)).input(OrePrefix.cableGtSingle, Materials.Naquadah, 2).fluidInputs(Polybenzimidazole.getFluid(L * 2)).outputs(MetaTileEntities.HULL[7].getStackForm()).buildAndRegister(); + RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.UV)).input(OrePrefix.wireGtQuadruple, Materials.NaquadahAlloy, 2).fluidInputs(Polybenzimidazole.getFluid(L * 2)).outputs(MetaTileEntities.HULL[8].getStackForm()).buildAndRegister(); + RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.MAX)).input(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor, 2).fluidInputs(Polybenzimidazole.getFluid(L * 2)).outputs(MetaTileEntities.HULL[9].getStackForm()).buildAndRegister(); } else { RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(25).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.ULV)).input(OrePrefix.cableGtSingle, Materials.Lead, 2).outputs(MetaTileEntities.HULL[0].getStackForm()).buildAndRegister(); RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.LV)).input(OrePrefix.cableGtSingle, Materials.Tin, 2).outputs(MetaTileEntities.HULL[1].getStackForm()).buildAndRegister(); @@ -714,51 +522,51 @@ private static void registerAssemblerRecipes() { RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(16).inputs(MetaBlocks.MACHINE_CASING.getItemVariant(MachineCasingType.MAX)).input(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor, 2).outputs(MetaTileEntities.HULL[14].getStackForm()).buildAndRegister(); } - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(800).EUt(1).input(OrePrefix.cableGtSingle, Materials.Tin, 1).input(OrePrefix.plate, Materials.BatteryAlloy, 1).fluidInputs(Materials.Polyethylene.getFluid(144)).outputs(MetaItems.BATTERY_HULL_LV.getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(1600).EUt(2).input(OrePrefix.cableGtSingle, Materials.Copper, 2).input(OrePrefix.plate, Materials.BatteryAlloy, 3).fluidInputs(Materials.Polyethylene.getFluid(432)).outputs(MetaItems.BATTERY_HULL_MV.getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(1600).EUt(2).input(OrePrefix.cableGtSingle, Materials.AnnealedCopper, 2).input(OrePrefix.plate, Materials.BatteryAlloy, 3).fluidInputs(Materials.Polyethylene.getFluid(432)).outputs(MetaItems.BATTERY_HULL_MV.getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(3200).EUt(4).input(OrePrefix.cableGtSingle, Materials.Gold, 4).input(OrePrefix.plate, Materials.BatteryAlloy, 9).fluidInputs(Materials.Polyethylene.getFluid(1296)).outputs(MetaItems.BATTERY_HULL_HV.getStackForm()).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Items.STRING, 4, GTValues.W), new ItemStack(Items.SLIME_BALL, 1, GTValues.W)).outputs(new ItemStack(Items.LEAD, 2)).duration(200).buildAndRegister(); - - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Blocks.CHEST, 1, GTValues.W)).input(OrePrefix.plate, Materials.Iron, 5).outputs(new ItemStack(Blocks.HOPPER)).duration(800).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Blocks.TRAPPED_CHEST, 1, GTValues.W)).input(OrePrefix.plate, Materials.Iron, 5).outputs(new ItemStack(Blocks.HOPPER)).duration(800).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Blocks.CHEST, 1, GTValues.W)).input(OrePrefix.plate, Materials.WroughtIron, 5).outputs(new ItemStack(Blocks.HOPPER)).duration(800).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Blocks.TRAPPED_CHEST, 1, GTValues.W)).input(OrePrefix.plate, Materials.WroughtIron, 5).outputs(new ItemStack(Blocks.HOPPER)).duration(800).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Items.BLAZE_ROD)).input(OrePrefix.gem, Materials.EnderPearl, 6).outputs(new ItemStack(Items.ENDER_EYE, 6, 0)).duration(2500).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(2).input(OrePrefix.gear, Materials.CobaltBrass, 1).input(OrePrefix.dust, Materials.Diamond, 1).outputs(MetaItems.COMPONENT_SAW_BLADE_DIAMOND.getStackForm(1)).duration(1600).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(1).input(OrePrefix.dust, Materials.Redstone, 4).input(OrePrefix.dust, Materials.Glowstone, 4).outputs(new ItemStack(Blocks.REDSTONE_LAMP, 1)).duration(400).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(1).input(OrePrefix.dust, Materials.Redstone, 1).input(OrePrefix.stick, Materials.Wood, 1).outputs(new ItemStack(Blocks.REDSTONE_TORCH, 1)).duration(400).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(4).input(OrePrefix.dust, Materials.Redstone, 1).input(OrePrefix.plate, Materials.Iron, 4).outputs(new ItemStack(Items.COMPASS, 1)).duration(400).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(4).input(OrePrefix.dust, Materials.Redstone, 1).input(OrePrefix.plate, Materials.WroughtIron, 4).outputs(new ItemStack(Items.COMPASS, 1)).duration(400).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(4).input(OrePrefix.dust, Materials.Redstone, 1).input(OrePrefix.plate, Materials.Gold, 4).outputs(new ItemStack(Items.CLOCK, 1)).duration(400).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(1).input(OrePrefix.stick, Materials.Wood, 1).input(OrePrefix.dust, Materials.Sulfur, 1).outputs(new ItemStack(Blocks.TORCH, 2)).duration(400).buildAndRegister(); - RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().EUt(1).input(OrePrefix.stick, Materials.Wood, 1).input(OrePrefix.dust, Materials.Phosphorus, 1).outputs(new ItemStack(Blocks.TORCH, 6)).duration(400).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().duration(800).EUt(1).input(cableGtSingle, Tin).input(plate, BatteryAlloy).fluidInputs(Polyethylene.getFluid(144)).output(BATTERY_HULL_LV).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().duration(1600).EUt(2).input(cableGtSingle, Copper, 2).input(plate, BatteryAlloy, 3).fluidInputs(Polyethylene.getFluid(432)).output(BATTERY_HULL_MV).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().duration(1600).EUt(2).input(cableGtSingle, AnnealedCopper, 2).input(plate, BatteryAlloy, 3).fluidInputs(Polyethylene.getFluid(432)).output(BATTERY_HULL_MV).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().duration(3200).EUt(4).input(cableGtSingle, Gold, 4).input(plate, BatteryAlloy, 9).fluidInputs(Polyethylene.getFluid(1296)).output(BATTERY_HULL_HV).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Items.STRING, 4, GTValues.W), new ItemStack(Items.SLIME_BALL, 1, GTValues.W)).outputs(new ItemStack(Items.LEAD, 2)).duration(200).buildAndRegister(); + + ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Blocks.CHEST, 1, GTValues.W)).input(plate, Iron, 5).outputs(new ItemStack(Blocks.HOPPER)).duration(800).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Blocks.TRAPPED_CHEST, 1, GTValues.W)).input(plate, Iron, 5).outputs(new ItemStack(Blocks.HOPPER)).duration(800).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Blocks.CHEST, 1, GTValues.W)).input(plate, WroughtIron, 5).outputs(new ItemStack(Blocks.HOPPER)).duration(800).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Blocks.TRAPPED_CHEST, 1, GTValues.W)).input(plate, WroughtIron, 5).outputs(new ItemStack(Blocks.HOPPER)).duration(800).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(2).inputs(new ItemStack(Items.BLAZE_ROD)).input(gem, EnderPearl, 6).outputs(new ItemStack(Items.ENDER_EYE, 6, 0)).duration(2500).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(2).input(gear, CobaltBrass).input(dust, Diamond).output(COMPONENT_SAW_BLADE_DIAMOND).duration(1600).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(1).input(dust, Redstone, 4).input(dust, Glowstone, 4).outputs(new ItemStack(Blocks.REDSTONE_LAMP, 1)).duration(400).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(1).input(dust, Redstone).input(stick, Wood).outputs(new ItemStack(Blocks.REDSTONE_TORCH, 1)).duration(400).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(4).input(dust, Redstone).input(plate, Iron, 4).outputs(new ItemStack(Items.COMPASS, 1)).duration(400).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(4).input(dust, Redstone).input(plate, WroughtIron, 4).outputs(new ItemStack(Items.COMPASS, 1)).duration(400).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(4).input(dust, Redstone).input(plate, Gold, 4).outputs(new ItemStack(Items.CLOCK, 1)).duration(400).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(1).input(stick, Wood).input(dust, Sulfur).outputs(new ItemStack(Blocks.TORCH, 2)).duration(400).buildAndRegister(); + ASSEMBLER_RECIPES.recipeBuilder().EUt(1).input(stick, Wood).input(dust, Phosphorus).outputs(new ItemStack(Blocks.TORCH, 6)).duration(400).buildAndRegister(); } private static void registerBlastFurnaceRecipes() { - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration((int) Math.max(Materials.TungstenSteel.getAverageMass() / 80, 1) * Materials.TungstenSteel.blastFurnaceTemperature).EUt(480).input(OrePrefix.ingot, Materials.Tungsten, 1).input(OrePrefix.ingot, Materials.Steel, 1).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.TungstenSteel, 2), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 1)).blastFurnaceTemp(Materials.TungstenSteel.blastFurnaceTemperature).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration((int) Math.max(Materials.TungstenCarbide.getAverageMass() / 40, 1) * Materials.TungstenCarbide.blastFurnaceTemperature).EUt(480).input(OrePrefix.ingot, Materials.Tungsten, 1).input(OrePrefix.dust, Materials.Carbon, 1).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.TungstenCarbide, 2), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 1)).blastFurnaceTemp(Materials.TungstenCarbide.blastFurnaceTemperature).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration((int) Math.max(Materials.VanadiumGallium.getAverageMass() / 40, 1) * Materials.VanadiumGallium.blastFurnaceTemperature).EUt(480).input(OrePrefix.ingot, Materials.Vanadium, 3).input(OrePrefix.ingot, Materials.Gallium, 1).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.VanadiumGallium, 4), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 2)).blastFurnaceTemp(Materials.VanadiumGallium.blastFurnaceTemperature).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration((int) Math.max(Materials.NiobiumTitanium.getAverageMass() / 80, 1) * Materials.NiobiumTitanium.blastFurnaceTemperature).EUt(480).input(OrePrefix.ingot, Materials.Niobium, 1).input(OrePrefix.ingot, Materials.Titanium, 1).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.NiobiumTitanium, 2), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 1)).blastFurnaceTemp(Materials.NiobiumTitanium.blastFurnaceTemperature).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration((int) Math.max(Materials.Nichrome.getAverageMass() / 32, 1) * Materials.Nichrome.blastFurnaceTemperature).EUt(480).input(OrePrefix.ingot, Materials.Nickel, 4).input(OrePrefix.ingot, Materials.Chrome, 1).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.Nichrome, 5), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 2)).blastFurnaceTemp(Materials.Nichrome.blastFurnaceTemperature).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(400).EUt(100).input(OrePrefix.dust, Materials.Ruby, 1).outputs(OreDictUnifier.get(OrePrefix.nugget, Materials.Aluminium, 5), OreDictUnifier.get(OrePrefix.dustTiny, Materials.DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(320).EUt(100).input(OrePrefix.gem, Materials.Ruby, 1).outputs(OreDictUnifier.get(OrePrefix.nugget, Materials.Aluminium, 5), OreDictUnifier.get(OrePrefix.dustTiny, Materials.DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(400).EUt(100).input(OrePrefix.dust, Materials.GreenSapphire, 1).outputs(OreDictUnifier.get(OrePrefix.nugget, Materials.Aluminium, 5), OreDictUnifier.get(OrePrefix.dustTiny, Materials.DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(320).EUt(100).input(OrePrefix.gem, Materials.GreenSapphire, 1).outputs(OreDictUnifier.get(OrePrefix.nugget, Materials.Aluminium, 5), OreDictUnifier.get(OrePrefix.dustTiny, Materials.DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(400).EUt(100).input(OrePrefix.dust, Materials.Sapphire, 1).outputs(OreDictUnifier.get(OrePrefix.nugget, Materials.Aluminium, 5), OreDictUnifier.get(OrePrefix.dustTiny, Materials.DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(320).EUt(100).input(OrePrefix.gem, Materials.Sapphire, 1).outputs(OreDictUnifier.get(OrePrefix.nugget, Materials.Aluminium, 5), OreDictUnifier.get(OrePrefix.dustTiny, Materials.DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(800).EUt(500).input(OrePrefix.dust, Materials.Ilmenite, 5).outputs(OreDictUnifier.get(OrePrefix.ingot, Materials.WroughtIron), OreDictUnifier.get(OrePrefix.dust, Materials.Rutile, 3)).blastFurnaceTemp(1700).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(800).EUt(480).input(OrePrefix.dust, Materials.Magnesium, 2).fluidInputs(Materials.TitaniumTetrachloride.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.Titanium, 1), OreDictUnifier.get(OrePrefix.dust, Materials.MagnesiumChloride, 6)).blastFurnaceTemp(Materials.Titanium.blastFurnaceTemperature + 200).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(400).EUt(500).input(OrePrefix.dust, Materials.Galena, 1).fluidInputs(Materials.Oxygen.getFluid(2000)).outputs(OreDictUnifier.get(OrePrefix.nugget, Materials.Silver, 4), OreDictUnifier.get(OrePrefix.nugget, Materials.Lead, 4)).blastFurnaceTemp(1500).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(400).EUt(500).input(OrePrefix.dust, Materials.Magnetite, 1).fluidInputs(Materials.Oxygen.getFluid(2000)).outputs(OreDictUnifier.get(OrePrefix.nugget, Materials.WroughtIron, 4), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 1)).blastFurnaceTemp(1000).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(500).EUt(120).input(OrePrefix.ingot, Materials.Iron, 1).fluidInputs(Materials.Oxygen.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingot, Materials.Steel, 1), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 1)).blastFurnaceTemp(1000).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(100).EUt(120).input(OrePrefix.ingot, Materials.PigIron, 1).fluidInputs(Materials.Oxygen.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingot, Materials.Steel, 1), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 1)).blastFurnaceTemp(1000).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(100).EUt(120).input(OrePrefix.ingot, Materials.WroughtIron, 1).fluidInputs(Materials.Oxygen.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingot, Materials.Steel, 1), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 1)).blastFurnaceTemp(1000).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(500).EUt(120).input(OrePrefix.dust, Materials.Copper, 1).fluidInputs(Materials.Oxygen.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingot, Materials.AnnealedCopper, 1)).blastFurnaceTemp(1200).notConsumable(new IntCircuitIngredient(1)).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(500).EUt(120).input(OrePrefix.ingot, Materials.Copper, 1).fluidInputs(Materials.Oxygen.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingot, Materials.AnnealedCopper, 1)).blastFurnaceTemp(1200).notConsumable(new IntCircuitIngredient(1)).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(500).EUt(1920).input(OrePrefix.ingot, Materials.Iridium, 3).input(OrePrefix.ingot, Materials.Osmium, 1).fluidInputs(Materials.Helium.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.Osmiridium, 4)).blastFurnaceTemp(2900).buildAndRegister(); - RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(500).EUt(30720).input(OrePrefix.ingot, Materials.Naquadah, 1).input(OrePrefix.ingot, Materials.Osmiridium, 1).fluidInputs(Materials.Argon.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.NaquadahAlloy, 2)).blastFurnaceTemp(Materials.NaquadahAlloy.blastFurnaceTemperature).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration((int) Math.max(TungstenSteel.getAverageMass() / 80, 1) * TungstenSteel.blastFurnaceTemperature).EUt(480).input(ingot, Tungsten).input(ingot, Steel).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.TungstenSteel, 2), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh)).blastFurnaceTemp(TungstenSteel.blastFurnaceTemperature).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration((int) Math.max(TungstenCarbide.getAverageMass() / 40, 1) * TungstenCarbide.blastFurnaceTemperature).EUt(480).input(ingot, Tungsten).input(dust, Carbon).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.TungstenCarbide, 2), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh)).blastFurnaceTemp(TungstenCarbide.blastFurnaceTemperature).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration((int) Math.max(VanadiumGallium.getAverageMass() / 40, 1) * VanadiumGallium.blastFurnaceTemperature).EUt(480).input(ingot, Vanadium, 3).input(ingot, Gallium).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.VanadiumGallium, 4), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 2)).blastFurnaceTemp(VanadiumGallium.blastFurnaceTemperature).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration((int) Math.max(NiobiumTitanium.getAverageMass() / 80, 1) * NiobiumTitanium.blastFurnaceTemperature).EUt(480).input(ingot, Niobium).input(ingot, Titanium).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.NiobiumTitanium, 2), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh)).blastFurnaceTemp(NiobiumTitanium.blastFurnaceTemperature).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration((int) Math.max(Nichrome.getAverageMass() / 32, 1) * Nichrome.blastFurnaceTemperature).EUt(480).input(ingot, Nickel, 4).input(ingot, Chrome).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.Nichrome, 5), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh, 2)).blastFurnaceTemp(Nichrome.blastFurnaceTemperature).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(400).EUt(100).input(dust, Ruby).outputs(OreDictUnifier.get(nugget, Aluminium, 5), OreDictUnifier.get(dustTiny, DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(320).EUt(100).input(gem, Ruby).outputs(OreDictUnifier.get(nugget, Aluminium, 5), OreDictUnifier.get(dustTiny, DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(400).EUt(100).input(dust, GreenSapphire).output(nugget, Aluminium, 5).output(dustTiny, DarkAsh, 4).blastFurnaceTemp(1200).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(320).EUt(100).input(gem, GreenSapphire).outputs(OreDictUnifier.get(nugget, Aluminium, 5), OreDictUnifier.get(dustTiny, DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(400).EUt(100).input(dust, Sapphire).outputs(OreDictUnifier.get(nugget, Aluminium, 5), OreDictUnifier.get(dustTiny, DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(320).EUt(100).input(gem, Sapphire).outputs(OreDictUnifier.get(nugget, Aluminium, 5), OreDictUnifier.get(dustTiny, DarkAsh, 4)).blastFurnaceTemp(1200).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(800).EUt(500).input(dust, Ilmenite, 5).outputs(OreDictUnifier.get(ingot, WroughtIron), OreDictUnifier.get(dust, Rutile, 3)).blastFurnaceTemp(1700).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(800).EUt(480).input(dust, Magnesium, 2).fluidInputs(TitaniumTetrachloride.getFluid(1000)).outputs(OreDictUnifier.get(OrePrefix.ingotHot, Materials.Titanium), OreDictUnifier.get(OrePrefix.dust, Materials.MagnesiumChloride, 6)).blastFurnaceTemp(Materials.Titanium.blastFurnaceTemperature + 200).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(400).EUt(500).input(dust, Galena).fluidInputs(Oxygen.getFluid(2000)).outputs(OreDictUnifier.get(nugget, Silver, 4), OreDictUnifier.get(OrePrefix.nugget, Materials.Lead, 4)).blastFurnaceTemp(1500).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(400).EUt(500).input(dust, Magnetite).fluidInputs(Oxygen.getFluid(2000)).outputs(OreDictUnifier.get(nugget, WroughtIron, 4), OreDictUnifier.get(dustSmall, DarkAsh)).blastFurnaceTemp(1000).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(500).EUt(120).input(ingot, Iron).fluidInputs(Oxygen.getFluid(1000)).outputs(OreDictUnifier.get(ingot, Steel), OreDictUnifier.get(OrePrefix.dustSmall, Materials.DarkAsh)).blastFurnaceTemp(1000).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(100).EUt(120).input(ingot, PigIron).fluidInputs(Oxygen.getFluid(1000)).output(ingot, Steel).output(dustSmall, DarkAsh).blastFurnaceTemp(1000).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(100).EUt(120).input(ingot, WroughtIron).fluidInputs(Oxygen.getFluid(1000)).output(ingot, Steel).output(dustSmall, DarkAsh).blastFurnaceTemp(1000).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(500).EUt(120).input(dust, Copper).fluidInputs(Oxygen.getFluid(1000)).output(ingot, AnnealedCopper).blastFurnaceTemp(1200).notConsumable(new IntCircuitIngredient(1)).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(500).EUt(120).input(ingot, Copper).fluidInputs(Oxygen.getFluid(1000)).output(ingot, AnnealedCopper).blastFurnaceTemp(1200).notConsumable(new IntCircuitIngredient(1)).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(500).EUt(1920).input(ingot, Iridium, 3).input(ingot, Osmium).fluidInputs(Helium.getFluid(1000)).output(ingotHot, Osmiridium, 4).blastFurnaceTemp(2900).buildAndRegister(); + BLAST_RECIPES.recipeBuilder().duration(500).EUt(30720).input(ingot, Naquadah).input(ingot, Osmiridium).fluidInputs(Argon.getFluid(1000)).output(ingotHot, NaquadahAlloy, 2).blastFurnaceTemp(NaquadahAlloy.blastFurnaceTemperature).buildAndRegister(); } diff --git a/src/main/java/gregtech/loaders/recipe/MetaTileEntityLoader.java b/src/main/java/gregtech/loaders/recipe/MetaTileEntityLoader.java index 6df54f6f32d..f23efe5a739 100644 --- a/src/main/java/gregtech/loaders/recipe/MetaTileEntityLoader.java +++ b/src/main/java/gregtech/loaders/recipe/MetaTileEntityLoader.java @@ -127,11 +127,11 @@ public static void init() { ModHandler.addShapedRecipe("hull_mv", MetaTileEntities.HULL[GTValues.MV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(MV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.Copper), 'H', new UnificationEntry(OrePrefix.plate, Materials.Aluminium), 'P', new UnificationEntry(OrePrefix.plate, Materials.WroughtIron)); ModHandler.addShapedRecipe("hull_hv", MetaTileEntities.HULL[GTValues.HV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(HV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.Gold), 'H', new UnificationEntry(OrePrefix.plate, Materials.StainlessSteel), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polyethylene)); ModHandler.addShapedRecipe("hull_ev", MetaTileEntities.HULL[GTValues.EV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(EV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.Aluminium), 'H', new UnificationEntry(OrePrefix.plate, Materials.Titanium), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polyethylene)); - ModHandler.addShapedRecipe("hull_iv", MetaTileEntities.HULL[GTValues.IV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(IV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.Tungsten), 'H', new UnificationEntry(OrePrefix.plate, Materials.TungstenSteel), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polyethylene)); - ModHandler.addShapedRecipe("hull_luv", MetaTileEntities.HULL[GTValues.LuV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(LuV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.VanadiumGallium), 'H', new UnificationEntry(OrePrefix.plate, Materials.Chrome), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polyethylene)); - ModHandler.addShapedRecipe("hull_zpm", MetaTileEntities.HULL[GTValues.ZPM].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(ZPM), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.Naquadah), 'H', new UnificationEntry(OrePrefix.plate, Materials.Iridium), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polytetrafluoroethylene)); - ModHandler.addShapedRecipe("hull_uv", MetaTileEntities.HULL[GTValues.UV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(UV), 'C', new UnificationEntry(OrePrefix.wireGtQuadruple, Materials.NaquadahAlloy), 'H', new UnificationEntry(OrePrefix.plate, Materials.Osmium), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polytetrafluoroethylene)); - ModHandler.addShapedRecipe("hull_max", MetaTileEntities.HULL[GTValues.MAX].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(MAX), 'C', new UnificationEntry(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor), 'H', new UnificationEntry(OrePrefix.plate, Materials.Darmstadtium), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polytetrafluoroethylene)); + ModHandler.addShapedRecipe("hull_iv", MetaTileEntities.HULL[GTValues.IV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(IV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.Tungsten), 'H', new UnificationEntry(OrePrefix.plate, Materials.TungstenSteel), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polytetrafluoroethylene)); + ModHandler.addShapedRecipe("hull_luv", MetaTileEntities.HULL[GTValues.LuV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(LuV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.VanadiumGallium), 'H', new UnificationEntry(OrePrefix.plate, Materials.Chrome), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polytetrafluoroethylene)); + ModHandler.addShapedRecipe("hull_zpm", MetaTileEntities.HULL[GTValues.ZPM].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(ZPM), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.Naquadah), 'H', new UnificationEntry(OrePrefix.plate, Materials.Iridium), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polybenzimidazole)); + ModHandler.addShapedRecipe("hull_uv", MetaTileEntities.HULL[GTValues.UV].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(UV), 'C', new UnificationEntry(OrePrefix.wireGtQuadruple, Materials.NaquadahAlloy), 'H', new UnificationEntry(OrePrefix.plate, Materials.Osmium), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polybenzimidazole)); + ModHandler.addShapedRecipe("hull_max", MetaTileEntities.HULL[GTValues.MAX].getStackForm(), "PHP", "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(MAX), 'C', new UnificationEntry(OrePrefix.wireGtSingle, MarkerMaterials.Tier.Superconductor), 'H', new UnificationEntry(OrePrefix.plate, Materials.Darmstadtium), 'P', new UnificationEntry(OrePrefix.plate, Materials.Polybenzimidazole)); } else { ModHandler.addShapedRecipe("hull_ulv", MetaTileEntities.HULL[GTValues.ULV].getStackForm(), "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(ULV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.RedAlloy)); ModHandler.addShapedRecipe("hull_lv", MetaTileEntities.HULL[GTValues.LV].getStackForm(), "CMC", 'M', MetaBlocks.MACHINE_CASING.getItemVariant(LV), 'C', new UnificationEntry(OrePrefix.cableGtSingle, Materials.Tin)); diff --git a/src/main/java/gregtech/loaders/recipe/chemistry/ChemistryRecipes.java b/src/main/java/gregtech/loaders/recipe/chemistry/ChemistryRecipes.java index 1fffcafa04b..17ed05cf895 100644 --- a/src/main/java/gregtech/loaders/recipe/chemistry/ChemistryRecipes.java +++ b/src/main/java/gregtech/loaders/recipe/chemistry/ChemistryRecipes.java @@ -19,6 +19,7 @@ public static void init() { BrewingRecipes.init(); ChemicalBathRecipes.init(); ReactorRecipes.init(); + PolymerRecipes.init(); // A Few Random Recipes diff --git a/src/main/java/gregtech/loaders/recipe/chemistry/DistillationRecipes.java b/src/main/java/gregtech/loaders/recipe/chemistry/DistillationRecipes.java index d2d65bd7beb..4e2c63c1ae6 100644 --- a/src/main/java/gregtech/loaders/recipe/chemistry/DistillationRecipes.java +++ b/src/main/java/gregtech/loaders/recipe/chemistry/DistillationRecipes.java @@ -248,20 +248,32 @@ public static void init() { .duration(600).EUt(120).buildAndRegister(); DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(CharcoalByproducts.getFluid(1000)) - .output(dustSmall, Charcoal) - .fluidOutputs(WoodTar.getFluid(250)) - .fluidOutputs(WoodVinegar.getFluid(500)) - .fluidOutputs(WoodGas.getFluid(250)) - .duration(40).EUt(256).buildAndRegister(); - - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(WoodTar.getFluid(1000)) - .fluidOutputs(Creosote.getFluid(500)) - .fluidOutputs(Phenol.getFluid(75)) - .fluidOutputs(Benzene.getFluid(350)) - .fluidOutputs(Toluene.getFluid(75)) - .duration(40).EUt(256).buildAndRegister(); + .fluidInputs(CharcoalByproducts.getFluid(1000)) + .output(dustSmall, Charcoal) + .fluidOutputs(WoodTar.getFluid(250)) + .fluidOutputs(WoodVinegar.getFluid(400)) + .fluidOutputs(WoodGas.getFluid(250)) + .fluidOutputs(Dimethylbenzene.getFluid(100)) + .duration(40).EUt(256).buildAndRegister(); + + DISTILLATION_RECIPES.recipeBuilder() + .fluidInputs(WoodTar.getFluid(1000)) + .fluidOutputs(Creosote.getFluid(300)) + .fluidOutputs(Phenol.getFluid(75)) + .fluidOutputs(Benzene.getFluid(350)) + .fluidOutputs(Toluene.getFluid(75)) + .fluidOutputs(Dimethylbenzene.getFluid(200)) + .duration(40).EUt(256).buildAndRegister(); + + DISTILLATION_RECIPES.recipeBuilder() + .fluidInputs(WoodVinegar.getFluid(1000)) + .fluidOutputs(AceticAcid.getFluid(100)) + .fluidOutputs(Water.getFluid(500)) + .fluidOutputs(Ethanol.getFluid(10)) + .fluidOutputs(Methanol.getFluid(300)) + .fluidOutputs(Acetone.getFluid(50)) + .fluidOutputs(MethylAcetate.getFluid(10)) + .duration(40).EUt(256).buildAndRegister(); DISTILLATION_RECIPES.recipeBuilder() .fluidInputs(WoodGas.getFluid(1000)) @@ -302,16 +314,6 @@ public static void init() { .fluidOutputs(Lubricant.getFluid(12)) .duration(16).EUt(96).buildAndRegister(); - DISTILLATION_RECIPES.recipeBuilder() - .fluidInputs(WoodVinegar.getFluid(1000)) - .fluidOutputs(AceticAcid.getFluid(100)) - .fluidOutputs(Water.getFluid(500)) - .fluidOutputs(Ethanol.getFluid(10)) - .fluidOutputs(Methanol.getFluid(300)) - .fluidOutputs(Acetone.getFluid(50)) - .fluidOutputs(MethylAcetate.getFluid(10)) - .duration(40).EUt(256).buildAndRegister(); - DISTILLATION_RECIPES.recipeBuilder() .fluidInputs(FermentedBiomass.getFluid(1000)) .outputs(new ItemStack(Items.DYE, 1, 15)) diff --git a/src/main/java/gregtech/loaders/recipe/chemistry/PolymerRecipes.java b/src/main/java/gregtech/loaders/recipe/chemistry/PolymerRecipes.java new file mode 100644 index 00000000000..7f9eabc4e6f --- /dev/null +++ b/src/main/java/gregtech/loaders/recipe/chemistry/PolymerRecipes.java @@ -0,0 +1,109 @@ +package gregtech.loaders.recipe.chemistry; + +import gregtech.api.recipes.ingredients.IntCircuitIngredient; + +import static gregtech.api.recipes.RecipeMaps.CHEMICAL_RECIPES; +import static gregtech.api.recipes.RecipeMaps.LARGE_CHEMICAL_RECIPES; +import static gregtech.api.unification.material.Materials.*; +import static gregtech.api.unification.ore.OrePrefix.dust; +import static gregtech.api.unification.ore.OrePrefix.dustTiny; + +public class PolymerRecipes { + + public static void init() { + polybenzimidazoleProcess(); + } + + private static void polybenzimidazoleProcess() { + CHEMICAL_RECIPES.recipeBuilder().EUt(7680).duration(100) + .fluidInputs(Diaminobenzidine.getFluid(1000)) + .fluidInputs(DiphenylIsophtalate.getFluid(1000)) + .fluidOutputs(Phenol.getFluid(1000)) + .fluidOutputs(Polybenzimidazole.getFluid(1000)) + .buildAndRegister(); + + // 3,3-Diaminobenzidine + LARGE_CHEMICAL_RECIPES.recipeBuilder().EUt(7680).duration(100) + .fluidInputs(Dichlorobenzidine.getFluid(1000)) + .fluidInputs(Ammonia.getFluid(2000)) + .notConsumable(dust, Zinc) + .fluidOutputs(Diaminobenzidine.getFluid(1000)) + .fluidOutputs(HydrochloricAcid.getFluid(2000)) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().EUt(1920).duration(200) + .input(dustTiny, Copper) + .fluidInputs(Nitrochlorobenzene.getFluid(1000)) + .notConsumable(new IntCircuitIngredient(1)) + .fluidOutputs(Dichlorobenzidine.getFluid(1000)) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().EUt(1920).duration(1800) + .input(dust, Copper) + .fluidInputs(Nitrochlorobenzene.getFluid(9000)) + .notConsumable(new IntCircuitIngredient(9)) + .fluidOutputs(Dichlorobenzidine.getFluid(9000)) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().EUt(480).duration(100) + .fluidInputs(NitrationMixture.getFluid(2000)) + .fluidInputs(Chlorobenzene.getFluid(1000)) + .notConsumable(new IntCircuitIngredient(1)) + .fluidOutputs(Nitrochlorobenzene.getFluid(1000)) + .fluidOutputs(DilutedSulfuricAcid.getFluid(1000)) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().EUt(30).duration(240) + .fluidInputs(Chlorine.getFluid(2000)) + .fluidInputs(Benzene.getFluid(1000)) + .notConsumable(new IntCircuitIngredient(1)) + .fluidOutputs(Chlorobenzene.getFluid(1000)) + .fluidOutputs(HydrochloricAcid.getFluid(1000)) + .buildAndRegister(); + + // Diphenyl Isophthalate + LARGE_CHEMICAL_RECIPES.recipeBuilder().EUt(7680).duration(100) + .fluidInputs(Phenol.getFluid(2000)) + .fluidInputs(SulfuricAcid.getFluid(1000)) + .fluidInputs(PhthalicAcid.getFluid(1000)) + .fluidOutputs(DiphenylIsophtalate.getFluid(1000)) + .fluidOutputs(DilutedSulfuricAcid.getFluid(1000)) + .buildAndRegister(); + + LARGE_CHEMICAL_RECIPES.recipeBuilder().EUt(1920).duration(100) + .input(dustTiny, PotassiumDichromate) + .fluidInputs(Dimethylbenzene.getFluid(1000)) + .fluidInputs(Oxygen.getFluid(2000)) + .fluidOutputs(PhthalicAcid.getFluid(1000)) + .fluidOutputs(Water.getFluid(2000)) + .buildAndRegister(); + + LARGE_CHEMICAL_RECIPES.recipeBuilder().EUt(1920).duration(900) + .input(dust, PotassiumDichromate) + .fluidInputs(Dimethylbenzene.getFluid(9000)) + .fluidInputs(Oxygen.getFluid(18000)) + .fluidOutputs(PhthalicAcid.getFluid(9000)) + .fluidOutputs(Water.getFluid(18000)) + .buildAndRegister(); + + LARGE_CHEMICAL_RECIPES.recipeBuilder().EUt(120).duration(4000) + .fluidInputs(Methane.getFluid(1000)) + .fluidInputs(Benzene.getFluid(1000)) + .notConsumable(new IntCircuitIngredient(1)) + .fluidOutputs(Dimethylbenzene.getFluid(1000)) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().EUt(480).duration(100) + .input(dust, Saltpeter, 10) + .input(dust, ChromiumTrioxide, 8) + .output(dust, PotassiumDichromate, 11) + .fluidOutputs(NitrogenDioxide.getFluid(2000)) + .buildAndRegister(); + + CHEMICAL_RECIPES.recipeBuilder().EUt(60).duration(100) + .input(dust, Chrome) + .fluidInputs(Oxygen.getFluid(3000)) + .output(dust, ChromiumTrioxide, 4) + .buildAndRegister(); + } +} diff --git a/src/main/java/gregtech/loaders/recipe/chemistry/ReactorRecipes.java b/src/main/java/gregtech/loaders/recipe/chemistry/ReactorRecipes.java index b14e8b380c0..2d2762a82a7 100644 --- a/src/main/java/gregtech/loaders/recipe/chemistry/ReactorRecipes.java +++ b/src/main/java/gregtech/loaders/recipe/chemistry/ReactorRecipes.java @@ -270,11 +270,12 @@ public static void init() { .duration(80).EUt(30).buildAndRegister(); CHEMICAL_RECIPES.recipeBuilder() - .fluidInputs(Chlorine.getFluid(4000)) - .fluidInputs(Benzene.getFluid(1000)) - .fluidOutputs(HydrochloricAcid.getFluid(2000)) - .fluidOutputs(Dichlorobenzene.getFluid(1000)) - .duration(120).EUt(30).buildAndRegister(); + .fluidInputs(Chlorine.getFluid(4000)) + .fluidInputs(Benzene.getFluid(1000)) + .notConsumable(new IntCircuitIngredient(2)) + .fluidOutputs(HydrochloricAcid.getFluid(2000)) + .fluidOutputs(Dichlorobenzene.getFluid(1000)) + .duration(120).EUt(30).buildAndRegister(); CHEMICAL_RECIPES.recipeBuilder() .fluidInputs(Propene.getFluid(1000)) diff --git a/src/main/resources/assets/gregtech/lang/en_us.lang b/src/main/resources/assets/gregtech/lang/en_us.lang index 2d0edbd795d..12495060dae 100755 --- a/src/main/resources/assets/gregtech/lang/en_us.lang +++ b/src/main/resources/assets/gregtech/lang/en_us.lang @@ -1502,6 +1502,17 @@ material.coffee=Coffee material.wheat=Wheat material.meat=Mince Meat +material.polybenzimidazole=Polybenzimidazole +material.diphenyl_isophthalate=Diphenyl Isophthalate +material.phthalic_acid=Phthalic Acid +material.dimethylbenzene=Dimethylbenzene +material.diaminobenzidine=3,3-Diaminobenzidine +material.dichlorobenzidine=3,3-Dichlorobenzidine +material.nitrochlorobenzene=2-Nitrochlorobenzene +material.chlorobenzene=Chlorobenzene +material.potassium_dichromate=Potassium Dichromate +material.chromium_trioxide=Chromium Trioxide + item.nether_quartz.oreNetherrack=Nether Quartz Ore item.gunpowder.dustTiny=Tiny Pile of Gunpowder item.gunpowder.dustSmall=Small Pile of Gunpowder @@ -1592,6 +1603,13 @@ item.polyphenylene_sulfide.nugget=Polyphenylene Sulfide Chip item.polyphenylene_sulfide.ingot=Polyphenylene Sulfide Bar item.polyphenylene_sulfide.plate=Polyphenylene Sulfide Sheet item.polyphenylene_sulfide.foil=Thin Polyphenylene Sulfide Sheet +item.polybenzimidazole.dustTiny=Tiny Pile of Polybenzimidazole Pulp +item.polybenzimidazole.dustSmall=Small Pile of Polybenzimidazole Pulp +item.polybenzimidazole.dust=Polybenzimidazole Pulp +item.polybenzimidazole.nugget=Polybenzimidazole Chip +item.polybenzimidazole.ingot=Polybenzimidazole Bar +item.polybenzimidazole.plate=Polybenzimidazole Sheet +item.polybenzimidazole.foil=Thin Polybenzimidazole Sheet item.rock_salt.dustTiny=Tiny Pile of Rock Salt item.rock_salt.dustSmall=Small Pile of Rock Salt item.rock_salt.dustImpure=Impure Pile of Rock Salt