/* SevTech: Ages Better With Mods/Addons 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.IIngredient; import crafttweaker.item.IItemStack; import mods.betterwithaddons.Condensed; import mods.betterwithmods.MiniBlocks; import mods.betterwithmods.Turntable; import mods.betterwithmods.Saw; /* Recipes to be removed from the Kiln. */ static kilnRemovals as IItemStack[] = [ ]; /* Recipes to be removed from the Mill. */ static millRemovals as IItemStack[][] = [ [], [], [], [], [], [], [], [], [], [], [, ] ]; /* Recipes to be removed from the Soaking Box. */ static soakingRemovals as IItemStack[] = [ , ]; /* Recipes to be removed from the Cauldron. Note: Removing by output also requires the amount of the output item that is given. */ static cauldronRemovals as IItemStack[][] = [ [ * 8], [ * 4], [], [ * 2], [ * 3], [ * 4], [], [], // Remove Cut Leather (Tanned) from Cauldron and oredict [ * 2], // Remove Pot As recipes because a single recipe with all wooden items is confusing. [], [ * 2], [], [] ]; /* Recipes to be removed from the Crucible. */ static crucibleRemovals as IItemStack[][] = [ [], [ * 2], [], [ * 3] ]; /* Recipes to be removed from the Saw. */ static sawRemovals as IItemStack[][] = [ //Sawing Corners only give 1 gear instead of 2 [ * 2], [.withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}), , , * 2], [ * 3, , , .withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}) * 2], [.withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}) * 3, * 3, ], [.withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}) * 3, , , ], [.withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}) * 3, , ], [.withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}) * 6, ], [.withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}) * 6, ] ]; /* Pelt Mapping for both Large and Standard. */ static pelts as IIngredient[] = [ , , , , , , , , ]; static largePelts as IIngredient[] = [ , , , , , , , , , ]; // TODO: USE THIS FOR THE REST OF RECIPE ADDITIONS! // [Outputs] : [Inputs] static sawRecipes as IIngredient[][IItemStack[]] = { [ * 2]: [ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ], [ * 2]: [], [ * 2]: [], []: [ MiniBlocks.getMiniBlock("corner", ) ], [ * 9]: [ ], [.withTag({texture: {Properties: {variant: "oak"}, Name: "minecraft:planks"}}) * 6, ]: [] }; function init() { /* Removals */ for removal in kilnRemovals { betterWithMods.removeKiln(removal); } for removal in millRemovals { betterWithMods.removeMilling(removal); } for removal in soakingRemovals { betterWithMods.removeSoaking(removal); } for removal in cauldronRemovals { betterWithMods.removeCauldron(removal); } for removal in crucibleRemovals { betterWithMods.removeCrucible(removal); } for removal in sawRemovals { betterWithMods.removeSaw(removal); } /* Additions */ for sawOutputs, sawInputs in sawRecipes { for sawInput in sawInputs { for sawInputItem in sawInput.items { Saw.builder() .buildRecipe(sawInput, sawOutputs) .setInputBlockDrop(sawInputItem as IItemStack) .build(); } } } // Turntable Turntable.builder() .buildRecipe(, []) .setProductState() .build(); Turntable.builder() .buildRecipe(, []) .setProductState() .build(); // Mill // Rice Flour betterWithMods.addMilling([], []); // THERE CAN BE ONLY 1 FLOUR! betterWithMods.addMilling([], []); betterWithMods.addMilling([], []); // Other betterWithMods.addMilling([, , ], []); betterWithMods.addMilling([, , ], [ * 2]); betterWithMods.addMilling([], []); betterWithMods.addMilling([], [ * 1]); betterWithMods.addMilling([], [ * 2]); betterWithMods.addMilling([], [ * 9]); betterWithMods.addMilling([], [ * 4]); betterWithMods.addMilling([], [ * 9]); betterWithMods.addMilling([], [ * 1]); betterWithMods.addMilling([], []); betterWithMods.addMilling([], []); betterWithMods.addMilling([], []); betterWithMods.addMilling([], [ * 2]); betterWithMods.addMilling([], [ * 10, * 2]); // Bark for bark in .items { betterWithMods.addMilling([bark], [ * 2]); } // Spindle betterWithMods.addSpindle([], * 4, false); // Condensed Condensed.setContainer(, ); // Cauldron betterWithMods.addCauldron([, ], []); betterWithMods.addCauldron([, , ], []); betterWithMods.addCauldron([], [ * 2]); betterWithMods.addCauldron([], []); betterWithMods.addCauldron([], [ * 2]); betterWithMods.addCauldron([], [, ]); betterWithMods.addCauldron([, * 16, * 8, * 4], []); // Remake laxative recipe using foodFlour instead of BWM flour only. betterWithMods.addCauldron([ * 3, , ], []); //============================== // Stoked // betterWithMods.addCauldron(IIngredient[] inputs, IItemStack[] outputs, true); //============================== betterWithMods.addCauldron([], [ * 2], true); betterWithMods.addCauldron([ * 4], [], true); betterWithMods.addCauldron([ * 16], [], true); // Pelt Recipes for pelt in pelts { betterWithMods.addCauldron([pelt], []); } for largePelt in largePelts { betterWithMods.addCauldron([largePelt], [ * 2]); } // Drying Box betterWithMods.removeDrying(); }