/* SevTech: Ages Iron Backpacks Recipe Script This script handles the recipes for Iron Backpacks. 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.utils.ironbackpacksRecipeFunc; import scripts.crafttweaker.stages.stageZero; import scripts.crafttweaker.stages.stageOne; import scripts.crafttweaker.stages.stageTwo; import scripts.crafttweaker.stages.stageThree; import scripts.crafttweaker.stages.stageFour; import scripts.crafttweaker.stages.stageFive; /* Shaped Recipes */ static shapedRecipes as IIngredient[][][][IItemStack] = { .withTag({packInfo: {upgrade: [], type: "ironbackpacks:basic", spec: "NONE"}}) : [ [ [, , ], [, , ], [, , ] ] ] }; 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 initSpecRecipes() { // ================================== // Iron // Upgrade Spec recipes.addShaped("ct-ironbackpacks-iron-upgrade_spec", .withTag({packInfo: {upgrade: [], type: "ironbackpacks:iron", spec: "UPGRADE"}}), [ [metals.iron.plate, , metals.iron.plate], [ metals.iron.plate, .withTag({packInfo: {upgrade: [], type: "ironbackpacks:basic", spec: "NONE"}}).onlyWithTag({packInfo: {type: "ironbackpacks:basic"}}).marked("bag"), metals.iron.plate ], [metals.iron.plate, metals.iron.plate, metals.iron.plate] ], ironbackpacksRecipeFunc, null ); // Storage Spec recipes.addShaped("ct-ironbackpacks-iron-storage_spec", .withTag({packInfo: {upgrade: [], type: "ironbackpacks:iron", spec: "STORAGE"}}), [ [metals.iron.plate, , metals.iron.plate], [ metals.iron.plate, .withTag({packInfo: {upgrade: [], type: "ironbackpacks:basic", spec: "NONE"}}).onlyWithTag({packInfo: {type: "ironbackpacks:basic"}}).marked("bag"), metals.iron.plate ], [metals.iron.plate, metals.iron.plate, metals.iron.plate] ], ironbackpacksRecipeFunc, null ); // ================================== // Gold // Upgrade Spec recipes.addShaped("ct-ironbackpacks-gold-upgrade_spec", .withTag({packInfo: {upgrade: [], type: "ironbackpacks:gold", spec: "UPGRADE"}}), [ [metals.gold.plate, , metals.gold.plate], [ metals.gold.plate, .withTag({packInfo: {upgrade: [], type: "ironbackpacks:iron", spec: "UPGRADE"}}).onlyWithTag({packInfo: {type: "ironbackpacks:iron", spec: "UPGRADE"}}).marked("bag"), metals.gold.plate ], [metals.gold.plate, metals.gold.plate, metals.gold.plate] ], ironbackpacksRecipeFunc, null ); // Storage Spec recipes.addShaped("ct-ironbackpacks-gold-storage_spec", .withTag({packInfo: {upgrade: [], type: "ironbackpacks:gold", spec: "STORAGE"}}), [ [metals.gold.plate, , metals.gold.plate], [ metals.gold.plate, .withTag({packInfo: {upgrade: [], type: "ironbackpacks:iron", spec: "STORAGE"}}).onlyWithTag({packInfo: {type: "ironbackpacks:iron", spec: "STORAGE"}}).marked("bag"), metals.gold.plate ], [metals.gold.plate, metals.gold.plate, metals.gold.plate] ], ironbackpacksRecipeFunc, null ); // ================================== // Diamond // Upgrade Spec recipes.addShaped("ct-ironbackpacks-diamond-upgrade_spec", .withTag({packInfo: {upgrade: [], type: "ironbackpacks:diamond", spec: "UPGRADE"}}), [ [, , ], [ , .withTag({packInfo: {upgrade: [], type: "ironbackpacks:gold", spec: "UPGRADE"}}).onlyWithTag({packInfo: {type: "ironbackpacks:gold", spec: "UPGRADE"}}).marked("bag"), ], [, , ] ], ironbackpacksRecipeFunc, null ); // Storage Spec recipes.addShaped("ct-ironbackpacks-diamond-storage_spec", .withTag({packInfo: {upgrade: [], type: "ironbackpacks:diamond", spec: "STORAGE"}}), [ [, , ], [ , .withTag({packInfo: {upgrade: [], type: "ironbackpacks:gold", spec: "STORAGE"}}).onlyWithTag({packInfo: {type: "ironbackpacks:gold", spec: "STORAGE"}}).marked("bag"), ], [, , ] ], ironbackpacksRecipeFunc, null ); } function init() { initSpecRecipes(); // 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.removeRecipes(removeRecipes); }