import crafttweaker.game.IGame; import crafttweaker.item.IIngredient; import crafttweaker.item.IItemStack; import crafttweaker.liquid.ILiquidStack; import crafttweaker.mods.IMod; import crafttweaker.oredict.IOreDictEntry; import mods.contenttweaker.Fluid; import mods.gregtech.recipe.RecipeMap; import mods.gregtech.recipe.Recipe; import scripts.common.makeShaped as makeShaped; import scripts.common.makeShapeless3 as makeShapeless3; import scripts.common.makeCompacting3 as makeCompacting3; ////////////////////////////////////////////////////////////// ///////////////// Nuclearcraft /////////////////// ////////////////////////////////////////////////////////////// // Remove all recipes from unused NC machine categories mods.nuclearcraft.manufactory.removeAllRecipes(); mods.nuclearcraft.isotope_separator.removeAllRecipes(); mods.nuclearcraft.decay_hastener.removeAllRecipes(); mods.nuclearcraft.fuel_reprocessor.removeAllRecipes(); mods.nuclearcraft.alloy_furnace.removeAllRecipes(); mods.nuclearcraft.infuser.removeAllRecipes(); mods.nuclearcraft.melter.removeAllRecipes(); mods.nuclearcraft.supercooler.removeAllRecipes(); mods.nuclearcraft.electrolyser.removeAllRecipes(); mods.nuclearcraft.irradiator.removeAllRecipes(); mods.nuclearcraft.ingot_former.removeAllRecipes(); mods.nuclearcraft.pressurizer.removeAllRecipes(); mods.nuclearcraft.chemical_reactor.removeAllRecipes(); mods.nuclearcraft.salt_mixer.removeAllRecipes(); mods.nuclearcraft.crystallizer.removeAllRecipes(); mods.nuclearcraft.dissolver.removeAllRecipes(); mods.nuclearcraft.extractor.removeAllRecipes(); mods.nuclearcraft.centrifuge.removeAllRecipes(); mods.nuclearcraft.rock_crusher.removeAllRecipes(); mods.nuclearcraft.decay_generator.removeAllRecipes(); mods.nuclearcraft.fusion.removeAllRecipes(); mods.nuclearcraft.salt_fission.removeAllRecipes(); mods.nuclearcraft.heat_exchanger.removeAllRecipes(); //FIXME: NC lists this next one in its docs but CT doesn't like it. Disabling for now. //mods.nuclearcraft.steam_turbine.removeAllRecipes(); mods.nuclearcraft.condenser.removeAllRecipes(); // Hide NC categories related to MSR and Turbines val jeiCategories as string[] = [ "nuclearcraft_collector", "nuclearcraft_heat_exchanger", "nuclearcraft_high_turbine", "nuclearcraft_condenser", ] as string[]; for jeiCategory in jeiCategories { mods.jei.JEI.hideCategory(jeiCategory); } function purgeFluidFromJEI(fluid as string) { // gtce various metal cells val containers = [, , ] as IItemStack[]; // remove from various GT containers for container in containers { mods.jei.JEI.removeAndHide(container.withTag({Fluid: {FluidName: fluid, Amount: 1000}})); } // Different tag schemas... // mods.jei.JEI.removeAndHide(.withTag({fluids: {FluidName: fluid, Amount: 1000}})); mods.jei.JEI.removeAndHide(.withTag({FluidName: fluid, Amount: 1000})); } zenClass Removal { var item as IItemStack; var hasFurnace as bool = false; zenConstructor(item as IItemStack) { this.item = item; } zenConstructor(item as IItemStack, hasFurnace as bool) { this.item = item; this.hasFurnace = hasFurnace; } } // Nuclearcraft Item Removals val removals as Removal[] = [ Removal(), Removal(), // Magnesium Diboride Removal(), // Lithium Manganese Dioxide Removal(), // Shibuichi Alloy Removal(), // Tin Silver Alloy Removal(), // Lead Platinum Alloy Removal(), // Thermoconducting Alloy Removal(), // Zircaloy Removal(), // Silicon Carbide Removal(), // SiC SiC Ceramic Matrix Composite Removal(), // HSLA Steel Removal(), Removal(), Removal(), // all boron isotopes Removal(), Removal(), Removal(), Removal(), Removal(), // Calcium Sulfate Removal(), // Crystal Binder Removal(), // Sodium Fluoride Removal(), // Potassium Fluoride Removal(), // Potassium Hydroxide Removal(), // Borax Removal(), // Dimensional Blend Removal(), // Carbon-Manganese Blend Removal(), // Alugentum Dust Removal(), Removal(), Removal(), // Zirconium Dust Removal(), // Thorium Oxide Dust Removal(), // Uranium Oxide Dust Removal(, true), // Manganese Oxide Dust Removal(), // Manganese Dioxide Dust Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), // all NC gems Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), // Hexagonal Boron Nitride Removal(), // Crushed Fluorite Removal(), // Crushed Villiaumite Removal(), // Crushed Carobbiite Removal(),// Crushed Arsenic Removal(),// Crushed End Stone Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(, true), // Zirconium Ingot Removal(), // Zirconium Block Removal(, true), // Thorium Oxide Ingot Removal(, true), // Uranium Oxide Ingot Removal(, true), // Manganese Oxide Ingot Removal(, true), // Manganese Dioxide Ingot Removal(), Removal(), // all lithium isotopes Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), // Magnesium Diboride Solenoid Removal(), // Bioplastic Removal(), // Empty Frame Removal(), // Silicon Carbide Fiber Removal(), Removal(), Removal(), Removal(), // Light Rad Shielding Removal(), // Medium Rad Shielding Removal(), // Heavy Rad Shielding Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), Removal(), // Speed Upgrade (NC Machines) Removal(), // Energy Upgrade (NC Machines) Removal(), Removal(), Removal(), Removal(), ] as Removal[]; for removal in removals { if(removal.hasFurnace) { furnace.remove(removal.item); } mods.jei.JEI.removeAndHide(removal.item); } zenClass Material { var name as string = ""; var fissileMetas as int[] = []; var fuelMetas as int[] = []; var depletedFuelMetas as int[] = []; zenConstructor( name as string, fissileMetas as int[], fuelMetas as int[], depletedFuelMetas as int[]) { this.name = name; this.fissileMetas = fissileMetas; this.fuelMetas = fuelMetas; this.depletedFuelMetas = depletedFuelMetas; } function fissileItem(meta as int) as IItemStack { return itemUtils.getItem("nuclearcraft:" + this.name, meta); } function fuelItem(meta as int) as IItemStack { return itemUtils.getItem("nuclearcraft:fuel_" + this.name, meta); } function depletedFuelItem(meta as int) as IItemStack { return itemUtils.getItem("nuclearcraft:depleted_fuel_" + this.name, meta); } } // oxides are odd-valued metadata values beginning with 1. var fuelObjs as Material[] = [ Material("americium", [1,3,5,7,9,11], [1,3], [1,3]), Material("berkelium", [1,3,5,7], [1,3], [1,3]), Material("californium", [1,3,5,7,9,11,13,15], [1,3,5,7], [1,3,5,7]), Material("curium", [1,3,5,7,9,11,13,15], [1,3,5,7,9,11], [1,3,5,7,9,11]), Material("neptunium", [1,3,5,7], [1,3], [1,3]), Material("plutonium", [1,3,5,7,9,11,13,15], [1,3,5,7], [1,3,5,7]), Material("thorium", [1,3,5,7], [1,], [1,]), Material("uranium", [1,3,5,7,9,11], [1,3,5,7], [1,3,5,7]), Material("mixed_oxide", [], [0,1], [0,1]), Material("ic2", [], [], [0,1]), ]; for fuelObj in fuelObjs { // Clean up oxide fissiles for meta in fuelObj.fissileMetas { var oxide = fuelObj.fissileItem(meta); var regular = fuelObj.fissileItem(meta - 1); // remove de-oxidation smelting? furnace.remove(regular, oxide); // base fissiles have no crafting table recipe so just hide them mods.jei.JEI.hide(oxide); } // Clean up oxide fissile fuels for meta in fuelObj.fuelMetas { var oxide = fuelObj.fuelItem(meta); var regular = fuelObj.fuelItem(meta - 1); // Remove deoxidation smelting recipes furnace.remove(regular, oxide); // remove the oxide fuel split recipe from the TC // thermal_sep.findRecipe(48, [oxide], null).remove(); // remove the JEI entry and crafting table recipe mods.jei.JEI.removeAndHide(oxide); } // Clean up oxide depleted fuels for meta in fuelObj.depletedFuelMetas { var oxide = fuelObj.depletedFuelItem(meta); var regular = fuelObj.depletedFuelItem(meta - 1); // Remove deoxidation smelting recipes furnace.remove(regular, oxide); // hide from JEI but there's no table recipes mods.jei.JEI.hide(oxide); // remove oxide recipes from the fission reactor recipe list mods.nuclearcraft.fission.removeRecipeWithOutput([oxide]); // Remove oxide depleted fuel recipes from the centrifuge // One of the ic2 ones threw a null here. val cr as Recipe = centrifuge.findRecipe(24, [oxide], null); if(!isNull(cr)) { cr.remove(); } } } // Get rid of unused NC fluids related to the MSR // unfortunately liquids aren't registered with their parent mod so this is ugly for liquid in game.liquids { if(liquid.displayName has "Eutectic" | liquid.displayName has "Molten Depleted" | liquid.displayName has "Molten LE" | liquid.displayName has "Molten HE" | liquid.displayName has "Molten TB" | liquid.displayName has "Fluoride" | liquid.displayName has "FLiBe" | liquid.name has "_23" | liquid.name has "_24" | liquid.name has "_25" ) { purgeFluidFromJEI(liquid.name); // Hide the fluid too mods.jei.JEI.hide(liquid*1000); } } // Unused NC fluid tile things to purge from JEI val ncFluids as string[] = [ "alugentum", "alumina", "aluminum", "arsenic", "bas", "bef2", "borax_solution", "boric_acid", "boron", "boron10", "boron11", "boron_nitride_solution", "calcium_sulfate_solution", "condensate_water", "diborane", "ethene", "exhaust_steam", "ferroboron", "flibe", "fluorite_water", "fluoromethane", "hard_carbon", "high_pressure_steam", "hydrofluoric_acid", "koh", "lif", "liquidhelium", "liquid_nitrogen", "lithium", "lithium6", "lithium7", "low_pressure_steam", "low_quality_steam", "manganese_dioxide", "milk", "nak", "nak_hot", "naoh", "neutron", "oxygen_difluoride", "plasma", "potassium_fluoride_solution", "potassium_hydroxide_solution", "preheated_water", "radaway", "radaway_slow", "sic_vapor", "sodium_fluoride_solution", "sodium_hydroxide_solution", "sulfur", "tough" ] as string[]; for fluid in ncFluids { // get rid of NC's weird fluid tile things var item = itemUtils.getItem("nuclearcraft:fluid_" + fluid); if(!isNull(item)) { mods.jei.JEI.hide(item); } purgeFluidFromJEI(fluid); } val sharedFluids as string[] = [ "ammonia", "beryllium", "carbon_dioxide", "carbon_monoxide", "corium", "deuterium", "ethanol", "fluorine", "helium", "helium3", "hydrogen", "manganese", "methanol", "nitrogen", "oxygen", "potassium", "silver", "sodium", "sulfur_dioxide", "sulfuric_acid", "sulfur_trioxide", "tritium", ] as string[]; // these ones overlap other mods's fluids. Just remove the weird tile item for fluid in sharedFluids { // get rid of NC's weird fluid tile things var item = itemUtils.getItem("nuclearcraft:fluid_" + fluid); if(!isNull(item)) { mods.jei.JEI.hide(item); } } // End of mass removals. mods.jei.JEI.addItem(); // This disappeared apparently. // Now for replacements: recipes.remove(); // Recover materials from Energetic Blend as it is phased out centrifuge.recipeBuilder() .inputs() .outputs([, ]) .duration(20).EUt(7) .buildAndRegister(); // Switch to GT U-235, U-238, Pu-239, Pu-241 // Tiny Clump of Uranium-233 * 16 .findRecipe(24, [], null).remove(); centrifuge.recipeBuilder() .inputs() .outputs( * 16, * 8, * 8, * 32) .duration(1200).EUt(24).buildAndRegister(); // Uranium-238 * 8 .findRecipe(48, [], null).remove(); thermal_centrifuge.recipeBuilder() .inputs() .outputs( * 8, ) .duration(3200).EUt(48).buildAndRegister(); // Uranium-238 * 5 .findRecipe(48, [], null).remove(); thermal_centrifuge.recipeBuilder() .inputs() .outputs( * 5, * 4) .duration(3200).EUt(48).buildAndRegister(); // Tiny Clump of Uranium-238 * 20 .findRecipe(24, [], null).remove(); centrifuge.recipeBuilder() .inputs() .outputs( * 16, * 20, * 4, * 24) .duration(1200).EUt(24).buildAndRegister(); // Tiny Clump of Uranium-238 * 40 .findRecipe(24, [], null).remove(); centrifuge.recipeBuilder() .inputs() .outputs( * 8, * 40, * 8, * 8) .duration(1200).EUt(24).buildAndRegister(); // Tiny Clump of Uranium-238 * 16 .findRecipe(24, [], null).remove(); centrifuge.recipeBuilder() .inputs() .outputs( * 8, * 16, * 8, * 32) .duration(1200).EUt(24).buildAndRegister(); // Uranium-238 * 8 .findRecipe(48, [], null).remove(); thermal_centrifuge.recipeBuilder() .inputs() .outputs( * 8, ) .duration(3200).EUt(48).buildAndRegister(); // Uranium-238 * 5 .findRecipe(48, [], null).remove(); thermal_centrifuge.recipeBuilder() .inputs() .outputs( * 5, * 4) .duration(3200).EUt(48).buildAndRegister(); // Tiny Clump of Plutonium-239 * 4 .findRecipe(24, [], null).remove(); centrifuge.recipeBuilder() .inputs() .outputs( * 32, * 4, * 4, * 24) .duration(1200).EUt(24).buildAndRegister(); // Tiny Clump of Plutonium-239 * 8 .findRecipe(24, [], null).remove(); centrifuge.recipeBuilder() .inputs() .outputs( * 24, * 4, * 8, * 28) .duration(1200).EUt(24).buildAndRegister(); // Plutonium-242 * 8 .findRecipe(48, [], null).remove(); thermal_centrifuge.recipeBuilder() .inputs() .outputs( * 8, ) .duration(3200).EUt(48).buildAndRegister(); // Plutonium-242 * 5 .findRecipe(48, [], null).remove(); thermal_centrifuge.recipeBuilder() .inputs() .outputs( * 5, * 4) .duration(3200).EUt(48).buildAndRegister(); // Plutonium-242 * 8 .findRecipe(48, [], null).remove(); thermal_centrifuge.recipeBuilder() .inputs() .outputs( * 8, ) .duration(3200).EUt(48).buildAndRegister(); // Plutonium-242 * 5 .findRecipe(48, [], null).remove(); thermal_centrifuge.recipeBuilder() .inputs() .outputs( * 5, * 4) .duration(3200).EUt(48).buildAndRegister(); 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(); recipes.remove(); alloy.recipeBuilder() .outputs([]) .inputs([, ]) .duration(50).EUt(16).buildAndRegister(); alloy.recipeBuilder() .outputs([ * 2]) .inputs([, ]) .duration(300).EUt(16).buildAndRegister(); alloy.recipeBuilder() .outputs([ * 2]) .inputs([, ]) .duration(300).EUt(16).buildAndRegister(); alloy.recipeBuilder() .outputs([ * 2]) .inputs([, ]) .duration(300).EUt(16).buildAndRegister(); alloy.recipeBuilder() .outputs([ * 2]) .inputs([, ]) .duration(300).EUt(16).buildAndRegister(); // remove table recipes for coolers and replace with canning machine recipes recipes.remove(); fluid_canner.recipeBuilder() .outputs([]) .inputs([]) .fluidInputs([ * 1000]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); fluid_canner.recipeBuilder() .outputs([]) .inputs([]) .fluidInputs([ * 1000]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(9).buildAndRegister(); recipes.remove(); fluid_canner.recipeBuilder() .outputs([]) .inputs([]) .fluidInputs([ * 1000]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); recipes.remove(); canner.recipeBuilder() .outputs([]) .inputs([, * 16]) .duration(400).EUt(2).buildAndRegister(); //Uranium RTG recipes.remove(); makeShaped("of_nc_rtg_uranium", , ["ABA", "BCB", "ABA"], { A : , B : , C : }); //Uranium Block // Basic Plating recipes.remove(); makeShaped("of_nc_basic_plating", * 2, ["ABA", "BCB", "ABA"], { A : , B : , C : }); // Advanced Plating recipes.remove(); makeShaped("of_nc_advanced_plating", * 2, ["ABA", "BCB", "ABA"], { A : , B : , C : }); // DU Plating recipes.remove(); alloy.recipeBuilder() .outputs([ * 2]) .inputs([, ]) .duration(400).EUt(2000).buildAndRegister(); // Elite Plating recipes.remove(); makeShaped("of_nc_elite_plating", , ["ABA", "BCB", "ABA"], { A : , B : , C : }); // unused items recipes.remove(); recipes.remove(); recipes.remove(); makeShaped("of_nc_fission_block", * 8, ["AAA", "ABA", "AAA"], { A : , B : }); recipes.remove(); makeShaped("of_nc_fission_controller", , ["ABA", "BCB", "ABA"], { A : , B : , C : }); alloy.recipeBuilder() .outputs([ * 2]) .inputs([, * 2]) .duration(300).EUt(500).buildAndRegister(); // Extreme Alloy alloy.recipeBuilder() .outputs([]) .inputs([, ]) .duration(200).EUt(1000).buildAndRegister(); large_chemical_reactor.recipeBuilder() .outputs() .inputs([ * 6]) .fluidInputs([ * 3000]) .fluidOutputs([ * 4320]) .duration(200).EUt(2000).buildAndRegister(); large_chemical_reactor.recipeBuilder() .outputs() .inputs([ * 12]) .fluidInputs([ * 6000]) .fluidOutputs([ * 19008]) .duration(200).EUt(2000).buildAndRegister(); reactor.recipeBuilder().inputs([]) .outputs() .fluidInputs([ * 1000]) .duration(200).EUt(2000).buildAndRegister(); recipes.remove(); recipes.addShapeless("of_nc_fission_port", , [, ]); recipes.remove(); makeShaped("of_nc_coppersolenoid", , ["AAA", "ABA", "AAA"], { A : , B : }); // unused part recipes.remove(); // Uranium 235 - from dust thermal_sep.recipeBuilder() .outputs() .inputs([]) .duration(3200).EUt(48).buildAndRegister(); // Uranium 235 - from ingot thermal_sep.recipeBuilder() .outputs() .inputs([]) .duration(3200).EUt(48).buildAndRegister(); // Add tiny fuel clumps to the GTCE Packager var clumps = [ [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ], [ , ] ] as IItemStack[][]; for iso in clumps { packager.recipeBuilder() .inputs(iso[0]*9) .notConsumable(.withTag({Configuration: 1})) .outputs(iso[1]) .duration(10).EUt(12).buildAndRegister(); } // Oh yeah it's S'more time // Graham Crackers compressor.recipeBuilder() .outputs() .inputs([ * 2]) .duration(400).EUt(2).buildAndRegister(); // Gelatin from CEu Gelatin extractor.recipeBuilder() .inputs() .fluidOutputs( * 144) .duration(100) .EUt(7) .buildAndRegister(); // Hydrated gelatin mixer.recipeBuilder() .fluidOutputs( * 144) .fluidInputs([ * 144, * 500]) .duration(50).EUt(8).buildAndRegister(); // Molten sugar fluid_extractor.recipeBuilder() .fluidOutputs( * 144) .inputs() .duration(32).EUt(2).buildAndRegister(); // Marshmallow fluid mixer.recipeBuilder() .fluidOutputs( * 144) .fluidInputs( * 72, * 144) .duration(100).EUt(30).buildAndRegister(); // Cocoa nibs macerator.recipeBuilder() .outputs() .inputs() .duration(100).EUt(20).buildAndRegister(); // Cocoa butter fluid_extractor.recipeBuilder() .fluidOutputs( * 144) .outputs() .inputs([]) .duration(32).EUt(2).buildAndRegister(); // Chocolate liquor blast_furnace.recipeBuilder() .fluidOutputs( * 144) .outputs(.firstItem) .inputs([]) .property("temperature", 307) // ah yes, blast furnace temperatures .duration(100).EUt(120).buildAndRegister(); // Unsweetened chocolate mixer.recipeBuilder() .fluidOutputs( * 288) .fluidInputs([ * 144, * 144]) .duration(100).EUt(30).buildAndRegister(); // Dark (best) chocolate mixer.recipeBuilder() .fluidOutputs( * 144) .fluidInputs([ * 144, * 72]) .duration(100).EUt(30).buildAndRegister(); // Milk chocolate mixer.recipeBuilder() .fluidOutputs( * 288) .fluidInputs([ * 144, * 250]) .duration(100).EUt(30).buildAndRegister(); // Solidification and Fluid Extraction function smoreIngredient( stack as IItemStack, fluid as ILiquidStack, mold as IItemStack) { // Solidification solidifier.recipeBuilder() .outputs(stack) .notConsumable(mold) .fluidInputs(fluid * 144) .duration(100).EUt(16).buildAndRegister(); // Fluid Extraction fluid_extractor.recipeBuilder() .fluidOutputs(fluid * 144) .inputs(stack) .duration(100).EUt(16).buildAndRegister(); } var ballMold as IItemStack = ; var plateMold as IItemStack = ; var ingotMold as IItemStack = ; smoreIngredient(, , ballMold); smoreIngredient(, , plateMold); smoreIngredient(, , plateMold); smoreIngredient(, , plateMold); smoreIngredient(, , plateMold); smoreIngredient(, , ingotMold); // Advanced *S'more *S'mingots var smingots as IItemStack[] = [ , , , , ] as IItemStack[]; var i = 1; while i < smingots.length { var inSmingot = smingots[i - 1]; var outSmingot = smingots[i]; makeShaped(outSmingot.definition.id.replaceAll(":", "_"), outSmingot, ["PC", "MP"], { P: inSmingot, C: , M: }); i += 1; } recipes.removeByRecipeName("chisel:uncraft_blockuranium"); fluid_extractor.recipeBuilder() .inputs() .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); val liq as int[][ILiquidStack] = { //Fluid : duration, power * 178 : [3808, 30], * 134 : [2475, 30], * 44 : [952, 30] }; val blocks = [ //Uranium [, * 9], //Americium [, * 9], //Thorium [, * 9] ] as IItemStack[][]; for blockItem in blocks { for liquid, values in liq { cutter.recipeBuilder() .inputs(blockItem[0]) .fluidInputs(liquid) .outputs(blockItem[1]) .duration(values[0]).EUt(values[1]).buildAndRegister(); } } //NC Thorium 230 Block fluid_extractor.recipeBuilder() .inputs() .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); //Californium 252 Block fluid_extractor.recipeBuilder() .inputs() .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); //Berklium 247 Block fluid_extractor.recipeBuilder() .inputs() .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); //Curium 246 Block fluid_extractor.recipeBuilder() .inputs() .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); //Americium 243 Block fluid_extractor.recipeBuilder() .inputs() .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); //Neptunium 237 Block fluid_extractor.recipeBuilder() .inputs() .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); //Plutonium 242 Block fluid_extractor.recipeBuilder() .inputs() .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); //Plutonium 244 Block (GTCE) fluid_extractor.recipeBuilder() .inputs() //Plutonium Block .fluidOutputs( * 1296) .duration(720).EUt(32).buildAndRegister(); //Remove Duping Thorium via extra Thorium230 tiny Pile // Thorium-232 * 1 .findRecipe(48, [], null).remove(); // Thorium-232 * 1 .findRecipe(48, [], null).remove(); thermal_sep.recipeBuilder() .inputs() .outputs() .duration(1100).EUt(48).buildAndRegister(); thermal_sep.recipeBuilder() .inputs() .outputs() .duration(1100).EUt(48).buildAndRegister(); .displayName = "Prepared Thorium-232"; //Remove Duping Uranium via extra Uranium 235 tiny Pile // Uranium-238 * 1 .findRecipe(48, [], null).remove(); // Uranium-238 * 1 .findRecipe(48, [], null).remove(); // Pu dupe // Plutonium-239 * 1 .findRecipe(48, [], null).remove(); // Plutonium-239 * 1 .findRecipe(48, [], null).remove();