diff --git a/overrides/scripts/Alchemy.zs b/overrides/scripts/Alchemy.zs index abf80d1..a04a939 100644 --- a/overrides/scripts/Alchemy.zs +++ b/overrides/scripts/Alchemy.zs @@ -36,9 +36,6 @@ recipes.addShaped(, [[ | , [[, , ], [, , ],[,,]]); -//Nether Cake -recipes.addShaped(, [[,,], [, , ],[,,]]); - //End Cake recipes.addShaped(, [[,,], [, , ],[,,]]); diff --git a/overrides/scripts/BlastFurnace.zs b/overrides/scripts/BlastFurnace.zs index a11ab35..24dee3b 100644 --- a/overrides/scripts/BlastFurnace.zs +++ b/overrides/scripts/BlastFurnace.zs @@ -16,13 +16,6 @@ furnace.remove(, ); furnace.remove(, ); furnace.remove(, ); -//Steel [tier 0] - -// Steel Ingot * 1 -.findRecipe(120, [], [ * 1000]).remove(); -// Steel Ingot * 1 -.findRecipe(120, [], [ * 200]).remove(); - //Black Steel [tier 1] // Black Steel Ingot * 1 .findRecipe(120, [, .withTag({Configuration: 2})], [ * 1000]).remove(); diff --git a/overrides/scripts/ContentTweaker.zs b/overrides/scripts/ContentTweaker.zs index 82eb07a..9377d58 100644 --- a/overrides/scripts/ContentTweaker.zs +++ b/overrides/scripts/ContentTweaker.zs @@ -396,6 +396,11 @@ tierfourship.rarity = "uncommon"; tierfourship.maxStackSize = 16; tierfourship.register(); +var tierfourandhalfship = VanillaFactory.createItem("tierfourandhalfship"); +tierfourandhalfship.rarity = "uncommon"; +tierfourandhalfship.maxStackSize = 16; +tierfourandhalfship.register(); + var tierfiveship = VanillaFactory.createItem("tierfiveship"); tierfiveship.rarity = "rare"; tierfiveship.maxStackSize = 16; @@ -462,6 +467,10 @@ lairofthechaosguardiandata.rarity = "epic"; lairofthechaosguardiandata.maxStackSize = 1; lairofthechaosguardiandata.register(); +var densemagma = VanillaFactory.createBlock("densemagma", ); +densemagma.blockSoundType = ; +densemagma.register(); + var denseoilshale = VanillaFactory.createBlock("denseoilshale", ); denseoilshale.blockSoundType = ; @@ -532,3 +541,125 @@ pulsatingdust.register(); var pulsatingmesh = VanillaFactory.createItem("pulsatingmesh"); pulsatingmesh.maxStackSize = 64; pulsatingmesh.register(); + + +var tiereightship_stabilized = VanillaFactory.createItem("tiereightship_stabilized"); +tiereightship_stabilized.rarity = "epic"; +tiereightship_stabilized.maxStackSize = 1; +tiereightship_stabilized.register(); + +var tiereightship_stabilized_matter = VanillaFactory.createItem("tiereightship_stabilized_matter"); +tiereightship_stabilized_matter.rarity = "epic"; +tiereightship_stabilized_matter.glowing = true; +tiereightship_stabilized_matter.maxStackSize = 64; +tiereightship_stabilized_matter.register(); + +var tierfiveship_stabilized = VanillaFactory.createItem("tierfiveship_stabilized"); +tierfiveship_stabilized.rarity = "epic"; +tierfiveship_stabilized.maxStackSize = 1; +tierfiveship_stabilized.register(); + +var tierfiveship_stabilized_matter = VanillaFactory.createItem("tierfiveship_stabilized_matter"); +tierfiveship_stabilized_matter.rarity = "epic"; +tierfiveship_stabilized_matter.glowing = true; +tierfiveship_stabilized_matter.maxStackSize = 64; +tierfiveship_stabilized_matter.register(); + +var tierfourandhalfship_stabilized = VanillaFactory.createItem("tierfourandhalfship_stabilized"); +tierfourandhalfship_stabilized.rarity = "epic"; +tierfourandhalfship_stabilized.maxStackSize = 1; +tierfourandhalfship_stabilized.register(); + +var tierfourandhalfship_stabilized_matter = VanillaFactory.createItem("tierfourandhalfship_stabilized_matter"); +tierfourandhalfship_stabilized_matter.rarity = "epic"; +tierfourandhalfship_stabilized_matter.glowing = true; +tierfourandhalfship_stabilized_matter.maxStackSize = 64; +tierfourandhalfship_stabilized_matter.register(); + +var tierfourship_stabilized = VanillaFactory.createItem("tierfourship_stabilized"); +tierfourship_stabilized.rarity = "epic"; +tierfourship_stabilized.maxStackSize = 1; +tierfourship_stabilized.register(); + +var tierfourship_stabilized_matter = VanillaFactory.createItem("tierfourship_stabilized_matter"); +tierfourship_stabilized_matter.rarity = "epic"; +tierfourship_stabilized_matter.glowing = true; +tierfourship_stabilized_matter.maxStackSize = 64; +tierfourship_stabilized_matter.register(); + +var tiernineship_stabilized = VanillaFactory.createItem("tiernineship_stabilized"); +tiernineship_stabilized.rarity = "epic"; +tiernineship_stabilized.maxStackSize = 1; +tiernineship_stabilized.register(); + +var tiernineship_stabilized_matter = VanillaFactory.createItem("tiernineship_stabilized_matter"); +tiernineship_stabilized_matter.rarity = "epic"; +tiernineship_stabilized_matter.glowing = true; +tiernineship_stabilized_matter.maxStackSize = 64; +tiernineship_stabilized_matter.register(); + +var tieroneship_stabilized = VanillaFactory.createItem("tieroneship_stabilized"); +tieroneship_stabilized.rarity = "epic"; +tieroneship_stabilized.maxStackSize = 1; +tieroneship_stabilized.register(); + +var tieroneship_stabilized_matter = VanillaFactory.createItem("tieroneship_stabilized_matter"); +tieroneship_stabilized_matter.rarity = "epic"; +tieroneship_stabilized_matter.glowing = true; +tieroneship_stabilized_matter.maxStackSize = 64; +tieroneship_stabilized_matter.register(); + +var tiersevenship_stabilized = VanillaFactory.createItem("tiersevenship_stabilized"); +tiersevenship_stabilized.rarity = "epic"; +tiersevenship_stabilized.maxStackSize = 1; +tiersevenship_stabilized.register(); + +var tiersevenship_stabilized_matter = VanillaFactory.createItem("tiersevenship_stabilized_matter"); +tiersevenship_stabilized_matter.rarity = "epic"; +tiersevenship_stabilized_matter.glowing = true; +tiersevenship_stabilized_matter.maxStackSize = 64; +tiersevenship_stabilized_matter.register(); + +var tiersixship_stabilized = VanillaFactory.createItem("tiersixship_stabilized"); +tiersixship_stabilized.rarity = "epic"; +tiersixship_stabilized.maxStackSize = 1; +tiersixship_stabilized.register(); + +var tiersixship_stabilized_matter = VanillaFactory.createItem("tiersixship_stabilized_matter"); +tiersixship_stabilized_matter.rarity = "epic"; +tiersixship_stabilized_matter.glowing = true; +tiersixship_stabilized_matter.maxStackSize = 64; +tiersixship_stabilized_matter.register(); + +var tiertenship_stabilized = VanillaFactory.createItem("tiertenship_stabilized"); +tiertenship_stabilized.rarity = "epic"; +tiertenship_stabilized.maxStackSize = 1; +tiertenship_stabilized.register(); + +var tiertenship_stabilized_matter = VanillaFactory.createItem("tiertenship_stabilized_matter"); +tiertenship_stabilized_matter.rarity = "epic"; +tiertenship_stabilized_matter.glowing = true; +tiertenship_stabilized_matter.maxStackSize = 64; +tiertenship_stabilized_matter.register(); + +var tierthreeship_stabilized = VanillaFactory.createItem("tierthreeship_stabilized"); +tierthreeship_stabilized.rarity = "epic"; +tierthreeship_stabilized.maxStackSize = 1; +tierthreeship_stabilized.register(); + +var tierthreeship_stabilized_matter = VanillaFactory.createItem("tierthreeship_stabilized_matter"); +tierthreeship_stabilized_matter.rarity = "epic"; +tierthreeship_stabilized_matter.glowing = true; +tierthreeship_stabilized_matter.maxStackSize = 64; +tierthreeship_stabilized_matter.register(); + +var tiertwoship_stabilized = VanillaFactory.createItem("tiertwoship_stabilized"); +tiertwoship_stabilized.rarity = "epic"; +tiertwoship_stabilized.maxStackSize = 1; +tiertwoship_stabilized.register(); + +var tiertwoship_stabilized_matter = VanillaFactory.createItem("tiertwoship_stabilized_matter"); +tiertwoship_stabilized_matter.rarity = "epic"; +tiertwoship_stabilized_matter.glowing = true; +tiertwoship_stabilized_matter.maxStackSize = 64; +tiertwoship_stabilized_matter.register(); diff --git a/overrides/scripts/DenseOres.zs b/overrides/scripts/DenseOres.zs index 4ec4c5c..083d75a 100644 --- a/overrides/scripts/DenseOres.zs +++ b/overrides/scripts/DenseOres.zs @@ -22,6 +22,7 @@ val denseOres as IItemStack[][IOreDictEntry] = { , : [ , ] , : [ , ] , : [ , ] + , : [ , ] , : [ , ] }; diff --git a/overrides/scripts/Earlygame.zs b/overrides/scripts/Earlygame.zs index 0db95d6..bae5cf8 100644 --- a/overrides/scripts/Earlygame.zs +++ b/overrides/scripts/Earlygame.zs @@ -34,23 +34,15 @@ recipes.addShaped( * 2, [ //Wood Pulp recipes.addShapeless( * 4,[,]); -//Red Alloy Dust -recipes.addShapeless(, [, , , , ]); - - //Dusts recipes.addShapeless(, [, ]); recipes.addShapeless(, [, ]); recipes.addShapeless(, [, ]); -recipes.addShapeless(, [,]); furnace.addRecipe(, , 0.0); recipes.addShapeless(, [, ]); -//Clay Electrolyzing -electrolyzer.findRecipe(60, [ * 13], [null]).remove(); -electrolyzer.recipeBuilder().inputs([ * 13]).outputs([ * 2, * 2, , * 2]).fluidOutputs([*6000]).duration(364).EUt(15).buildAndRegister(); //Photovoltaic Cells alloy_smelter.recipeBuilder().inputs([ * 2, ]).outputs([]).duration(180).EUt(16).buildAndRegister(); @@ -83,14 +75,6 @@ recipes.addShaped(, [ [, , ], [, , ]]); -// Ender Tank (Ender Storage) -recipes.remove(); -recipes.addShaped(, [ - [, , ], - [, basictank, ], - [, , ]]); //Ender Pearl Block -recipes.addShapeless(, []); - //Black Quartz electrolyzer.recipeBuilder().inputs([ * 4]).outputs([]).duration(400).EUt(90).buildAndRegister(); @@ -131,11 +115,6 @@ recipes.addShapeless( * 3, [,); recipes.remove(); recipes.addShaped(, [[, , ]]); - -// Steel -alloy_smelter.recipeBuilder().inputs([, ]).outputs([]).duration(150).EUt(16).buildAndRegister(); -alloy_smelter.recipeBuilder().inputs([, ]).outputs([]).duration(150).EUt(16).buildAndRegister(); -alloy_smelter.recipeBuilder().inputs([, ]).outputs([]).duration(150).EUt(16).buildAndRegister(); //EIO Alloys alloy_smelter.recipeBuilder().inputs([, ]).outputs([]).duration(240).EUt(16).buildAndRegister(); alloy_smelter.recipeBuilder().inputs([, ]).outputs([]).duration(240).EUt(16).buildAndRegister(); @@ -154,34 +133,6 @@ recipes.addShaped(, [ //Blaze Rod recipes.addShapeless(, []); -//LV Macerator -recipes.remove(); -recipes.addShaped(, [ - [, , ], - [, , ], - [, , ]]); - -//MV Macerator -recipes.remove(); -recipes.addShaped(, [ - [, , ], - [, , ], - [, , ]]); - -//LV Piston -recipes.addShaped(, [ - [,,], - [, ,], - [, , ]]); - -//Fluid Conduit -mods.jei.JEI.removeAndHide(); -recipes.remove(); -recipes.addShaped( * 4, [ - [, , ], - [,,], - [, , ]]); -assembler.recipeBuilder().inputs([ * 3, * 6]).outputs([ * 8]).duration(80).EUt(16).buildAndRegister(); //macerator.recipeBuilder().inputs([]).outputs([]).duration(80).EUt(8).buildAndRegister(); macerator.recipeBuilder().inputs([]).outputs([]).duration(80).EUt(8).buildAndRegister(); @@ -209,7 +160,6 @@ chemical_reactor.recipeBuilder().inputs([]).fluidIn chemical_reactor.recipeBuilder().inputs([]).fluidInputs([ * 1000]).outputs().EUt(15).duration(100).buildAndRegister(); chemical_reactor.recipeBuilder().inputs([]).fluidInputs([ * 1000]).outputs().EUt(15).duration(200).buildAndRegister(); chemical_reactor.recipeBuilder().inputs([]).fluidInputs([ * 1000]).outputs().EUt(15).duration(20).buildAndRegister(); -chemical_reactor.recipeBuilder().inputs([]).fluidInputs([ * 1000]).outputs().EUt(15).duration(20).buildAndRegister(); chemical_reactor.recipeBuilder().inputs([]).fluidOutputs( * 1000).EUt(30).duration(120).buildAndRegister(); chemical_reactor.recipeBuilder().inputs([]).fluidInputs( * 100).outputs().EUt(30).duration(120).buildAndRegister(); mixer.recipeBuilder().inputs([,]).outputs( * 2).EUt(15).duration(80).buildAndRegister(); @@ -354,32 +304,8 @@ recipes.remove(); recipes.addShapeless( * 16, [, , , ,,]); recipes.addShapeless( * 16, [, , , ,,]); -recipes.remove(); -recipes.remove(); -recipes.remove(); - - -recipes.addShaped(, [[, , ], - [, , ], - [, , ]]); - -recipes.addShaped(, [ - [, , ], - [, , ], - [, , ]]); - -recipes.addShaped(, [ - [, , ], - [, , ], - [, , ]]); - - - -recipes.addShapeless(, [,]); - - -furnace.addRecipe( * 3, , 0.0); -furnace.addRecipe( * 2, , 0.0); +//furnace.addRecipe( * 3, , 0.0); +//furnace.addRecipe( * 2, , 0.0); //Add recipe for Iron Trapdoor @@ -432,21 +358,6 @@ electrolyzer.recipeBuilder() // remove xu2 shortcut hopper recipes.removeByRecipeName("extrautils2:shortcut_hopper"); -// steam multis -recipes.removeByRecipeName("gregtech:steam_oven"); -recipes.addShaped(, [ - [, , ], - [, , ], - [, , ] -]); - -recipes.removeByRecipeName("gregtech:steam_grinder"); -recipes.addShaped(, [ - [, , ], - [, , ], - [, , ] -]); - // Crafting Station assembler.recipeBuilder() .inputs([ * 2, * 4, ]) @@ -465,82 +376,6 @@ electrolyzer.recipeBuilder() .EUt(30) .buildAndRegister(); -// PBF nomified -furnace.remove(); -furnace.addRecipe(, , 0.5); -recipes.removeByRecipeName("gregtech:fireclay_dust"); -recipes.addShapeless("fireclay_dust", * 16, [, ]); -// Compressed Fireclay * 1 -.findRecipe(4, [], null).remove(); -// Clay Dust * 1 -.findRecipe(30, [ * 2], null).remove(); - - -// PBF recipe removals -// Steel Ingot * 1 -.findRecipe(1, [, ], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, ], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, * 2], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, * 2], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, * 2], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, * 2], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, ], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, ], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, * 2], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, * 2], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, * 2], null).remove(); -// Steel Ingot * 1 -.findRecipe(1, [, * 2], null).remove(); -// Block of Steel * 1 -.findRecipe(1, [, ], null).remove(); -// Block of Steel * 1 -.findRecipe(1, [, * 2], null).remove(); -// Block of Steel * 1 -.findRecipe(1, [, * 2], null).remove(); -// Block of Steel * 1 -.findRecipe(1, [, ], null).remove(); -// Block of Steel * 1 -.findRecipe(1, [, * 2], null).remove(); -// Block of Steel * 1 -.findRecipe(1, [, * 2], null).remove(); - -// PBF recipes - -primitive_blast_furnace.recipeBuilder() - .inputs([, ]) - .outputs([, * 2]) - .duration(400) - .EUt(1) - .buildAndRegister(); -primitive_blast_furnace.recipeBuilder() - .inputs([, ]) - .outputs([, * 2]) - .duration(400) - .EUt(1) - .buildAndRegister(); -primitive_blast_furnace.recipeBuilder() - .inputs([, ]) - .outputs([, * 2]) - .duration(400) - .EUt(1) - .buildAndRegister(); -primitive_blast_furnace.recipeBuilder() - .inputs([, ]) - .outputs([, * 2]) - .duration(400) - .EUt(1) - .buildAndRegister(); - // Kill Glowstone Decomp // Small Pile of Redstone Dust * 2 diff --git a/overrides/scripts/Endgame.zs b/overrides/scripts/Endgame.zs index ac4d2bf..9fe145f 100644 --- a/overrides/scripts/Endgame.zs +++ b/overrides/scripts/Endgame.zs @@ -197,14 +197,6 @@ makeShaped("of_processing_array", , -// Creative Tank Data -extractor.recipeBuilder() - .inputs() - .outputs() - .duration(1000) - .EUt(180000) - .buildAndRegister(); - // UHV 16x Batbuf recipes.addShaped(, [ [, , ], @@ -262,4 +254,92 @@ alloy_blast_smelter.recipeBuilder() .property("temperature", 4500) .duration(2412) .EUt(7680) - .buildAndRegister(); \ No newline at end of file + .buildAndRegister(); + +// Stabilized Miners Tooltips +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); + + +.addTooltip(format.italic( + format.white("A stabilized version, injected with a Heart of a Universe."))); +.addTooltip(format.italic( + format.white("Lasts indefinitely. Reusable. Totally not overpowered."))); +.addTooltip(format.italic( + format.white("It looks oddly familiar."))); \ No newline at end of file diff --git a/overrides/scripts/Microverse.zs b/overrides/scripts/Microverse.zs index 59f3577..157e544 100644 --- a/overrides/scripts/Microverse.zs +++ b/overrides/scripts/Microverse.zs @@ -322,54 +322,8 @@ makeExtremeRecipe9(, recipes.removeByRecipeName("avaritia:items/resource/neutron_nugget"); -// Impossible Realm Data Recipes -makeShaped("of_impossiblerealmdata_x1", , - ["OEO", - "EOE", - "OEO"], - { E : , - O : }); -makeShaped("of_impossiblerealmdata_x2", * 2, - ["HEH", - "EHE", - "HEH"], - { E : , - H : }); - -makeShaped("of_impossiblerealmdata_x4", * 4, - ["XEX", - "EXE", - "XEX"], - { E : , - X : }); - -// Dragon Lair Data -makeShapeless3("of_dragonlairdata", , - ["IHH", - "HHH", - "HHH"], - { I : , - H : } -); - -// Wither Realm Data -makeShapeless3("of_witherrealmdata", , - ["IXX", - "XXX", - "XXX"], - { I : , - X : } -); - -// Quantum Flux Recipes -makeShaped("of_quantumflux_a", , - [" X ", - "XMX", - " X "], - { M : , - X : } -); +// Quantum Flux makeShaped("of_quantumflux_b", , [" M ", @@ -451,14 +405,5 @@ makeShaped("of_ultradensehydrogen", , recipes.addShapeless( * 9, []); -// Extraterrestrial Matter -recipes.remove(); -makeShaped("of_dml_living_matter_extraterrestrial", - , - [" H ", - "HEH", - " H "], - { H : , - E : } -); + diff --git a/overrides/scripts/Midgame.zs b/overrides/scripts/Midgame.zs index ac9159d..14c810e 100644 --- a/overrides/scripts/Midgame.zs +++ b/overrides/scripts/Midgame.zs @@ -73,10 +73,6 @@ centrifuge.findRecipe(20, [], [ * 160]).remove(); centrifuge.recipeBuilder().fluidInputs( * 500).fluidOutputs([ * 10]).duration(800).EUt(30).buildAndRegister(); centrifuge.recipeBuilder().inputs().fluidOutputs([ * 100]).duration(200).EUt(20).buildAndRegister(); -recipes.removeByRecipeName("deepmoblearning:recipe1_deep_learner"); -recipes.addShaped(, [[null,null,null],[,,],[null,null,null]]); - - //Manyullyn mixer.recipeBuilder() .outputs( * 4) diff --git a/overrides/scripts/Nuclearcraft.zs b/overrides/scripts/Nuclearcraft.zs index 5f0ca16..58edb54 100644 --- a/overrides/scripts/Nuclearcraft.zs +++ b/overrides/scripts/Nuclearcraft.zs @@ -614,14 +614,6 @@ makeShaped("of_nc_cobblestone_generator_mirrored", B : , C : }); -recipes.remove(); -makeShaped("of_nc_water_source", , - ["AAA", - "B B", - "AAA"], - { A : , - B : }); - //Uranium RTG recipes.remove(); makeShaped("of_nc_rtg_uranium", , diff --git a/overrides/scripts/ThermalExpansion.zs b/overrides/scripts/ThermalExpansion.zs index d1f4fd5..63a9b25 100644 --- a/overrides/scripts/ThermalExpansion.zs +++ b/overrides/scripts/ThermalExpansion.zs @@ -116,13 +116,6 @@ recipes.addShaped(, [ [, , ], [, , ]]); -//Numismatic Dynamo -recipes.remove(); -recipes.addShaped(, [ - [null, , null], - [, , ], - [, , ]]); - //hardened upgrade recipes.remove(); recipes.addShaped(, [ diff --git a/overrides/scripts/_oreDict.zs b/overrides/scripts/_oreDict.zs index 7c1546d..a77a8ec 100644 --- a/overrides/scripts/_oreDict.zs +++ b/overrides/scripts/_oreDict.zs @@ -1857,18 +1857,6 @@ mods.jei.JEI.removeAndHide(); //Gregtech Removals -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); -mods.jei.JEI.removeAndHide(); //mods.jei.JEI.removeAndHide(); //mods.jei.JEI.removeAndHide(); //mods.jei.JEI.removeAndHide(); diff --git a/overrides/scripts/coins.zs b/overrides/scripts/coins.zs index 87306ad..67abdf3 100644 --- a/overrides/scripts/coins.zs +++ b/overrides/scripts/coins.zs @@ -1,3 +1,5 @@ +#packmode normal + import mods.gregtech.recipe.RecipeMap; import mods.gregtech.material.MaterialRegistry; import crafttweaker.item.IItemStack; diff --git a/overrides/scripts/dml.zs b/overrides/scripts/dml.zs index b8a46b4..aee7f0f 100644 --- a/overrides/scripts/dml.zs +++ b/overrides/scripts/dml.zs @@ -1,3 +1,5 @@ +#packmode normal + import crafttweaker.item.IItemStack; import crafttweaker.item.IIngredient; import crafttweaker.oredict.IOreDictEntry; diff --git a/overrides/scripts/electronics.zs b/overrides/scripts/electronics.zs index 2b20402..b94e919 100644 --- a/overrides/scripts/electronics.zs +++ b/overrides/scripts/electronics.zs @@ -14,9 +14,6 @@ import scripts.common.makeShaped as makeShaped; .displayName = "Double-Layer RF Capacitor"; .displayName = "Octadic RF Capacitor"; -//Rubber by hand -recipes.addShaped(,[[],[],[]]); - //Resonant Clathrate furnace.remove(); furnace.addRecipe(, , 0.0); @@ -104,12 +101,6 @@ assembler.recipeBuilder().inputs([* 2, .displayName = "Draconic Superconductor Energy Conduit"; assembler.recipeBuilder().inputs([* 2, , * 6]).outputs([ * 4]).duration(80).EUt(16).buildAndRegister(); -//Item conduit - by hand -recipes.addShaped( * 4, [ - [, , ], - [,,], - [, , ]]); - //redstone conduit - by hand recipes.addShaped( * 4, [ [, , ], @@ -122,30 +113,12 @@ recipes.addShaped( * 4, [ [,,], [, , ]]); -//ender fluid conduit - by hand -recipes.addShaped( * 4, [ - [, , ], - [,,], - [, , ]]); - //redstone conduit - assembler assembler.recipeBuilder() .inputs([ * 3, * 6]) .outputs([ * 8]) .duration(80).EUt(16).buildAndRegister(); -//item conduit - assembler -assembler.recipeBuilder() - .inputs([ * 3, * 6]) - .outputs([ * 8]) - .duration(80).EUt(16).buildAndRegister(); - -//ender fluid conduit - assembler -assembler.recipeBuilder() - .inputs([ * 2, , * 6]) - .outputs([ * 8]) - .duration(80).EUt(16).buildAndRegister(); - mods.jei.JEI.removeAndHide(); mods.jei.JEI.removeAndHide(); mods.jei.JEI.removeAndHide(); @@ -178,25 +151,6 @@ makeShaped("of_microverse_casing", * 2, // [, , ], // [, , ]]); -// remove LV Motor recipes -recipes.removeByRecipeName("gregtech:electric_motor_lv_steel"); -recipes.removeByRecipeName("gregtech:electric_motor_lv_iron"); -assembler.findRecipe(30, [ * 2, * 2, , * 4], [null]).remove(); -.findRecipe(30, [ * 2, * 2, , * 4], null).remove(); - - -//LV Motor - with Fine Copper Wires -recipes.addShaped(, [ - [, , ], - [, , ], - [, , ]]); -assembler.recipeBuilder() - .inputs([ * 2, * 2, , * 4]) - .outputs() - .duration(100) - .EUt(30) - .buildAndRegister(); - //Wood Pulp recipes.addShapeless( * 4,[,]); @@ -276,11 +230,6 @@ chemical_reactor.recipeBuilder().inputs().fluidInputs([, , ] //]); -recipes.addShaped(, [ - [null, null, null], - [, , ], - [, , ] -]); recipes.removeByRecipeName("gregtech:coated_board"); recipes.removeByRecipeName("gregtech:coated_board_1x"); @@ -290,10 +239,6 @@ recipes.addShaped( * 3, [ [, , ] ]); -// t1 board easier -recipes.removeByRecipeName("gregtech:basic_circuit_board"); -recipes.addShaped("basic_circuit_board", , [[, , ], [, , ], [, , ]]); - // workstation use vibrant // Workstation * 1 .findRecipe(120, [, * 2, * 4, * 4, * 16, * 16], [ * 144]).remove(); diff --git a/overrides/scripts/expertmode.zs b/overrides/scripts/expertmode.zs new file mode 100644 index 0000000..4718cf2 --- /dev/null +++ b/overrides/scripts/expertmode.zs @@ -0,0 +1,816 @@ +#packmode expert +#priority -1 + +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.makeExtremeRecipe7 as makeExtremeRecipe7; +import scripts.common.makeExtremeRecipe9 as makeExtremeRecipe9; +import scripts.common.makeShaped as makeShaped; +import scripts.common.makeShapeless3 as makeShapeless3; + + +// Nether Cake +recipes.addShaped(, [[,,], [, , ],[,,]]); + +// Remove Terracotta maceration +// Clay Dust * 4 +.findRecipe(2, [], null).remove(); +// Clay Dust * 4 +.findRecipe(2, [], null).remove(); + + +//Fluid Conduit +mods.jei.JEI.removeAndHide(); +recipes.remove(); +recipes.addShaped( * 4, [ + [, , ], + [,,], + [, , ]]); +assembler.recipeBuilder().inputs([ * 3, * 4, * 2]).outputs([ * 8]).duration(80).EUt(16).buildAndRegister(); + +// Hard Firebricks +recipes.removeByRecipeName("gregtech:casing_primitive_bricks"); +recipes.addShaped(, [ + [, , ], + [, .withTag({FluidName: "concrete", Amount: 1000}), ], + [, , ] +]); + +recipes.addShaped(.withTag({FluidName: "concrete", Amount: 1000}), [ + [, , ], + [, , ], + [null, , null] +]); + +// Ender Tank (Ender Storage) +recipes.remove(); + + +// Pulsating Mesh +alloy.recipeBuilder() + .inputs([, ]) + .outputs([]) + .duration(180).EUt(16).buildAndRegister(); + +// Endervoir +recipes.removeByRecipeName("enderio:reservoir"); +assembler.recipeBuilder() + .inputs([ * 18, * 3, ]) + .outputs( * 3) + .duration(100) + .EUt(30) + .buildAndRegister(); + +// Farming Station +recipes.removeByRecipeName("enderio:farming_station"); +makeShaped("farming_station", , + ["VCV", + "SHS", + "GPG"], + { V : , + P : , + S : , + G : , + H : , + C : }); + +///////////// Tier Four and Half Space Ship ////////////////// +makeExtremeRecipe7(, + [" LGL ", + "I PWP I", + "APPCPPA", + " PPBPP ", + "PWFWFWP", + "PDPBPDP", + " TTT "], + { C : , + B : , + D : , + F : , + G : , + L : , + P : , + T : , + W : , + A : , + I : } +); + +// Exchanging Gadget +recipes.removeByRecipeName("buildinggadgets:exchangingtool"); +makeShaped("exchangertool", .withTag({blockstate: {Name: "minecraft:air"}}), + ["IRI", + "DFD", + "ILI"], + { D : , + L : , + F : , // IV Field Emitter + R : , + I : }); + + +recipes.remove(); +makeShaped("of_nc_water_source", , + ["AAA", + "B B", + "AAA"], + { A : , + B : }); + +// Solidified Experience +solidifier.recipeBuilder() + .fluidInputs([ * 160]) + .notConsumable() + .outputs() + .duration(500).EUt(16).buildAndRegister(); + +fluid_extractor.recipeBuilder() + .inputs() + .fluidOutputs( * 160) + .duration(80).EUt(32).buildAndRegister(); + +// XP Juice +mixer.recipeBuilder() + .inputs() + .fluidOutputs( * 2240) // 8L + .fluidInputs( * 250) + .duration(100).EUt(480).buildAndRegister(); + +mixer.recipeBuilder() + .inputs() + .fluidOutputs( * 4480) // 16L + .fluidInputs( * 250) + .duration(100).EUt(480).buildAndRegister(); + +mixer.recipeBuilder() + .inputs() + .fluidOutputs( * 6720) // 24L + .fluidInputs( * 250) + .duration(100).EUt(480).buildAndRegister(); + +mixer.recipeBuilder() + .inputs() + .fluidOutputs( * 8960) // 32L + .fluidInputs( * 250) + .duration(100).EUt(480).buildAndRegister(); + +mixer.recipeBuilder() + .inputs() + .fluidOutputs( * 11200) // 40L + .fluidInputs( * 250) + .duration(100).EUt(480).buildAndRegister(); + +// Quantum Flux +mixer.recipeBuilder() + .inputs() + .outputs( * 8) + .fluidInputs( * 250) + .duration(100).EUt(480).buildAndRegister(); + +// Network Visualization Tool +recipes.removeByRecipeName("ae2stuff:recipe5"); +makeShaped("ae2stuff_nvt", , [ + "S S", + "EPE", + "FFF", + ], { + S: , + E: , // Eng Processor + P: , + F: + }); + +// Conduit Binder Composite +mixer.recipeBuilder() + .inputs([ * 4, * 4]) + .fluidInputs( * 50) + .outputs([.firstItem * 16]) + .duration(80).EUt(30).buildAndRegister(); + +// Remove clay hand mortaring +recipes.removeByRecipeName("gregtech:clay_block_to_dust"); +recipes.removeByRecipeName("gregtech:clay_ball_to_dust"); + + +//Item conduit - by hand +recipes.addShaped( * 4, [ + [, , ], + [,,], + [, , ]]); + +//ender fluid conduit - by hand +recipes.addShaped( * 4, [ + [, , ], + [,,], + [, , ]]); + + +//item conduit - assembler +assembler.recipeBuilder() + .inputs([ * 3, * 4, * 2]) + .outputs([ * 8]) + .duration(80).EUt(16).buildAndRegister(); + +//ender fluid conduit - assembler +assembler.recipeBuilder() + .inputs([ * 2, , * 4, * 2]) + .outputs([ * 8]) + .duration(80).EUt(16).buildAndRegister(); + +// Elemental Reduction with H2SbF7 +reactor.recipeBuilder() + .inputs( * 4) + .fluidInputs([ * 1000]) + .fluidOutputs( * 12000) + .duration(540).EUt(360).buildAndRegister(); + + +////////////////////////// Creative Vending Upgrade /////////////////////// +val creativecell = .withTag({Recv: 250000, RSControl: 0 as byte, Facing: 3 as byte, Energy: 500000000, Creative: 1 as byte, SideCache: [2, 2, 2, 2, 2, 2] as byte[] as byte[], Level: 4 as byte, Send: 250000}, false); +val creativetank = .withTag({RSControl: 0 as byte, Creative: 1 as byte, Level: 4 as byte}, false); +val creativejetpack = .withTag({JetpackParticleType: 3}, false); + +makeExtremeRecipe9( * 2, + ["ABBBBBBBA", + "BCBEDEBCB", + "BBSGHGSBB", + "BUJXIXJUB", + "BNSWKWSNB", + "BUJXLXJUB", + "BBSGMGSBB", + "BCBEDEBCB", + "ABBBBBBBA"], + { A : , + B : , + C : , + D : creativecell.only(isCreative), + E : , + G : , + H : , + I : , + J : creativejetpack, + K : , + L : , + M : , + N : , + S : , + U : , + W : .withTag({Water: 0, Mode: 4}, false), + X : .withTag({Energy: 250000000}, false) + }); + +// 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() + .buildAndRegister(); + +actualization_chamber.hasMufflerMechanics = false; +actualization_chamber.hasMaintenanceMechanics = false; + +makeExtremeRecipe5(, + ["PPPPP", + "PEFSP", + "PWGWP", + "PSFEP", + "PPPPP"], + { G : , + W : , + P : , + E : , + S : , + F : }); + +// 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) + .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, + * 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 + * 16, + * 64, + * 64, + * 64, + * 64) + .buildAndRegister(); + +// t5 nq pt ke +actualization_chamber.recipeMap + .recipeBuilder() + .duration(780) + .EUt(30720) + .inputs() + .circuit(2) + .outputs( * 64, + * 64, + * 24, + * 48) + .buildAndRegister(); + + +// t6 u/pgs +actualization_chamber.recipeMap + .recipeBuilder() + .duration(780) + .EUt(30720) + .inputs() + .circuit(1) + .outputs( * 64, + * 64, + * 64, + * 64, + * 64, + * 64, + * 64, + * 64, + * 64, + * 64, + * 64, + * 64) + .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(); + +// Harder Glass +recipes.addShaped(, [ + [, ] +]); + +macerator.recipeBuilder() + .inputs() + .outputs() + .duration(30).EUt(2) + .buildAndRegister(); + +recipes.addShapeless(, [, ]); + +furnace.remove(); +recipes.remove(); + +// Harder Redstone +recipes.remove(); +recipes.addShaped(, [ + [, , ], + [, , ], + [, , ] +]); + + +recipes.remove(); +// Piston * 4 +.findRecipe(16, [, * 3, * 4, ], null).remove(); +// Piston * 2 +.findRecipe(16, [, * 3, * 4, ], null).remove(); +// Piston * 8 +.findRecipe(16, [, * 3, * 4, ], null).remove(); +// Piston * 1 +.findRecipe(16, [, * 3, * 4, ], null).remove(); +// Piston * 1 +.findRecipe(16, [, * 3, * 4, ], null).remove(); + +recipes.addShaped(, [ + [,,], + [, , ], + [, , ] +]); +assembler.recipeBuilder() + .inputs(, , , ) + .fluidInputs( * 144) + .outputs() + .duration(240).EUt(7).buildAndRegister(); + +assembler.recipeBuilder() + .inputs(, , * 2, * 2) + .fluidInputs( * 288) + .outputs( * 2) + .duration(240).EUt(7).buildAndRegister(); + +assembler.recipeBuilder() + .inputs(, , * 4, * 4) + .fluidInputs( * 432) + .outputs( * 4) + .duration(240).EUt(7).buildAndRegister(); + +assembler.recipeBuilder() + .inputs(, , * 8, * 8) + .fluidInputs( * 576) + .outputs( * 8) + .duration(240).EUt(7).buildAndRegister(); + +assembler.recipeBuilder() + .inputs(, , * 16, * 16) + .fluidInputs( * 1152) + .outputs( * 16) + .duration(240).EUt(7).buildAndRegister(); + +recipes.remove(); +recipes.addShaped(, [ + [, , ], + [ , , ], + [, , ] +]); + +recipes.addShaped(, [ + [, , ], + [ , , ], + [, , ] +]); + +recipes.addShaped(, [ + [, , ], + [ , , ], + [, , ] +]); + +// Charcoal +furnace.remove(); + +// Hard EBF +recipes.removeByRecipeName("gregtech:electric_blast_furnace"); +recipes.addShaped(, [ + [,,], + [, , ], + [, ,] +]); + +//Numismatic Dynamo +recipes.remove(); +recipes.addShaped(, [ + [null, , null], + [, , ], + [, , ]]); + + +// Removals +mods.jei.JEI.removeAndHide(); +recipes.removeByMod("deepmoblearning"); diff --git a/overrides/scripts/extendedcrafting.zs b/overrides/scripts/extendedcrafting.zs index b76f32f..d859eeb 100644 --- a/overrides/scripts/extendedcrafting.zs +++ b/overrides/scripts/extendedcrafting.zs @@ -6,6 +6,10 @@ import scripts.common.makeExtremeRecipe5 as makeExtremeRecipe5; import scripts.common.makeExtremeRecipe7 as makeExtremeRecipe7; import scripts.common.makeExtremeRecipe9 as makeExtremeRecipe9; +val creativecell = .withTag({Recv: 250000, RSControl: 0 as byte, Facing: 3 as byte, Energy: 500000000, Creative: 1 as byte, SideCache: [2, 2, 2, 2, 2, 2] as byte[] as byte[], Level: 4 as byte, Send: 250000}, false); +val creativetank = .withTag({RSControl: 0 as byte, Creative: 1 as byte, Level: 4 as byte}, false); +val creativejetpack = .withTag({JetpackParticleType: 3}, false); + //Noble Gasses //centrifuge.findRecipe(30, [], [ * 53000]).remove(); //centrifuge.findRecipe(30, [], [ * 43000]).remove(); @@ -555,43 +559,6 @@ mods.extendedcrafting.TableCrafting.addShapeless(, .addTooltip(format.yellow("Recipe is shapeless.")); -////////////////////////// Creative Vending Upgrade /////////////////////// -val creativecell = .withTag({Recv: 250000, RSControl: 0 as byte, Facing: 3 as byte, Energy: 500000000, Creative: 1 as byte, SideCache: [2, 2, 2, 2, 2, 2] as byte[] as byte[], Level: 4 as byte, Send: 250000}, false); -val creativetank = .withTag({RSControl: 0 as byte, Creative: 1 as byte, Level: 4 as byte}, false); -val creativejetpack = .withTag({JetpackParticleType: 3}, false); - -makeExtremeRecipe9( * 2, - ["ABBBBBBBA", - "BCTEDETCB", - "BFSGHGSFB", - "BUJXIXJUB", - "BNSWKWSNB", - "BUJXLXJUB", - "BFSGMGSFB", - "BCTEDETCB", - "ABBBBBBBA"], - { A : , - B : , - C : , - D : creativecell.only(isCreative), - E : , - F : , - G : , - H : , - I : , - J : creativejetpack, - K : , - L : , - M : , - N : , - S : , - T : , - U : , - W : .withTag({Water: 0, Mode: 4}, false), - X : .withTag({Energy: 250000000}, false) - }); - - ////////////////////////// Creative Items /////////////////////// @@ -728,22 +695,7 @@ makeExtremeRecipe9(, H : , I : }); -makeExtremeRecipe9(, - ["BBBCDCBBB", - "BBCDEDCBB", - "BCDEFEDCB", - "CDEFFFEDC", - "DEFFAFFED", - "CDEFFFEDC", - "BCDEFEDCB", - "BBCDEDCBB", - "BBBCDCBBB"], - { A : , - B : , - C : , - D : , - E : , - F : }); + makeExtremeRecipe9(, diff --git a/overrides/scripts/extractor_solidifier.zs b/overrides/scripts/extractor_solidifier.zs index bca5637..5b5e711 100644 --- a/overrides/scripts/extractor_solidifier.zs +++ b/overrides/scripts/extractor_solidifier.zs @@ -61,21 +61,6 @@ fluid_extractor.recipeBuilder() .fluidOutputs([ * 48]) .duration(40).EUt(8).buildAndRegister(); -fluid_extractor.recipeBuilder() - .inputs([]) - .fluidOutputs([ * 200]) - .duration(40).EUt(32).buildAndRegister(); - -fluid_extractor.recipeBuilder() - .inputs([]) - .fluidOutputs([ * 400]) - .duration(80).EUt(32).buildAndRegister(); - -fluid_extractor.recipeBuilder() - .inputs([]) - .fluidOutputs([ * 500]) - .duration(100).EUt(32).buildAndRegister(); - fluid_extractor.recipeBuilder() .inputs([]) .fluidOutputs([ * 10]) diff --git a/overrides/scripts/materials.zs b/overrides/scripts/materials.zs index 0d5f398..9c9434d 100644 --- a/overrides/scripts/materials.zs +++ b/overrides/scripts/materials.zs @@ -1,5 +1,5 @@ #loader gregtech -#priority 10000 +#packmode normal import mods.gregtech.material.MaterialBuilder; import mods.gregtech.material.MaterialRegistry; diff --git a/overrides/scripts/multiblocks_expert.zs b/overrides/scripts/multiblocks_expert.zs new file mode 100644 index 0000000..7d5cd36 --- /dev/null +++ b/overrides/scripts/multiblocks_expert.zs @@ -0,0 +1,1013 @@ +#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; + +// 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.getAir()) + .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; + +// 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.getAir()) + .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; + + +// 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", + "GOG", + "GOG", + "GOG", + "CCC" + ) + .aisle( + "CSC", + "PGP", + "PGP", + "PGP", + "CCC" + ) + .where('S', controller.self()) + .where('G', ) + .where('P', ) + .where('O', ) + .where('C', CTPredicate.states() + | 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.runOverclockingLogic = function(recipelogic as IRecipeLogic, recipe as IRecipe, negativeEU as bool, maxOverclocks as int) as int[] { + return [recipe.getEUt(), recipe.getDuration()]; +} as IRunOverclockingLogicFunction; + +// 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", + "GOG", + "GOG", + "GOG", + "GOG", + "CCC" + ) + .aisle( + "CSC", + "PGP", + "PGP", + "PGP", + "PGP", + "CCC" + ) + .where('S', controller.self()) + .where('G', ) + .where('P', ) + .where('O', ) + .where('C', CTPredicate.states() + | 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.runOverclockingLogic = function(recipelogic as IRecipeLogic, recipe as IRecipe, negativeEU as bool, maxOverclocks as int) as int[] { + return [recipe.getEUt(), recipe.getDuration()]; +} as IRunOverclockingLogicFunction; + + +// 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 + +// 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) + .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, + * 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( * 64, + * 64, + * 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) + .buildAndRegister(); + + +// t5 naquadah sheldonite trinium +microverse_projector_advanced.recipeMap + .recipeBuilder() + .duration(1000) + .EUt(7500) + .inputs(, + * 16, + * 32) + .outputs( * 64, + * 64, + * 24, + * 48) + + .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, + * 64, + * 64, + * 64, + * 64, + * 64, + * 64) + .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(); + + +// Naquadah Reactor Mk1 Recipes +naquadah_reactor_1.recipeMap + .recipeBuilder() + .duration(938) + .EUt(-262144) + .inputs() + .outputs() + .buildAndRegister(); + +naquadah_reactor_1.recipeMap + .recipeBuilder() + .duration(3750) + .EUt(-262144) + .inputs() + .outputs() + .buildAndRegister(); + +// Naquadah Reactor Mk2 Recipes +naquadah_reactor_2.recipeMap + .recipeBuilder() + .duration(1875) + .EUt(-1048576) + .inputs() + .outputs() + .buildAndRegister(); + +naquadah_reactor_2.recipeMap + .recipeBuilder() + .duration(7500) + .EUt(-1048576) + .inputs() + .outputs() + .buildAndRegister(); diff --git a/overrides/scripts/multiblocks_normal.zs b/overrides/scripts/multiblocks_normal.zs new file mode 100644 index 0000000..7c83501 --- /dev/null +++ b/overrides/scripts/multiblocks_normal.zs @@ -0,0 +1,783 @@ +#packmode normal + +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.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; + +// 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.getAir()) + .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; + +// 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.getAir()) + .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; + + +// 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", + "GOG", + "GOG", + "GOG", + "CCC" + ) + .aisle( + "CSC", + "PGP", + "PGP", + "PGP", + "CCC" + ) + .where('S', controller.self()) + .where('G', ) + .where('P', ) + .where('O', ) + .where('C', CTPredicate.states() + | 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.runOverclockingLogic = function(recipelogic as IRecipeLogic, recipe as IRecipe, negativeEU as bool, maxOverclocks as int) as int[] { + return [recipe.getEUt(), recipe.getDuration()]; +} as IRunOverclockingLogicFunction; + +// 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", + "GOG", + "GOG", + "GOG", + "GOG", + "CCC" + ) + .aisle( + "CSC", + "PGP", + "PGP", + "PGP", + "PGP", + "CCC" + ) + .where('S', controller.self()) + .where('G', ) + .where('P', ) + .where('O', ) + .where('C', CTPredicate.states() + | 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.runOverclockingLogic = function(recipelogic as IRecipeLogic, recipe as IRecipe, negativeEU as bool, maxOverclocks as int) as int[] { + return [recipe.getEUt(), recipe.getDuration()]; +} as IRunOverclockingLogicFunction; + + +// 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 + +// 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(); + + +// 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(); + +// 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) + .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 osmium iridium +microverse_projector_advanced.recipeMap + .recipeBuilder() + .duration(800) + .EUt(3750) + .inputs(, + * 8, + * 4, + * 64) + .outputs( * 64, + * 64, + * 16) + .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 + * 16, + * 64, + * 64, + * 64, + * 64) + .buildAndRegister(); + +// t5 naquadah sheldonite trinium +microverse_projector_advanced.recipeMap + .recipeBuilder() + .duration(1000) + .EUt(7500) + .inputs(, + * 16, + * 32) + .outputs( * 64, + * 64, + * 48, + * 64, + * 64, + * 64) + + .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, + * 64, + * 64, + * 64) + .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(); + +// 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(); + +// 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, + .firstItem * 16, + ) + .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(); + +// 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(); + + + + +// Naquadah Reactor Mk1 Recipes +naquadah_reactor_1.recipeMap + .recipeBuilder() + .duration(938) + .EUt(-262144) + .inputs() + .outputs() + .buildAndRegister(); + +naquadah_reactor_1.recipeMap + .recipeBuilder() + .duration(3750) + .EUt(-262144) + .inputs() + .outputs() + .buildAndRegister(); + +// Naquadah Reactor Mk2 Recipes +naquadah_reactor_2.recipeMap + .recipeBuilder() + .duration(1875) + .EUt(-1048576) + .inputs() + .outputs() + .buildAndRegister(); + +naquadah_reactor_2.recipeMap + .recipeBuilder() + .duration(7500) + .EUt(-1048576) + .inputs() + .outputs() + .buildAndRegister(); diff --git a/overrides/scripts/normalmode.zs b/overrides/scripts/normalmode.zs new file mode 100644 index 0000000..98e780f --- /dev/null +++ b/overrides/scripts/normalmode.zs @@ -0,0 +1,511 @@ +#packmode normal +#priority -1 + +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.makeShaped as makeShaped; +import scripts.common.makeExtremeRecipe5 as makeExtremeRecipe5; +import scripts.common.makeExtremeRecipe7 as makeExtremeRecipe7; +import scripts.common.makeExtremeRecipe9 as makeExtremeRecipe9; +import scripts.common.makeShapeless3 as makeShapeless3; + +//Nether Cake +recipes.addShaped(, [[,,], [, , ],[,,]]); + +//Steel [tier 0] + +// Steel Ingot * 1 +.findRecipe(120, [], [ * 1000]).remove(); +// Steel Ingot * 1 +.findRecipe(120, [], [ * 200]).remove(); + +// Steel +alloy_smelter.recipeBuilder().inputs([, ]).outputs([]).duration(150).EUt(16).buildAndRegister(); +alloy_smelter.recipeBuilder().inputs([, ]).outputs([]).duration(150).EUt(16).buildAndRegister(); +alloy_smelter.recipeBuilder().inputs([, ]).outputs([]).duration(150).EUt(16).buildAndRegister(); + +//Wrought Iron +furnace.remove(); +furnace.addRecipe(, , 0.0); + +//Red Alloy Dust +recipes.addShapeless(, [, , , , ]); + +recipes.addShapeless(, [,]); + +//Clay Electrolyzing +electrolyzer.findRecipe(60, [ * 13], [null]).remove(); +electrolyzer.recipeBuilder().inputs([ * 13]).outputs([ * 2, * 2, , * 2]).fluidOutputs([*6000]).duration(364).EUt(15).buildAndRegister(); + +// Ender Tank (Ender Storage) +recipes.remove(); +recipes.addShaped(, [ + [, , ], + [, basictank, ], + [, , ]]); //Ender Pearl Block +recipes.addShapeless(, []); + + +//LV Macerator +recipes.remove(); +recipes.addShaped(, [ + [, , ], + [, , ], + [, , ]]); + +//MV Macerator +recipes.remove(); +recipes.addShaped(, [ + [, , ], + [, , ], + [, , ]]); + +//LV Piston +recipes.addShaped(, [ + [,,], + [, ,], + [, , ]]); + + +//Fluid Conduit +mods.jei.JEI.removeAndHide(); +recipes.remove(); +recipes.addShaped( * 4, [ + [, , ], + [,,], + [, , ]]); +assembler.recipeBuilder().inputs([ * 3, * 6]).outputs([ * 8]).duration(80).EUt(16).buildAndRegister(); + +chemical_reactor.recipeBuilder().inputs([]).fluidInputs([ * 1000]).outputs().EUt(15).duration(20).buildAndRegister(); + + +recipes.remove(); +recipes.remove(); +recipes.remove(); + + +recipes.addShaped(, [[, , ], + [, , ], + [, , ]]); + +recipes.addShaped(, [ + [, , ], + [, , ], + [, , ]]); + +recipes.addShaped(, [ + [, , ], + [, , ], + [, , ]]); + + + +recipes.addShapeless(, [,]); + +// steam multis +recipes.removeByRecipeName("gregtech:steam_oven"); +recipes.addShaped(, [ + [, , ], + [, , ], + [, , ] +]); + +recipes.removeByRecipeName("gregtech:steam_grinder"); +recipes.addShaped(, [ + [, , ], + [, , ], + [, , ] +]); + +// PBF nomified +furnace.remove(); +furnace.addRecipe(, , 0.5); +recipes.removeByRecipeName("gregtech:fireclay_dust"); +recipes.addShapeless("fireclay_dust", * 16, [, ]); +// Compressed Fireclay * 1 +.findRecipe(4, [], null).remove(); +// Clay Dust * 1 +.findRecipe(30, [ * 2], null).remove(); + + +// PBF recipe removals +// Steel Ingot * 1 +.findRecipe(1, [, ], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, ], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, * 2], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, * 2], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, * 2], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, * 2], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, ], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, ], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, * 2], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, * 2], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, * 2], null).remove(); +// Steel Ingot * 1 +.findRecipe(1, [, * 2], null).remove(); +// Block of Steel * 1 +.findRecipe(1, [, ], null).remove(); +// Block of Steel * 1 +.findRecipe(1, [, * 2], null).remove(); +// Block of Steel * 1 +.findRecipe(1, [, * 2], null).remove(); +// Block of Steel * 1 +.findRecipe(1, [, ], null).remove(); +// Block of Steel * 1 +.findRecipe(1, [, * 2], null).remove(); +// Block of Steel * 1 +.findRecipe(1, [, * 2], null).remove(); + +// PBF recipes + +primitive_blast_furnace.recipeBuilder() + .inputs([, ]) + .outputs([, * 2]) + .duration(400) + .EUt(1) + .buildAndRegister(); +primitive_blast_furnace.recipeBuilder() + .inputs([, ]) + .outputs([, * 2]) + .duration(400) + .EUt(1) + .buildAndRegister(); +primitive_blast_furnace.recipeBuilder() + .inputs([, ]) + .outputs([, * 2]) + .duration(400) + .EUt(1) + .buildAndRegister(); +primitive_blast_furnace.recipeBuilder() + .inputs([, ]) + .outputs([, * 2]) + .duration(400) + .EUt(1) + .buildAndRegister(); + +// Creative Tank Data +extractor.recipeBuilder() + .inputs() + .outputs() + .duration(1000) + .EUt(180000) + .buildAndRegister(); + + +// Impossible Realm Data Recipes +makeShaped("of_impossiblerealmdata_x1", , + ["OEO", + "EOE", + "OEO"], + { E : , + O : }); + +makeShaped("of_impossiblerealmdata_x2", * 2, + ["HEH", + "EHE", + "HEH"], + { E : , + H : }); + +makeShaped("of_impossiblerealmdata_x4", * 4, + ["XEX", + "EXE", + "XEX"], + { E : , + X : }); + +// Dragon Lair Data +makeShapeless3("of_dragonlairdata", , + ["IHH", + "HHH", + "HHH"], + { I : , + H : } +); + +// Wither Realm Data +makeShapeless3("of_witherrealmdata", , + ["IXX", + "XXX", + "XXX"], + { I : , + X : } +); + +// Quantum Flux Recipes +makeShaped("of_quantumflux_a", , + [" X ", + "XMX", + " X "], + { M : , + X : } +); + +// Extraterrestrial Matter +recipes.remove(); +makeShaped("of_dml_living_matter_extraterrestrial", + , + [" H ", + "HEH", + " H "], + { H : , + E : } +); + +// Deep Learner + +recipes.removeByRecipeName("deepmoblearning:recipe1_deep_learner"); +recipes.addShaped(, [[null,null,null],[,,],[null,null,null]]); + +recipes.remove(); +makeShaped("of_nc_water_source", , + ["AAA", + "B B", + "AAA"], + { A : , + B : }); + + +//Rubber by hand +recipes.addShaped(,[[],[],[]]); + + +//Item conduit - by hand +recipes.addShaped( * 4, [ + [, , ], + [,,], + [, , ]]); + + +//ender fluid conduit - by hand +recipes.addShaped( * 4, [ + [, , ], + [,,], + [, , ]]); + + +//item conduit - assembler +assembler.recipeBuilder() + .inputs([ * 3, * 6]) + .outputs([ * 8]) + .duration(80).EUt(16).buildAndRegister(); + +//ender fluid conduit - assembler +assembler.recipeBuilder() + .inputs([ * 2, , * 6]) + .outputs([ * 8]) + .duration(80).EUt(16).buildAndRegister(); + +// remove LV Motor recipes +recipes.removeByRecipeName("gregtech:electric_motor_lv_steel"); +recipes.removeByRecipeName("gregtech:electric_motor_lv_iron"); +assembler.findRecipe(30, [ * 2, * 2, , * 4], [null]).remove(); +.findRecipe(30, [ * 2, * 2, , * 4], null).remove(); + + +//LV Motor - with Fine Copper Wires +recipes.addShaped(, [ + [, , ], + [, , ], + [, , ]]); +assembler.recipeBuilder() + .inputs([ * 2, * 2, , * 4]) + .outputs() + .duration(100) + .EUt(30) + .buildAndRegister(); +// Glass Tube + +recipes.addShaped(, [ + [null, null, null], + [, , ], + [, , ] +]); + +// t1 board easier +recipes.removeByRecipeName("gregtech:basic_circuit_board"); +recipes.addShaped("basic_circuit_board", , [[, , ], [, , ], [, , ]]); + + +////////////////////////// Creative Vending Upgrade /////////////////////// +val creativecell = .withTag({Recv: 250000, RSControl: 0 as byte, Facing: 3 as byte, Energy: 500000000, Creative: 1 as byte, SideCache: [2, 2, 2, 2, 2, 2] as byte[] as byte[], Level: 4 as byte, Send: 250000}, false); +val creativetank = .withTag({RSControl: 0 as byte, Creative: 1 as byte, Level: 4 as byte}, false); +val creativejetpack = .withTag({JetpackParticleType: 3}, false); + +makeExtremeRecipe9( * 2, + ["ABBBBBBBA", + "BCTEDETCB", + "BFSGHGSFB", + "BUJXIXJUB", + "BNSWKWSNB", + "BUJXLXJUB", + "BFSGMGSFB", + "BCTEDETCB", + "ABBBBBBBA"], + { A : , + B : , + C : , + D : creativecell.only(isCreative), + E : , + F : , + G : , + H : , + I : , + J : creativejetpack, + K : , + L : , + M : , + N : , + S : , + T : , + U : , + W : .withTag({Water: 0, Mode: 4}, false), + X : .withTag({Energy: 250000000}, false) + }); + +// Creative Drum +makeExtremeRecipe9(, + ["BBBCDCBBB", + "BBCDEDCBB", + "BCDEFEDCB", + "CDEFFFEDC", + "DEFFAFFED", + "CDEFFFEDC", + "BCDEFEDCB", + "BBCDEDCBB", + "BBBCDCBBB"], + { A : , + B : , + C : , + D : , + E : , + F : }); + +// Liquid XP + +fluid_extractor.recipeBuilder() + .inputs([]) + .fluidOutputs([ * 200]) + .duration(40).EUt(32).buildAndRegister(); + +fluid_extractor.recipeBuilder() + .inputs([]) + .fluidOutputs([ * 400]) + .duration(80).EUt(32).buildAndRegister(); + +fluid_extractor.recipeBuilder() + .inputs([]) + .fluidOutputs([ * 500]) + .duration(100).EUt(32).buildAndRegister(); + + +// Creative Tank Provider +val creative_tank_provider = Builder.start("mbt:creative_tank_provider") + .withPattern(function(controller as IControllerTile) as IBlockPattern { + return FactoryBlockPattern.start() + .aisle("CCC", "CCC", "CCC") + .aisle("CCC", "CFC", "CCC") + .aisle("CCC", "CSC", "CCC") + .where('S', controller.self()) + .where('F', ) // Tungstencarbide Frame Box + .where("C", CTPredicate.states() | controller.autoAbilities(true, false, true, true, false, false, false)) + .build(); + } as IPatternBuilderFunction) + .withRecipeMap( + FactoryRecipeMap.start("creative_tank_provider") + .minInputs(2) + .maxInputs(2) + .minOutputs(1) + .maxOutputs(1) + .build()) + .withBaseTexture() + .buildAndRegister(); + +creative_tank_provider.hasMufflerMechanics = false; +creative_tank_provider.hasMaintenanceMechanics = false; + +recipes.addShaped("creative_tank_provider", , [ + [, , ], + [, , ], + [, , ] +]); + +// creative tank provider +// creative tank +creative_tank_provider.recipeMap + .recipeBuilder() + .notConsumable() + .inputs() + .outputs() + .duration(500) + .EUt(100000) + .buildAndRegister(); + +//Numismatic Dynamo +recipes.remove(); +recipes.addShaped(, [ + [null, , null], + [, , ], + [, , ]]); + + +// Removals +// GT +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); + +// Stabilized Miners + +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide(); +mods.jei.JEI.removeAndHide();