use of gregtech.api.recipes.CountableIngredient in project GregTech by GregTechCE.
the class MachineRecipeLoader method registerCircuitRecipes.
private static void registerCircuitRecipes() {
// Wafer blast furnace recipes
RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(9000).EUt(120).input(OrePrefix.dust, Materials.Silicon, 32).input(OrePrefix.dustTiny, Materials.Gallium).inputs(new CountableIngredient(new IntCircuitIngredient(1), 0)).outputs(MetaItems.SILICON_BOULE.getStackForm()).blastFurnaceTemp(1784).buildAndRegister();
RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(12000).EUt(480).input(OrePrefix.dust, Materials.Silicon, 64).input(OrePrefix.dust, Materials.Glowstone, 8).inputs(new CountableIngredient(new IntCircuitIngredient(1), 0)).fluidInputs(Materials.Nitrogen.getFluid(8000)).outputs(MetaItems.GLOWSTONE_BOULE.getStackForm()).blastFurnaceTemp(2484).buildAndRegister();
RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(1500).EUt(1920).input(OrePrefix.block, Materials.Silicon, 9).input(OrePrefix.ingot, Materials.Naquadah).inputs(new CountableIngredient(new IntCircuitIngredient(1), 0)).fluidInputs(Materials.Argon.getFluid(8000)).outputs(MetaItems.NAQUADAH_BOULE.getStackForm()).blastFurnaceTemp(5400).buildAndRegister();
// Wafer engraving recipes
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120).inputs(MetaItems.SILICON_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Red).outputs(MetaItems.INTEGRATED_LOGIC_CIRCUIT_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).inputs(MetaItems.GLOWSTONE_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Red).outputs(MetaItems.INTEGRATED_LOGIC_CIRCUIT_WAFER.getStackForm(4)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).inputs(MetaItems.NAQUADAH_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Red).outputs(MetaItems.INTEGRATED_LOGIC_CIRCUIT_WAFER.getStackForm(8)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120).inputs(MetaItems.SILICON_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Silver).outputs(MetaItems.RANDOM_ACCESS_MEMORY_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).inputs(MetaItems.GLOWSTONE_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Silver).outputs(MetaItems.RANDOM_ACCESS_MEMORY_WAFER.getStackForm(4)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).inputs(MetaItems.NAQUADAH_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Silver).outputs(MetaItems.RANDOM_ACCESS_MEMORY_WAFER.getStackForm(8)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).inputs(MetaItems.GLOWSTONE_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.LightBlue).outputs(MetaItems.NAND_MEMORY_CHIP_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).inputs(MetaItems.NAQUADAH_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.LightBlue).outputs(MetaItems.NAND_MEMORY_CHIP_WAFER.getStackForm(4)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).inputs(MetaItems.GLOWSTONE_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Lime).outputs(MetaItems.NOR_MEMORY_CHIP_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).inputs(MetaItems.NAQUADAH_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Lime).outputs(MetaItems.NOR_MEMORY_CHIP_WAFER.getStackForm(4)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(900).EUt(120).inputs(MetaItems.SILICON_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.White).outputs(MetaItems.CENTRAL_PROCESSING_UNIT_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).inputs(MetaItems.GLOWSTONE_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.White).outputs(MetaItems.CENTRAL_PROCESSING_UNIT_WAFER.getStackForm(4)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).inputs(MetaItems.NAQUADAH_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.White).outputs(MetaItems.CENTRAL_PROCESSING_UNIT_WAFER.getStackForm(8)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).inputs(MetaItems.NAQUADAH_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Yellow).outputs(MetaItems.SYSTEM_ON_CHIP_WAFER.getStackForm(2)).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).inputs(MetaItems.NAQUADAH_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Orange).outputs(MetaItems.ADVANCED_SYSTEM_ON_CHIP_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(500).EUt(480).inputs(MetaItems.GLOWSTONE_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Blue).outputs(MetaItems.POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.LASER_ENGRAVER_RECIPES.recipeBuilder().duration(200).EUt(1920).inputs(MetaItems.NAQUADAH_WAFER.getStackForm()).notConsumable(OrePrefix.craftingLens, Color.Blue).outputs(MetaItems.POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm(4)).buildAndRegister();
// Wafer chemical refining recipes
RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(1200).EUt(1920).inputs(MetaItems.POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm()).input(OrePrefix.dust, Materials.IndiumGalliumPhosphide, 2).fluidInputs(Materials.RedAlloy.getFluid(288)).outputs(MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(400).EUt(480).inputs(MetaItems.CENTRAL_PROCESSING_UNIT_WAFER.getStackForm(), MetaItems.CARBON_FIBERS.getStackForm(16)).fluidInputs(Materials.Glowstone.getFluid(576)).outputs(MetaItems.NANO_CENTRAL_PROCESSING_UNIT_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(400).EUt(1920).inputs(MetaItems.NANO_CENTRAL_PROCESSING_UNIT_WAFER.getStackForm(), MetaItems.QUANTUM_EYE.getStackForm(2)).fluidInputs(Materials.GalliumArsenide.getFluid(288)).outputs(MetaItems.QBIT_CENTRAL_PROCESSING_UNIT_WAFER.getStackForm()).buildAndRegister();
RecipeMaps.CHEMICAL_RECIPES.recipeBuilder().duration(600).EUt(1920).inputs(MetaItems.NANO_CENTRAL_PROCESSING_UNIT_WAFER.getStackForm()).input(OrePrefix.cableGtSingle, Tier.Superconductor, 8).outputs(MetaItems.QBIT_CENTRAL_PROCESSING_UNIT_WAFER.getStackForm()).buildAndRegister();
// Wafer cutting recipes
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(200).EUt(8).inputs(MetaItems.SILICON_BOULE.getStackForm()).outputs(MetaItems.SILICON_WAFER.getStackForm(16)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(400).EUt(64).inputs(MetaItems.GLOWSTONE_BOULE.getStackForm()).outputs(MetaItems.GLOWSTONE_WAFER.getStackForm(32)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(800).EUt(384).inputs(MetaItems.NAQUADAH_BOULE.getStackForm()).outputs(MetaItems.NAQUADAH_WAFER.getStackForm(64)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.ADVANCED_SYSTEM_ON_CHIP_WAFER.getStackForm()).outputs(MetaItems.ADVANCED_SYSTEM_ON_CHIP.getStackForm(6)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.SYSTEM_ON_CHIP_WAFER.getStackForm()).outputs(MetaItems.SYSTEM_ON_CHIP.getStackForm(6)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.RANDOM_ACCESS_MEMORY_WAFER.getStackForm()).outputs(MetaItems.RANDOM_ACCESS_MEMORY.getStackForm(32)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.QBIT_CENTRAL_PROCESSING_UNIT_WAFER.getStackForm()).outputs(MetaItems.QBIT_CENTRAL_PROCESSING_UNIT.getStackForm(5)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm()).outputs(MetaItems.POWER_INTEGRATED_CIRCUIT.getStackForm(4)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT_WAFER.getStackForm()).outputs(MetaItems.HIGH_POWER_INTEGRATED_CIRCUIT.getStackForm(2)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.NOR_MEMORY_CHIP_WAFER.getStackForm()).outputs(MetaItems.NOR_MEMORY_CHIP.getStackForm(16)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.NAND_MEMORY_CHIP_WAFER.getStackForm()).outputs(MetaItems.NAND_MEMORY_CHIP.getStackForm(32)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.CENTRAL_PROCESSING_UNIT_WAFER.getStackForm()).outputs(MetaItems.CENTRAL_PROCESSING_UNIT.getStackForm(8)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.INTEGRATED_LOGIC_CIRCUIT_WAFER.getStackForm()).outputs(MetaItems.INTEGRATED_LOGIC_CIRCUIT.getStackForm(8)).buildAndRegister();
RecipeMaps.CUTTER_RECIPES.recipeBuilder().duration(600).EUt(48).inputs(MetaItems.NANO_CENTRAL_PROCESSING_UNIT_WAFER.getStackForm()).outputs(MetaItems.NANO_CENTRAL_PROCESSING_UNIT.getStackForm(7)).buildAndRegister();
// circuit assembling recipes
for (MaterialStack stack : solderingList) {
IngotMaterial material = (IngotMaterial) stack.material;
int multiplier = (int) stack.amount;
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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(72 * multiplier)).outputs(MetaItems.ADVANCED_CIRCUIT_PARTS_LV.getStackForm(4)).buildAndRegister();
RecipeMaps.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(72 * multiplier)).outputs(MetaItems.ADVANCED_CIRCUIT_PARTS_LV.getStackForm(4)).buildAndRegister();
RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(50).EUt(600).inputs(MetaItems.PLASTIC_BOARD.getStackForm(), MetaItems.SYSTEM_ON_CHIP.getStackForm(1)).input(OrePrefix.wireFine, Materials.Copper, 2).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.ADVANCED_CIRCUIT_PARTS_LV.getStackForm(4)).buildAndRegister();
RecipeMaps.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.Electrum, 8).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.GOOD_INTEGRATED_CIRCUIT_MV.getStackForm()).buildAndRegister();
RecipeMaps.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.Electrum, 8).fluidInputs(material.getFluid(72 * multiplier)).outputs(MetaItems.GOOD_INTEGRATED_CIRCUIT_MV.getStackForm()).buildAndRegister();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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();
RecipeMaps.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.Plastic, 4).fluidInputs(material.getFluid(144 * multiplier)).outputs(MetaItems.TOOL_DATA_STICK.getStackForm()).buildAndRegister();
RecipeMaps.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));
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(80).EUt(96).input(OrePrefix.plate, Materials.Plastic).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.foil, Materials.Tin, 6).fluidInputs(Materials.Plastic.getFluid(144)).outputs(MetaItems.TRANSISTOR.getStackForm(8)).buildAndRegister();
ModHandler.addShapedRecipe("diode", 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.Plastic.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.Plastic.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.Plastic.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.Plastic.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.Plastic.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.Plastic.getFluid(36)).outputs(MetaItems.SMD_CAPACITOR.getStackForm(16)).buildAndRegister();
RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(45).EUt(40).input(OrePrefix.dust, Materials.Carbon).fluidInputs(Materials.Palladium.getFluid(1)).chancedOutput(MetaItems.CARBON_FIBERS.getStackForm(2), 8500, 750).buildAndRegister();
RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(45).EUt(40).input(OrePrefix.dust, Materials.Carbon).fluidInputs(Materials.Platinum.getFluid(1)).chancedOutput(MetaItems.CARBON_FIBERS.getStackForm(2), 8000, 750).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.Plastic).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.Epoxid).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).fluidInputs(Materials.Polystyrene.getFluid(144)).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();
ModHandler.addShapelessRecipe("reinforcing_epoxy_resin_by_glass", OreDictUnifier.get(OrePrefix.dust, Materials.ReinforcedEpoxyResin), new UnificationEntry(OrePrefix.dust, Materials.Epoxid), MetaItems.GLASS_FIBER.getStackForm());
ModHandler.addShapelessRecipe("reinforcing_epoxy_resin_by_carbon", OreDictUnifier.get(OrePrefix.dust, Materials.ReinforcedEpoxyResin), new UnificationEntry(OrePrefix.dust, Materials.Epoxid), MetaItems.CARBON_FIBERS.getStackForm());
RecipeMaps.CHEMICAL_BATH_RECIPES.recipeBuilder().duration(240).EUt(16).inputs(MetaItems.GLASS_FIBER.getStackForm()).fluidInputs(Materials.Epoxid.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.Epoxid.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.BLAST_RECIPES.recipeBuilder().duration(900).EUt(480).blastFurnaceTemp(5000).input(OrePrefix.gemExquisite, Materials.Emerald).input(OrePrefix.plate, Materials.Emerald, 10).fluidInputs(Materials.Helium.getFluid(5000)).outputs(MetaItems.ENGRAVED_CRYSTAL_CHIP.getStackForm(10)).buildAndRegister();
RecipeMaps.BLAST_RECIPES.recipeBuilder().duration(900).EUt(480).blastFurnaceTemp(5000).input(OrePrefix.gemExquisite, Materials.Olivine).input(OrePrefix.plate, Materials.Olivine, 10).fluidInputs(Materials.Helium.getFluid(5000)).outputs(MetaItems.ENGRAVED_CRYSTAL_CHIP.getStackForm(10)).buildAndRegister();
RecipeMaps.ASSEMBLER_RECIPES.recipeBuilder().duration(30).EUt(4).input(OrePrefix.dust, Materials.Tantalum).input(OrePrefix.foil, Materials.Manganese).fluidInputs(Materials.Plastic.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.Plutonium.getFluid(L * 2)).outputs(MetaItems.QUANTUM_EYE.getStackForm()).buildAndRegister();
RecipeMaps.CHEMICAL_BATH_RECIPES.recipeBuilder().duration(1920).EUt(384).input(OrePrefix.gem, Materials.NetherStar, 1).fluidInputs(Materials.Plutonium.getFluid(L * 8)).outputs(MetaItems.QUANTUM_STAR.getStackForm()).buildAndRegister();
RecipeMaps.AUTOCLAVE_RECIPES.recipeBuilder().duration(480).EUt(7680).input(OrePrefix.gem, Materials.NetherStar, 1).fluidInputs(Materials.Darmstadtium.getFluid(L * 2)).outputs(MetaItems.GRAVI_STAR.getStackForm()).buildAndRegister();
}
use of gregtech.api.recipes.CountableIngredient in project GregTech by GregTechCE.
the class MaterialRecipeHandler method processNugget.
public static void processNugget(OrePrefix orePrefix, SolidMaterial material) {
ItemStack nuggetStack = OreDictUnifier.get(orePrefix, material);
if (material instanceof IngotMaterial) {
ItemStack ingotStack = OreDictUnifier.get(OrePrefix.ingot, material);
ModHandler.addShapelessRecipe(String.format("nugget_disassembling_%s", material.toString()), GTUtility.copyAmount(9, nuggetStack), new UnificationEntry(OrePrefix.ingot, material));
ModHandler.addShapedRecipe(String.format("nugget_assembling_%s", material.toString()), ingotStack, "XXX", "XXX", "XXX", 'X', new UnificationEntry(orePrefix, material));
RecipeMaps.UNPACKER_RECIPES.recipeBuilder().input(OrePrefix.ingot, material).inputs(new CountableIngredient(new IntCircuitIngredient(1), 0)).outputs(GTUtility.copyAmount(9, nuggetStack)).buildAndRegister();
RecipeMaps.PACKER_RECIPES.recipeBuilder().input(orePrefix, material, 9).inputs(new CountableIngredient(new IntCircuitIngredient(1), 0)).outputs(ingotStack).buildAndRegister();
if (material.shouldGenerateFluid()) {
RecipeMaps.FLUID_SOLIDFICATION_RECIPES.recipeBuilder().notConsumable(MetaItems.SHAPE_MOLD_NUGGET).fluidInputs(material.getFluid(L)).outputs(OreDictUnifier.get(orePrefix, material, 9)).duration((int) material.getAverageMass()).EUt(8).buildAndRegister();
}
} else if (material instanceof GemMaterial) {
ItemStack gemStack = OreDictUnifier.get(OrePrefix.gem, material);
ModHandler.addShapelessRecipe(String.format("nugget_disassembling_%s", material.toString()), GTUtility.copyAmount(9, nuggetStack), new UnificationEntry(OrePrefix.gem, material));
ModHandler.addShapedRecipe(String.format("nugget_assembling_%s", material.toString()), gemStack, "XXX", "XXX", "XXX", 'X', new UnificationEntry(orePrefix, material));
}
}
use of gregtech.api.recipes.CountableIngredient in project GregTech by GregTechCE.
the class MaterialRecipeHandler method processSmallDust.
public static void processSmallDust(OrePrefix orePrefix, DustMaterial material) {
ItemStack smallDustStack = OreDictUnifier.get(orePrefix, material);
ItemStack dustStack = OreDictUnifier.get(OrePrefix.dust, material);
ModHandler.addShapedRecipe(String.format("small_dust_disassembling_%s", material.toString()), GTUtility.copyAmount(4, smallDustStack), " X", " ", 'X', new UnificationEntry(OrePrefix.dust, material));
ModHandler.addShapedRecipe(String.format("small_dust_assembling_%s", material.toString()), dustStack, "XX", "XX", 'X', new UnificationEntry(orePrefix, material));
RecipeMaps.PACKER_RECIPES.recipeBuilder().input(orePrefix, material, 4).inputs(new CountableIngredient(new IntCircuitIngredient(2), 0)).outputs(dustStack).buildAndRegister();
RecipeMaps.UNPACKER_RECIPES.recipeBuilder().input(OrePrefix.dust, material).inputs(new CountableIngredient(new IntCircuitIngredient(2), 0)).outputs(GTUtility.copyAmount(4, smallDustStack)).buildAndRegister();
}
use of gregtech.api.recipes.CountableIngredient in project GregTech by GregTechCE.
the class MachineRecipeLoader method registerBendingCompressingRecipes.
private static void registerBendingCompressingRecipes() {
RecipeMaps.COMPRESSOR_RECIPES.recipeBuilder().inputs(new ItemStack(Blocks.ICE, 2, OreDictionary.WILDCARD_VALUE)).outputs(new ItemStack(Blocks.PACKED_ICE)).buildAndRegister();
RecipeMaps.COMPRESSOR_RECIPES.recipeBuilder().input(OrePrefix.dust, Materials.Ice, 1).outputs(new ItemStack(Blocks.ICE)).buildAndRegister();
RecipeMaps.PACKER_RECIPES.recipeBuilder().inputs(new ItemStack(Items.WHEAT, 9)).inputs(new CountableIngredient(new IntCircuitIngredient(9), 0)).outputs(new ItemStack(Blocks.HAY_BLOCK)).duration(200).EUt(2).buildAndRegister();
RecipeMaps.COMPRESSOR_RECIPES.recipeBuilder().input(OrePrefix.dust, Materials.Fireclay).outputs(MetaItems.COMPRESSED_FIRECLAY.getStackForm()).duration(100).EUt(2).buildAndRegister();
RecipeMaps.FORMING_PRESS_RECIPES.recipeBuilder().duration(100).EUt(16).notConsumable(MetaItems.SHAPE_MOLD_CREDIT.getStackForm()).input(OrePrefix.plate, Materials.Cupronickel, 1).outputs(MetaItems.CREDIT_CUPRONICKEL.getStackForm(4)).buildAndRegister();
RecipeMaps.FORMING_PRESS_RECIPES.recipeBuilder().duration(100).EUt(16).notConsumable(MetaItems.SHAPE_MOLD_CREDIT.getStackForm()).input(OrePrefix.plate, Materials.Brass, 1).outputs(MetaItems.COIN_DOGE.getStackForm(4)).buildAndRegister();
for (MetaItem.MetaValueItem shapeMold : SHAPE_MOLDS) {
RecipeMaps.FORMING_PRESS_RECIPES.recipeBuilder().duration(120).EUt(22).notConsumable(shapeMold.getStackForm()).inputs(MetaItems.SHAPE_EMPTY.getStackForm()).outputs(shapeMold.getStackForm()).buildAndRegister();
}
for (MetaItem.MetaValueItem shapeExtruder : SHAPE_EXTRUDERS) {
RecipeMaps.FORMING_PRESS_RECIPES.recipeBuilder().duration(120).EUt(22).notConsumable(shapeExtruder.getStackForm()).inputs(MetaItems.SHAPE_EMPTY.getStackForm()).outputs(shapeExtruder.getStackForm()).buildAndRegister();
}
RecipeMaps.BENDER_RECIPES.recipeBuilder().circuitMeta(4).input(OrePrefix.plate, Materials.Steel, 4).outputs(MetaItems.SHAPE_EMPTY.getStackForm()).duration(180).EUt(12).buildAndRegister();
RecipeMaps.BENDER_RECIPES.recipeBuilder().circuitMeta(1).input(OrePrefix.plate, Materials.Iron, 12).outputs(new ItemStack(Items.BUCKET, 4)).duration(800).EUt(4).buildAndRegister();
RecipeMaps.BENDER_RECIPES.recipeBuilder().circuitMeta(1).input(OrePrefix.plate, Materials.WroughtIron, 12).outputs(new ItemStack(Items.BUCKET, 4)).duration(800).EUt(4).buildAndRegister();
RecipeMaps.BENDER_RECIPES.recipeBuilder().circuitMeta(12).input(OrePrefix.plate, Materials.Iron, 2).outputs(MetaItems.FLUID_CELL.getStackForm()).duration(200).EUt(30).buildAndRegister();
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder().input(OrePrefix.plate, Materials.Iron, 2).notConsumable(MetaItems.SHAPE_EXTRUDER_CELL).outputs(MetaItems.FLUID_CELL.getStackForm()).duration(200).EUt(30).buildAndRegister();
}
use of gregtech.api.recipes.CountableIngredient in project GregTech by GregTechCE.
the class RecipeMapBrewer method findRecipe.
@Nullable
@Override
public Recipe findRecipe(long voltage, List<ItemStack> inputs, List<FluidStack> fluidInputs, int outputFluidTankCapacity, MatchingMode mode) {
Recipe recipe = super.findRecipe(voltage, inputs, fluidInputs, outputFluidTankCapacity, mode);
if (recipe != null || GTUtility.amountOfNonNullElements(fluidInputs) < 1 || GTUtility.amountOfNonEmptyStacks(inputs) < 1) {
return recipe;
}
ItemStack ingredientStack = inputs.get(0);
FluidStack potionFluid = fluidInputs.get(0);
PotionType potionType = PotionFluids.getPotionForFluid(potionFluid.getFluid());
if (potionType == null || potionFluid.amount < POTION_PER_INGREDIENT) {
// do not return recipes if not enough fluid or fluid doesn't match
return null;
}
ItemStack potionStack = new ItemStack(Items.POTIONITEM);
PotionUtils.addPotionToItemStack(potionStack, potionType);
ItemStack resultStack = BrewingRecipeRegistry.getOutput(potionStack, ingredientStack);
if (resultStack.isEmpty() || resultStack.getItem() != Items.POTIONITEM) {
// if no recipe matches, or output is not a simple potion, return null
return null;
}
PotionType resultingType = PotionUtils.getPotionFromItem(resultStack);
if (resultingType == null || resultingType == PotionTypes.EMPTY) {
// if output is not a simple potion or empty potion, return null
return null;
}
Fluid outputFluid = PotionFluids.getFluidForPotion(resultingType);
if (outputFluid == null) {
return null;
}
// otherwise, return recipe for fluid potion + ingredient -> new fluid potion
return recipeBuilder().inputs(// we can reuse recipe only if ingredient fully matches,
new CountableIngredient(new NBTIngredient(ingredientStack), 1)).fluidInputs(GTUtility.copyAmount(POTION_PER_INGREDIENT, potionFluid)).fluidOutputs(new FluidStack(outputFluid, POTION_PER_INGREDIENT)).build().getResult();
}
Aggregations