#packmode expert import mods.gregtech.multiblock.Builder; import mods.gregtech.multiblock.FactoryBlockPattern; import mods.gregtech.multiblock.RelativeDirection; import mods.gregtech.multiblock.functions.IPatternBuilderFunction; import mods.gregtech.IControllerTile; import mods.gregtech.multiblock.CTPredicate; import mods.gregtech.multiblock.IBlockPattern; import mods.gregtech.recipe.FactoryRecipeMap; import mods.gregtech.recipe.RecipeMap; import mods.gregtech.recipe.functions.IRunOverclockingLogicFunction; import mods.gregtech.recipe.IRecipeLogic; import mods.gregtech.recipe.IRecipe; import scripts.common.makeExtremeRecipe5 as makeExtremeRecipe5; import scripts.common.makeShaped as makeShaped; import scripts.common.absolute_int as absolute_int; //val ROCKET_ARROW as ITextureArea = ITextureArea.fullImage("multiblocktweaker:textures/gui/progress_bar/rocket.png"); // multiblock stuctures // Basic Microverse Projector val microverse_projector_basic = Builder.start("mbt:microverse_projector_basic") // automatic allocation ID .withPattern(function(controller as IControllerTile) as IBlockPattern { return FactoryBlockPattern.start() .aisle("CCC", "CVC", "CCC") .aisle("CCC", "GDG", "CMC") .aisle("CSC", "CGC", "CCC") .where('S', controller.self()) .where('G', ) .where('V', ) .where('D', ) .where("C", CTPredicate.states() | controller.autoAbilities(true, true, true, true, true, false, false)) .where('M', controller.autoAbilities(false, false, false, false, false, false, true)) // same as CTPredicate.abilities() .build(); } as IPatternBuilderFunction) .withRecipeMap( FactoryRecipeMap.start("microverse_projector_basic") // create a RecipeMap. .minInputs(2) .maxInputs(4) .minOutputs(1) .maxOutputs(16) .maxFluidInputs(2) //.setProgressBar(ROCKET_ARROW, MoveType.HORIZONTAL) .build()) .withBaseTexture() // Looking for existing renderers in CEu. but yeah, you can also use here .buildAndRegister(); microverse_projector_basic.hasMufflerMechanics = true; microverse_projector_basic.hasMaintenanceMechanics = true; //microverse_projector_basic.frontOverlay = ; // Advanced Microverse Projector val microverse_projector_advanced = Builder.start("mbt:microverse_projector_advanced") .withPattern(function(controller as IControllerTile) as IBlockPattern { return FactoryBlockPattern.start() .aisle( "CCMCC", "CGGGC", "CGGGC", "CGGGC", "CCCCC") .aisle( "CVCVC", "GDDDG", "GDDDG", "GDDDG", "CVCVC") .aisle( "CCCCC", "GDDDG", "GD DG", "GDDDG", "CCCCC") .aisle( "CVCVC", "GDDDG", "GDDDG", "GDDDG", "CVCVC") .aisle( "CCSCC", "CGGGC", "CGGGC", "CGGGC", "CCCCC") .where('S', controller.self()) .where('G', ) .where('D', ) .where('V', ) .where(' ', CTPredicate.getAny()) .where("C", CTPredicate.states() | controller.autoAbilities(true, true, true, true, true, false, false)) .where('M', controller.autoAbilities(false, false, false, false, false, false, true)) // same as CTPredicate.abilities() .build(); } as IPatternBuilderFunction) .withRecipeMap( FactoryRecipeMap.start("microverse_projector_advanced") // create a RecipeMap. .minInputs(2) .maxInputs(4) .minOutputs(1) .maxOutputs(16) .maxFluidInputs(1) //.setProgressBar(ROCKET_ARROW, MoveType.HORIZONTAL) .build()) .withBaseTexture() // Looking for existing renderers in CEu. but yeah, you can also use here .buildAndRegister(); microverse_projector_advanced.hasMufflerMechanics = true; microverse_projector_advanced.hasMaintenanceMechanics = true; //microverse_projector_advanced.frontOverlay = ; // Advanced Microverse Projector II val microverse_projector_advanced_ii = Builder.start("mbt:microverse_projector_advanced_ii") .withPattern(function(controller as IControllerTile) as IBlockPattern { return FactoryBlockPattern.start() .aisle( " ", " ", " CCCCC ", " CVCVC ", " CCMCC ", " CVCVC ", " CCCCC ", " ", " ") .aisle( " ", " CGGGC ", " CDDDDDC ", " GDDDDDG ", " GDDDDDG ", " GDDDDDG ", " CDDDDDC ", " CGGGC ", " ") .aisle( " CCCCC ", " CDDDDDC ", "CDDDDDDDC", "CDDDDDDDC", "CDDDDDDDC", "CDDDDDDDC", "CDDDDDDDC", " CDDDDDC ", " CCCCC ") .aisle( " CGGGC ", " GDDDDDG ", "CDDDDDDDC", "GDD DDG", "GDD DDG", "GDD DDG", "CDDDDDDDC", " GDDDDDG ", " CGGGC ").setRepeatable(3) .aisle( " CCCCC ", " CDDDDDC ", "CDDDDDDDC", "CDDDDDDDC", "CDDDDDDDC", "CDDDDDDDC", "CDDDDDDDC", " CDDDDDC ", " CCCCC ") .aisle( " ", " CGGGC ", " CDDDDDC ", " GDDDDDG ", " GDDDDDG ", " GDDDDDG ", " CDDDDDC ", " CGGGC ", " ") .aisle( " ", " ", " CCSCC ", " CGGGC ", " CGGGC ", " CGGGC ", " CCCCC ", " ", " ") .where('S', controller.self()) .where('G', ) .where('V', ) .where(' ', CTPredicate.getAny()) .where('D', ) .where("C", CTPredicate.states() | controller.autoAbilities(true, true, true, true, true, false, false)) .where('M', controller.autoAbilities(false, false, false, false, false, false, true)) // same as CTPredicate.abilities() .build(); } as IPatternBuilderFunction) .withRecipeMap( FactoryRecipeMap.start("microverse_projector_advanced_ii") // create a RecipeMap. .minInputs(2) .maxInputs(8) .minOutputs(1) .maxOutputs(16) //.setProgressBar(ROCKET_ARROW, MoveType.HORIZONTAL) .build()) .withBaseTexture() // Looking for existing renderers in CEu. but yeah, you can also use here .buildAndRegister(); microverse_projector_advanced_ii.hasMufflerMechanics = true; microverse_projector_advanced_ii.hasMaintenanceMechanics = true; //microverse_projector_advanced_ii.frontOverlay = ; // Naquadah Reactor 1 .displayName = "Reaction-Safe Casing"; val naquadah_reactor_1 = Builder.start("naquadah_reactor_1") .withPattern(function(controller as IControllerTile) as IBlockPattern { return FactoryBlockPattern.start() .aisle( "CCC", "PGP", "PGP", "PGP", "CCC" ) .aisle( "CCC", "GNG", "GNG", "GOG", "CCC" ) .aisle( "CSC", "PGP", "PGP", "PGP", "CCC" ) .where('S', controller.self()) .where('G', ) .where('P', ) .where('O', ) .where('N', ) .where('C', CTPredicate.states() | CTPredicate.abilities().setMinGlobalLimited(1).setPreviewCount(1) | CTPredicate.abilities().setMinGlobalLimited(1).setPreviewCount(1) | CTPredicate.abilities().setMinGlobalLimited(1).setMaxGlobalLimited(3).setPreviewCount(1) ) .build(); } as IPatternBuilderFunction) .withRecipeMap( FactoryRecipeMap.start("naquadah_reactor_1") .minInputs(1) .maxInputs(1) .minOutputs(1) .maxOutputs(1) .build()) .withBaseTexture() .buildAndRegister(); naquadah_reactor_1.hasMufflerMechanics = false; naquadah_reactor_1.hasMaintenanceMechanics = false; //naquadah_reactor_1.frontOverlay = ; naquadah_reactor_1.runOverclockingLogic = function(recipelogic as IRecipeLogic, recipe as IRecipe, negativeEU as bool, maxOverclocks as int) as int[] { return IRecipeLogic.standardOverclockingLogic(recipe.getEUt() * (negativeEU ? -1 : 1), recipelogic.maxVoltage, recipe.getDuration(), 1, 1, 0); // 1x duration, 1x voltage, 0 overclocks } as IRunOverclockingLogicFunction; .addTooltip(format.yellow("Produces exactly 3A ZPM, does not overclock")); // Naquadah Reactor 2 val naquadah_reactor_2 = Builder.start("naquadah_reactor_2") .withPattern(function(controller as IControllerTile) as IBlockPattern { return FactoryBlockPattern.start() .aisle( "CCC", "PGP", "PGP", "PGP", "PGP", "CCC" ) .aisle( "CCC", "GNG", "GNG", "GNG", "GOG", "CCC" ) .aisle( "CSC", "PGP", "PGP", "PGP", "PGP", "CCC" ) .where('S', controller.self()) .where('P', ) .where('G', ) .where('O', ) .where('N', ) .where('C', CTPredicate.states() | CTPredicate.abilities().setMinGlobalLimited(1).setPreviewCount(1) | CTPredicate.abilities().setMinGlobalLimited(1).setPreviewCount(1) | CTPredicate.abilities().setMinGlobalLimited(1).setMaxGlobalLimited(3).setPreviewCount(1) ) .build(); } as IPatternBuilderFunction) .withRecipeMap( FactoryRecipeMap.start("naquadah_reactor_2") .minInputs(1) .maxInputs(1) .minOutputs(1) .maxOutputs(1) .build()) .withBaseTexture() .buildAndRegister(); naquadah_reactor_2.hasMufflerMechanics = false; naquadah_reactor_2.hasMaintenanceMechanics = false; //naquadah_reactor_2.frontOverlay = ; naquadah_reactor_2.runOverclockingLogic = function(recipelogic as IRecipeLogic, recipe as IRecipe, negativeEU as bool, maxOverclocks as int) as int[] { return IRecipeLogic.standardOverclockingLogic(recipe.getEUt() * (negativeEU ? -1 : 1), recipelogic.maxVoltage, recipe.getDuration(), 1, 1, 0); // 1x duration, 1x voltage, 0 overclocks } as IRunOverclockingLogicFunction; .addTooltip(format.yellow("Produces exactly 3A UV, does not overclock")); // Actualization Chamber val actualization_chamber = Builder.start("actualization_chamber") .withPattern(function(controller as IControllerTile) as IBlockPattern { return FactoryBlockPattern.start() .aisle("CCC","GGG","CCC") .aisle("CCC","GOG","CCC") .aisle("CSC","GGG","CCC") .where('S', controller.self()) .where('O', ) .where('G', ) .where('C', CTPredicate.states() | controller.autoAbilities(true, false, true, true, false, false, false) ) .build(); } as IPatternBuilderFunction) .withRecipeMap( FactoryRecipeMap.start("actualization_chamber") .minInputs(1) .maxInputs(2) .minOutputs(1) .maxOutputs(16) .build()) // .withBaseTexture() .withBaseTexture() .buildAndRegister(); actualization_chamber.hasMufflerMechanics = false; actualization_chamber.hasMaintenanceMechanics = false; //actualization_chamber.frontOverlay = ; // Universal Crystallizer val universal_crystallizer = Builder.start("universal_crystallizer") .withPattern(function(controller as IControllerTile) as IBlockPattern { return FactoryBlockPattern.start(RelativeDirection.FRONT, RelativeDirection.UP, RelativeDirection.LEFT) .aisle("AAAAAAA", "ABBCBBA", "ABCCCBA", "ACCCCCA", "ABCCCBA", "ABBCBBA", "AAAAAAA") .aisle("AAAAAAA", "B B", "B D B", "B DDD B", "B D B", "B B", "ABBBBBA") .aisle("AAAAAAA", "B EEE B", "B E E B", "B EFE B", "B E E B", "B EEE B", "ABBBBBA") .aisle("SAAAAAA", "B EEE B", "B B", "B G B", "B B", "B EEE B", "ABBBBBA") .aisle("AAAAAAA", "B EEE B", "B E E B", "B EFE B", "B E E B", "B EEE B", "ABBBBBA") .aisle("AAAAAAA", "B B", "B D B", "B DDD B", "B D B", "B B", "ABBBBBA") .aisle("AAAAAAA", "ABBCBBA", "ABCCCBA", "ACCCCCA", "ABCCCBA", "ABBCBBA", "AAAAAAA") .where('S', controller.self()) .where(' ', CTPredicate.getAir()) .where('C', ) .where('B', ) .where('D', ) .where('E', ) .where('F', ) .where('G', ) .where('A', CTPredicate.states().setMinGlobalLimited(80) | controller.autoAbilities(true, true, true, true, true, false, false) ) .build(); } as IPatternBuilderFunction) .withRecipeMap( FactoryRecipeMap.start("universal_crystallizer") .minInputs(1) .maxInputs(9) .minOutputs(1) .maxOutputs(1) .maxFluidInputs(1) .build()) .withBaseTexture() .buildAndRegister(); universal_crystallizer.hasMufflerMechanics = false; universal_crystallizer.hasMaintenanceMechanics = true; //universal_crystallizer.frontOverlay = ; // multiblock controller recipes recipes.addShaped("microverse_projector_basic", , [ [, , ], [, , ], [, , ] ]); recipes.addShaped("microverse_projector_advanced", , [ [, , ], [, , ], [, , ] ]); recipes.addShaped("microverse_projector_advanced_ii", , [ [, , ], [, , ], [, , ] ]); makeShaped("naquadah_reactor_1", , ["NCN", "GSG", "PPP"], { C : , //T5 G : , S : , P : , N : }); //Omnium Nugget makeShaped("naquadah_reactor_2", , ["NCN", "GSG", "PPP"], { C : , //T6 G : , S : , P : , N : }); //Omnium Ingot makeExtremeRecipe5(, ["PPPPP", "PEFSP", "PWGWP", "PSFEP", "PPPPP"], { G : , W : , P : , E : , S : , F : }); assembly_line.recipeBuilder() .inputs( * 24, * 24, * 24, * 24, * 64, * 64, * 24, * 8, * 3, * 3, * 3, * 3) .fluidInputs( * 36864, * 18432, * 63216, * 4608) .outputs() .duration(900).EUt(7864320).buildAndRegister(); // multiblock recipemap recipes // basic projector // t1 ores microverse_projector_basic.recipeMap .recipeBuilder() .duration(500) .EUt(500) .inputs(, , ) .fluidInputs( * 8000) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t1 gems microverse_projector_basic.recipeMap .recipeBuilder() .duration(500) .EUt(500) .inputs(, , ) .fluidInputs( * 8000) .outputs( * 64, * 64, * 64, * 64) .buildAndRegister(); // t1 stellar creation data 1 microverse_projector_basic.recipeMap .recipeBuilder() .duration(100) .EUt(500) .inputs(, ) .fluidInputs( * 2000) .outputs() .buildAndRegister(); // st1 matter microverse_projector_basic.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .notConsumable() .inputs() .outputs( ).buildAndRegister(); // t2 radium + ores microverse_projector_basic.recipeMap .recipeBuilder() .duration(600) .EUt(1000) .inputs(, * 2) .fluidInputs( * 12000) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t2 stellar creation data microverse_projector_basic.recipeMap .recipeBuilder() .duration(120) .EUt(1000) .inputs(, * 4) .fluidInputs( * 3000) .outputs( * 4) .buildAndRegister(); // st2 matter microverse_projector_basic.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .inputs() .notConsumable() .outputs( ).buildAndRegister(); // t3 gems microverse_projector_basic.recipeMap .recipeBuilder() .duration(700) .EUt(2000) .inputs(, * 4, ) .fluidInputs( * 20000) .outputs( * 64, * 32, * 64, * 48, * 32, * 64, * 64, * 64) .buildAndRegister(); // t3 ores microverse_projector_basic.recipeMap .recipeBuilder() .duration(700) .EUt(2000) .inputs(, * 4, ) .fluidInputs( * 20000) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t3 magma microverse_projector_basic.recipeMap .recipeBuilder() .duration(700) .EUt(2000) .inputs(, * 4, ) .fluidInputs( * 20000) .outputs( * 64, * 64) .buildAndRegister(); // st3 matter microverse_projector_basic.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .inputs() .notConsumable() .outputs( ).buildAndRegister(); // advanced projector // t4 oil and infinity microverse_projector_advanced.recipeMap .recipeBuilder() .duration(800) .EUt(3750) .inputs(, * 8, , * 64) .outputs( * 64, * 64, .firstItem * 16) .buildAndRegister(); // t4 dense gem ores microverse_projector_advanced.recipeMap .recipeBuilder() .duration(800) .EUt(3750) .inputs(, * 8, , * 64) .outputs( * 64, * 64, * 64, * 64, * 32, * 16) .buildAndRegister(); // t4 pgs ores microverse_projector_advanced.recipeMap .recipeBuilder() .duration(800) .EUt(3750) .inputs(, * 8, * 4, * 64) .outputs( * 64, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // st4 matter microverse_projector_advanced.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .inputs() .notConsumable() .outputs( ).buildAndRegister(); // t4.5 ow mobs microverse_projector_advanced.recipeMap .recipeBuilder() .duration(800) .EUt(3750) .inputs(, * 8, * 64, ) .outputs( * 48, * 64, * 64, * 64, * 48, * 64, * 64, * 64, * 48, * 64, * 64, * 64) .buildAndRegister(); // t4.5 nether mobs microverse_projector_advanced.recipeMap .recipeBuilder() .duration(1000) .EUt(3750) .inputs(, * 8, * 64, ) .outputs( * 50, * 50, * 50, * 50, * 50, * 50, * 50, * 50, * 64, * 48, * 64, * 64, * 64, * 4) .buildAndRegister(); // t4.5 end mobs microverse_projector_advanced.recipeMap .recipeBuilder() .duration(1200) .EUt(3750) .inputs(, * 8, * 64, ) .outputs( * 48, * 16, * 64, * 64, * 64) .buildAndRegister(); // t4.5 dragon microverse_projector_advanced.recipeMap .recipeBuilder() .duration(2000) .EUt(10000) .inputs(, * 8, * 64, * 16) .outputs( * 64, * 64, * 64, * 64, ) .buildAndRegister(); // t4.5 wither microverse_projector_advanced.recipeMap .recipeBuilder() .duration(2000) .EUt(10000) .inputs(, * 8, * 64, * 64) .outputs( * 64, * 64, * 48) .buildAndRegister(); // st4.5 matter microverse_projector_advanced.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .inputs() .notConsumable() .outputs( ).buildAndRegister(); // t5 ores microverse_projector_advanced.recipeMap .recipeBuilder() .duration(1000) .EUt(7500) .inputs(, * 16, * 32) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, //Ender Pearl Block * 6, * 6, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t5 naquadah trinium microverse_projector_advanced.recipeMap .recipeBuilder() .duration(1000) .EUt(7500) .inputs(, * 16, * 32) .outputs( * 64, * 64, * 64, * 64, * 64, * 24) .buildAndRegister(); // st5 matter microverse_projector_advanced.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .inputs() .notConsumable() .outputs( ).buildAndRegister(); // t6 u/os/ir microverse_projector_advanced.recipeMap .recipeBuilder() .duration(1250) .EUt(18750) .inputs(, * 16, * 32, * 16) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 24) .buildAndRegister(); // t6 einsteinium microverse_projector_advanced.recipeMap .recipeBuilder() .duration(1250) .EUt(18750) .inputs(, * 16, * 32, * 64) .outputs( * 32) .buildAndRegister(); // t6 eggs microverse_projector_advanced.recipeMap .recipeBuilder() .duration(1250) .EUt(18750) .inputs(, * 16, * 32, * 16) .outputs( * 32) .buildAndRegister(); // st6 matter microverse_projector_advanced.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .inputs() .notConsumable() .outputs( ).buildAndRegister(); // advanced projector 2 // t7 hearts microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(1500) .EUt(31250) .inputs(, * 32, .firstItem * 64, .firstItem * 64, * 32) .outputs( * 32, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, //Silver block * 64, //Silver Block * 64, * 64, * 64, //Platinum Block * 16) .buildAndRegister(); // t7 chaos lair data microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(1500) .EUt(31250) .inputs(, .firstItem * 64, .firstItem * 64, , * 64, * 64, * 64, * 64) .outputs() .buildAndRegister(); // st7 matter microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .inputs() .notConsumable() .outputs( ).buildAndRegister(); // t8 gravistar nt microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(2000) .EUt(62500) .inputs(, * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, * 64, * 64) .outputs( * 32, * 64, * 64, * 64, ) .buildAndRegister(); // t8 shards eggs microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(1500) .EUt(62500) .inputs(, * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, ) .outputs( * 4, * 64, * 64, * 64, * 64) .buildAndRegister(); // st8 matter microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(9408) .EUt(30720) .inputs() .notConsumable() .outputs( ).buildAndRegister(); // t9 nt microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(3000) .EUt(250000) .inputs(, * 8, * 4, ) .outputs(.firstItem * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64, .firstItem * 64) .buildAndRegister(); // t9 universe creation data microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(3000) .EUt(250000) .inputs(, * 4, * 64, * 64, * 64, * 64) .outputs() .buildAndRegister(); // t10 hotu microverse_projector_advanced_ii.recipeMap .recipeBuilder() .duration(6000) .EUt(1000000) .inputs(, , * 8) .outputs() .buildAndRegister(); // actualization // t1 ores actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t1 gems actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(2) .outputs( * 64, * 64, * 64, * 64) .buildAndRegister(); // t1 stellar data actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(3) .outputs() .buildAndRegister(); // t2 ores actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t3 gems actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 64, * 32, * 64, * 48, * 32, * 64, * 64, * 64) .buildAndRegister(); // t3 ores actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(2) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t3 magma actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(3) .outputs( * 64, * 64) .buildAndRegister(); // t4 oil and infinity actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 64, * 64, .firstItem * 16) .buildAndRegister(); // t4 ores actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(2) .outputs( * 64, * 64, * 64, * 64, * 32, * 16) .buildAndRegister(); // t4 pgs ores actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(3) .outputs( * 64, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t4.5 ow mobs actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 48, * 64, * 64, * 64, * 48, * 64, * 64, * 64, * 48, * 64, * 64, * 64) .buildAndRegister(); // t4.5 nether mobs actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(2) .outputs( * 64, * 64, * 64, * 48, * 64, * 64, * 64, * 4) .buildAndRegister(); // t4.5 end mobs actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(3) .outputs( * 48, * 16, * 64, * 64, * 64) .buildAndRegister(); // t4.5 dragon actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(4) .outputs( * 64, * 64, * 64, * 64, ) .buildAndRegister(); // t4.5 wither actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(5) .outputs( * 64, * 64, * 48) .buildAndRegister(); // t5 ores actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, //Ender Pearl Block * 6, * 6, * 64, * 64, * 64, * 64, * 64) .buildAndRegister(); // t5 nq ke actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(2) .outputs( * 64, * 64, * 64, * 64, * 64, * 24) .buildAndRegister(); // t6 u/pgs actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 64, * 64, * 64, * 64, * 64, * 64, * 24) .buildAndRegister(); // t6 es actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(2) .outputs( * 32) .buildAndRegister(); // t6 eggs actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(3) .outputs( * 32) .buildAndRegister(); // t7 hearts actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 4, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64, //Silver block * 64, //Silver Block * 64, * 64, * 64, //Platinum Block * 16) .buildAndRegister(); // t7 chaos actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(2) .outputs() .buildAndRegister(); // t8 nt actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(1) .outputs( * 32, * 64, * 64, * 64, ) .buildAndRegister(); // t8 eggs actualization_chamber.recipeMap .recipeBuilder() .duration(780) .EUt(30720) .inputs() .circuit(2) .outputs( * 4, * 64, * 64, * 64, * 64) .buildAndRegister(); // Naquadah Reactor Mk1 Recipes naquadah_reactor_1.recipeMap .recipeBuilder() .duration(938) .EUt(-393216) .inputs() .outputs() .buildAndRegister(); naquadah_reactor_1.recipeMap .recipeBuilder() .duration(3750) .EUt(-393216) .inputs() .outputs() .buildAndRegister(); // Naquadah Reactor Mk2 Recipes naquadah_reactor_2.recipeMap .recipeBuilder() .duration(1875) .EUt(-1572864) .inputs() .outputs() .buildAndRegister(); naquadah_reactor_2.recipeMap .recipeBuilder() .duration(7500) .EUt(-1572864) .inputs() .outputs() .buildAndRegister(); // Universal Crystallizer Recipes universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 64, * 64, * 64, * 64, * 64, * 64, * 64, * 64) .outputs( * 32) .fluidInputs( * 3) .duration(3).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 63) .outputs( * 7) .fluidInputs( * 3) .duration(3).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 63) .outputs( * 7) .fluidInputs( * 3) .duration(3).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 63) .outputs( * 7) .fluidInputs( * 3) .duration(3).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 63) .outputs( * 7) .fluidInputs( * 3) .duration(3).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 63) .outputs( * 7) .fluidInputs( * 3) .duration(3).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 63) .outputs( * 7) .fluidInputs( * 3) .duration(3).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 3, * 9, * 27, * 27) .outputs() .fluidInputs( * 3) .duration(3).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs(, * 2, * 4, * 2) .outputs() .fluidInputs( * 30) .duration(30).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs(, * 4, * 2) .outputs() .fluidInputs( * 30) .duration(30).EUt(23592960).buildAndRegister(); universal_crystallizer.recipeMap.recipeBuilder() .inputs( * 5, * 4, * 2) .outputs( * 5) .fluidInputs( * 30) .duration(30).EUt(23592960).buildAndRegister();