/* SevTech: Ages Mystical Agriculture Recipe Script This script handles the recipes for Mystical Agriculture. Note: These scripts are created and for the usage in SevTech: Ages and other modpacks curated by DarkPacks. You can use these scripts for reference and for learning but not for copying and pasting and claiming as your own. */ import crafttweaker.item.IItemStack; import crafttweaker.item.IIngredient; import mods.zenstages.Utils; import scripts.crafttweaker.stages.stageFive; /* Shaped Recipes */ static shapedRecipes as IIngredient[][][][IItemStack] = { : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, null, ] ] ], : [ [ [, ], [, ] ] ] }; /* Recipes which need to be generated and added to the Map to be ran via our recipeUtil. */ static squareRecipesToGenerate as IItemStack[IIngredient] = { : metals.aluminumBrass.ingot.firstItem * 6, : metals.aluminum.ingot.firstItem * 8, : metals.ardite.ingot.firstItem * 3, : metals.bronze.ingot.firstItem * 4, : * 12, : metals.cobalt.ingot.firstItem * 3, : metals.compressedIron.ingot.firstItem * 6, : metals.constantan.ingot.firstItem * 4, : metals.copper.ingot.firstItem * 6, : * 6, : , : metals.electrum.ingot.firstItem * 4, : metals.fiery.ingot.firstItem * 3, : metals.gold.ingot.firstItem * 4, : metals.iron.ingot.firstItem * 6, : metals.knightslime.ingot.firstItem * 4, : metals.lead.ingot.firstItem * 4, : metals.manyullyn.ingot.firstItem * 2, : metals.meteoricIron.ingot.firstItem * 3, : metals.nickel.ingot.firstItem * 4, : metals.osmium.ingot.firstItem * 4, : metals.platinum.ingot.firstItem * 2, : * 8, : metals.silver.ingot.firstItem * 4, : metals.steel.ingot.firstItem * 3, : metals.steeleaf.ingot.firstItem * 5, : metals.tin.ingot.firstItem * 4, : metals.titanium.ingot.firstItem * 2, : metals.uranium.ingot.firstItem * 2 }; static lineRecipesToGenerate as IItemStack[IIngredient] = { : * 8, : * 2 }; static namedShapedRecipes as IIngredient[][][][string][IItemStack] = {}; /* Mirrored Recipes */ static mirroredRecipes as IIngredient[][][][IItemStack] = {}; static namedMirroredRecipes as IIngredient[][][][string][IItemStack] = {}; /* Shapeless Recipes */ static shapelessRecipes as IIngredient[][][IItemStack] = {}; static namedShapelessRecipes as IIngredient[][][string][IItemStack] = {}; /* Recipe Removals */ static removeRecipes as IItemStack[] = [ , , ]; function init() { // Build the recipes to be generated from the Generated Map. var generatedShapedRecipes as IIngredient[][][][string][IItemStack] = {}; for essence, output in squareRecipesToGenerate { var recipeName = Utils.genRecipeName(stageFive, output); var essenceRecipe as IIngredient[][] = [ [essence, essence, essence], [essence, null, essence], [essence, essence, essence] ]; if (!(generatedShapedRecipes has output)) { generatedShapedRecipes[output] = {}; } generatedShapedRecipes[output][recipeName] = [essenceRecipe]; } for essence, output in lineRecipesToGenerate { var recipeName = Utils.genRecipeName(stageFive, output); var essenceRecipe as IIngredient[][] = [ [essence], [essence], [essence] ]; if (!(generatedShapedRecipes has output)) { generatedShapedRecipes[output] = {}; } generatedShapedRecipes[output][recipeName] = [essenceRecipe]; } // Un-named recipes recipeUtil.process(shapedRecipes, false); recipeUtil.process(mirroredRecipes, true); recipeUtil.process(shapelessRecipes); // Named recipes recipeUtil.processNamed(namedShapedRecipes, false); recipeUtil.processNamed(namedMirroredRecipes, true); recipeUtil.processNamed(namedShapelessRecipes); recipeUtil.processNamed(generatedShapedRecipes, false); recipeUtil.removeRecipes(removeRecipes); }