/* SevTech: Ages Better With Mods Recipe Script This script handles the recipes for Better With Mods. 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.betterwithmods.MiniBlocks; import mods.zenstages.Utils; import scripts.crafttweaker.craftingUtils; 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] = { : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "spruce"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "birch"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "jungle"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "acacia"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "dark_oak"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "spruce"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "birch"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "jungle"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "acacia"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [null, , null], [, , ], [, .withTag({texture: {Properties: {variant: "dark_oak"}, Name: "minecraft:planks"}}), ] ] ], : [ [ [, , ], [, null, ], [, , ] ] ], : [ [ [, ], [, ] ] ], : [ [ [.firstItem, ], [.firstItem, ], [.firstItem, ] ] ], : [ [ [, , ], [, metals.copper.gear, ], [, , ] ] ], : [ [ [, null, null], [, , ], [, null, null] ] ], : [ [ [metals.bronze.rod, metals.bronze.rod, null], [null, metals.bronze.rod, metals.bronze.rod], [metals.bronze.rod, metals.bronze.rod, null] ], [ [metals.copper.rod, metals.copper.rod, null], [null, metals.copper.rod, metals.copper.rod], [metals.copper.rod, metals.copper.rod, null] ], [ [metals.tin.rod, metals.tin.rod, null], [null, metals.tin.rod, metals.tin.rod], [metals.tin.rod, metals.tin.rod, null] ] ], : [ [ [, ], [, ], [, ] ] ], : [ [[null, , null], [metals.copper.gear, , metals.copper.gear], [, metals.bronze.gear, ]] ], : [ [[sidingWood, sidingWood, sidingWood], [, metals.copper.gear, ], [, , ]] ], : [ [[null, .firstItem, null], [, , ], [null, .firstItem, null]] ], : [ [ [, , ], [metals.bronze.plate, , metals.bronze.plate], [, , ] ], [ [], [], [] ] ], : [ [ [sidingWood, sidingWood, sidingWood], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, ], [, ] ] ], : [ [ [], [], [mouldingWood] ] ], : [ [ [, , ] ] ], : [ [ [null, .withTag({texture: {Properties: {variant: "stone"}, Name: "minecraft:stone"}}), null], [, , ] ] ], : [ [ [], [metals.gold.plate] ] ], : [ [ [, metals.bronze.plate, ], [, , ], [, metals.bronze.plate, ] ] ], : [ [ [null, null, ], [null, , null], [, null, null] ] ], : [ [ [, ], [, ], [, ] ] ], : [ [ [null, , null], [, , ], [null, , null] ] ], : [ [ [, , ], [, , ], [, , ] ] ] }; static namedShapedRecipes as IIngredient[][][][string][IItemStack] = { // ================================== // Stage One // ================================== : { Utils.genRecipeName(stageOne, ): [ [ [.firstItem, , .firstItem], [, , ], [.firstItem, , .firstItem] ] ] }, // ================================== // Stage Two // ================================== : { Utils.genRecipeName(stageTwo, ): [ [ [mouldingWood], [], [mouldingWood] ] ] }, : { Utils.genRecipeName(stageTwo, ): [ [ [mouldingWood, , mouldingWood], [metals.bronze.plate, , metals.bronze.plate], [mouldingWood, , mouldingWood] ] ] }, // ================================== // Stage Three // ================================== : { Utils.genRecipeName(stageThree, ): [ [ [, metals.iron.plate, ], [, , ], [, metals.iron.plate, ] ] ] } }; /* Mirrored Recipes */ static mirroredRecipes as IIngredient[][][][IItemStack] = { }; static namedMirroredRecipes as IIngredient[][][][string][IItemStack] = { }; /* Shapeless Recipes */ static shapelessRecipes as IIngredient[][][IItemStack] = { : [ [, ] ], * 9: [ [] ] }; static namedShapelessRecipes as IIngredient[][][string][IItemStack] = { }; /* Recipe Removals */ static removeRecipes as IItemStack[] = [ , , , , , , , , , , , , , , , , , , , , , , , ]; static removeRegex as string[] = [ "betterwithaddons:glass_bottle", "betterwithmods:higheff/item_frame", "betterwithmods:decompress/melon_decompress" ]; function init() { // 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); recipeUtil.removeRecipes(removeRegex); }