/* SevTech: Ages Primal Core Recipe Script This script handles the recipes for Primal Core. 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.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] = { * 3 : [ [ [,, ] ] ], : [ [ [, null, ], [, , ], [, , ] ] ], : [ [ [, null, ], [, null, ] ] ], : [ [ [, , ], [, null, ] ] ], : [ [ [, , ], [, null, ], [, null, ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], * 3 : [ [ [, , ], [.firstItem, .firstItem, .firstItem], [, , ] ] ], : [ // [ // [, null, ], // [, null, ], // [, , ] // ] [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [, null, ], [, null, ], [, , ] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [null, , null], [, null, ], [null, , null] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [, , ], [, , ], [, , ] ] ], : [ [ [metals.iron.plate, .firstItem, metals.iron.plate], [metals.iron.plate, .firstItem, metals.iron.plate], [null, .firstItem, null] ] ], : [ [ [, .firstItem, ], [, .firstItem, ], [null, .firstItem, null] ] ], : [ [ [, .firstItem, ], [, .firstItem, ], [null, .firstItem, null] ] ], // Thatching * 4: [ [ [, ], [, ] ] ], : [ [ [, ], [, ] ] ], : [ [ [, ] ] ], : [ [ [null, , null], [, , ] ] ], : [ [ [, ], [, ] ] ], // Flint tools : [ [ [, ], [.firstItem, null] ] ], : [ [ [null, , ], [null, .firstItem, ], [.firstItem, null, null] ] ], : [ [ [null, , ], [null, .firstItem, ], [.firstItem, null, null] ] ], : [ [ [null, , ], [, .firstItem, ], [.firstItem, , null] ] ], : [ [ [, null, null], [, null, null], [, , ] ] ], : [ [ [, , ], [, .firstItem, ], [null, .firstItem, null] ] ], : [ [ [, null, null], [, .firstItem, null], [null, , .firstItem] ] ], : [ [ [null, , ], [null, .firstItem, ], [.firstItem, null, null] ] ] }; 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] = { : [ [.transformReplace(), ] ], : [ [.transformReplace(), ] ], : [ [.transformReplace(), ] ], : [ [.transformReplace(), ] ], : [ [.transformReplace(), ] ], : [ [.transformReplace(), ] ], : [ [.transformReplace(), ] ], : [ [.transformReplace(), ], [.transformReplace(), ] ], : [ [, ] ], * 3 : [ [, , craftingUtils.getBucketAndTankIngredient()], [, , .withTag({Fluid: {FluidName: "water", Amount: 1000}})] ], * 1: [ [, , , , ] ], * 6: [ [, ] ], * 4: [ [, ] ], * 2: [ [, ], [, ], [, ], [, ], [, ] ], * 3: [ [, ], [, ], [, ] ], // Leather Processing : [ [, , .withTag({Fluid: {FluidName: "water", Amount: 1000}})] ], : [ [.withTag({Fluid: {FluidName: "water", Amount: 1000}}), , ] ], // Mud Clump : [ [, , .transformReplace()], [, , craftingUtils.getBucketAndTankIngredient()], [, , .withTag({Fluid: {FluidName: "water", Amount: 1000}})] ], : [ [, , ] ], * 9: [ [, ] ], : [ [, , , , , , , , ] ], //Adding back primal core stacked logs : [ [, ] ], : [ [, ] ], : [ [, ] ], : [ [, ] ], : [ [, ] ], : [ [, ] ], : [ [, ] ], : [ [, ] ] }; static namedShapelessRecipes as IIngredient[][][string][IItemStack] = { : { Utils.genRecipeName(stageThree, ): [ [, , ] ] } }; /* Furnace Recipes */ static furnaceRecipes as IIngredient[][IItemStack] = { : [] }; /* Recipe Removals */ static removeRecipes as IItemStack[] = [ , , .withTag({type: "cinis"}), .withTag({type: "terra"}), .withTag({type: "mud"}), , , // Remove all the Wall Recipes to be sure about the mod adding them somehow. , , , , , , , , , , , , , , , , , , , , ]; static removeRegex as string[] = [ "primal:diamond_boots", "primal:diamond_chestplate", "primal:diamond_helmet", "primal:diamond_leggings" ]; static removeFurnace as IIngredient[] = [ , , , , ]; 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); // Furnace recipes recipeUtil.processFurnace(furnaceRecipes); recipeUtil.removeRecipes(removeRecipes); recipeUtil.removeRecipes(removeRegex); recipeUtil.removeFurnace(removeFurnace); }