/* SevTech: Ages Horse Power Script This script handles custom integration control to a mod. 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; /* Grinder Recipes Layout of the map should be the following: int (time): [[output IItemStack, input IItemStack]] */ static grinderRecipes as IIngredient[][][int] = { 12: [ [ * 4, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [.firstItem, ], [ * 2, ], [ * 1, ], [, ], [.firstItem * 2, ], [.firstItem * 2, ], [.firstItem * 2, ], [.firstItem * 2, ], [, ], [.firstItem * 2, ], [.firstItem * 2, ], [.firstItem * 2, ], [.firstItem * 2, ], [.firstItem * 2, ] ], 16: [ [.firstItem * 4, ], [ * 9, ], [, ], [, ], [, ], [ * 8, ], [.firstItem, ], [ * 2, ], [ * 2, ] ], 24: [ [ * 9, ], [ * 4, ], [ * 9, ], [ * 9, ], [ * 9, ], [, ], [ * 8, ], [, ], // Salt Grinding [ * 4, ], [ * 4, ], [ * 4, ], [ * 4, ] ], 32: [ [, ], [ * 2, ], [ * 2, .withTag({})], // Death Compass -> Bone Meal [ * 4, ] ] }; /* Press Recipes IItemStack output: IIngredient input */ static pressRecipes as IIngredient[IItemStack] = { : * 9, : * 9, : , : * 9, : * 4, : * 8, : * 8, : * 9, : * 4, // Salt Pressing : * 4, : * 4, : * 4, : * 4, : * 9, : * 9, : * 9, : * 9 }; var plankWoodCopy = ; // Create an oreDict to hold our plank clone. plankWoodCopy.addAll(); // Clone the main oreDict. // Array containing all the betweenland planks we want to remove from the main cloned one. var betweenlandPlanks as IItemStack[] = [ ]; // Remove the planks in the array from the cloned oreDict. for plank in betweenlandPlanks { plankWoodCopy.remove(plank); } /* Chopping Block Recipes "Standardized" Recipes for manual and automatic. 4 for manual, 2 automatic. If not desired, do recipe manually. */ static choppingRecipes as IIngredient[][IItemStack] = { .firstItem * 4 : [ ], * 4: [ ], * 4: [ ], * 2 : [ ], * 2 : [ ], * 2 : [ ], * 2 : [ ], * 2 : [ ], * 2 : [ ], * 2 : [ ], * 2 : [ ], * 2 : [ ], * 2 : [ ] }; function init() { // Add the Grindstone Recipes. for time, grindRecipes in grinderRecipes { for itemRecipe in grindRecipes { for item in itemRecipe[0].items { horsePower.addGrindstone(item, itemRecipe[1], time, false); } } } // Recipes with Secondary Outputs horsePower.addGrindstone(, , 16, false, , 20); horsePower.addGrindstone(, , 16, false, , 20); horsePower.addGrindstone(, , 16, false, , 20); // Add the Press Recipes. for output, input in pressRecipes { horsePower.addPress(input, output); } // Add the Press Recipes for Seeds. var seedOreDict = ; for seed in seedOreDict.items { horsePower.addPress(, seed * 12); } // Add the Chopping Block Recipes. for output, inputs in choppingRecipes { for input in inputs { // Add recipe for manual and automatic with different times for each. Makes it consistent for all horsePower.addChopping(output, input, 4, true); horsePower.addChopping(output, input, 2, false); } } }