/* SevTech: Ages Tinkers Casting 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.IItemDefinition; import crafttweaker.item.IItemStack; import crafttweaker.liquid.ILiquidStack; /* Casting http://crafttweaker.readthedocs.io/en/latest/#Mods/Modtweaker/TConstruct/Casting/ */ function init() { /* Cast Creation */ // [IItemStack cast, IItemStack consumedItem] var castCreationRecipes as IItemStack[][] = [ [, ], // Gem cast with Astral Sorcery Aquamarine // Gear Cast Allows Stone now. You're welcome. -________________- Oh, it's also made from stone so all the people don't get upset with me and call me names or tell me I don't know rocket surgery. [, ], [, ] ]; var castLiquids as ILiquidStack[] = [ metalItems.gold.liquid.liquids[0], , metalItems.aluminumBrass.liquid.liquids[0] ]; for castCreationRecipe in castCreationRecipes { for castLiquid in castLiquids { var liquidAmount = 144; if (castLiquid.matches(metalItems.gold.liquid.liquids[0])) { liquidAmount = 288; } tinkers.addCastingTable(castCreationRecipe[0], castCreationRecipe[1], castLiquid, liquidAmount, true); } } /* Spartan Shields As long as the metal is in the metals global stuff, this will work without any modifications */ var shieldMetals as string[] = [ "bronze", "constantan", "steel", "copper", "tin", "silver", "platinum", "electrum", "nickel", "iron", "gold", "obsidian", "lead", "invar" ]; for shieldMetal in shieldMetals { var shield as IItemStack = itemUtils.getItem("spartanshields:shield_basic_" + shieldMetal); var towerShield as IItemStack = itemUtils.getItem("spartanshields:shield_tower_" + shieldMetal); var liquid as ILiquidStack = shieldMetal == "obsidian" ? : metalItems[shieldMetal].liquid.liquids[0]; tinkers.addCastingTable(shield, | , liquid, 576, true); // tinkers.addCastingBasin(towerShield, | , liquid, 576, true); // TODO: Enable if model issue resolved } /* Standard Casting */ tinkers.removeCastingTable(); tinkers.addCastingTable(, null, , 500); tinkers.removeCastingBasin(); tinkers.addCastingBasin(, null, , 1000); tinkers.addCastingTable(, .withTag({PartType: "tconstruct:pan_head"}), , 250, false); tinkers.addCastingBasin(, null, , 2250); tinkers.addCastingTable(metals.steeleaf.rod.firstItem, .withTag({PartType: "tconstruct:tool_rod"}), metalItems.steeleaf.liquid.liquids[0], 144, false); // Redstone Alloy Rod // TODO: Is this being handled by metals? tinkers.addCastingTable(metals.redstoneAlloy.rod.firstItem, .withTag({PartType: "tconstruct:tool_rod"}), metalItems.redstoneAlloy.liquid.liquids[0], 144, false); // Nugget Removal tinkers.removeCastingTable(); // Soulium Nugget // Iron Chests tinkers.addCastingBasin(, , metalItems.iron.liquid.liquids[0], 1152, true, 300); tinkers.addCastingBasin(, , metalItems.gold.liquid.liquids[0], 1152, true, 300); tinkers.addCastingBasin(, , metalItems.copper.liquid.liquids[0], 1152, true, 300); tinkers.addCastingBasin(, , metalItems.silver.liquid.liquids[0], 1152, true, 300); tinkers.addCastingBasin(, , , 1152, true, 300); tinkers.addCastingBasin(, , , 1152, true, 300); // Slime Ball Casting tinkers.addCastingTable(, null, , 250, false, 40); tinkers.addCastingTable(, null, , 250, false, 40); tinkers.addCastingTable(, null, , 250, false, 40); tinkers.addCastingBasin(, null, , 640, false, 60); tinkers.removeCastingBasin(); // Liquid Redstone tinkers.addCastingTable(, , , 100, false); tinkers.addCastingBasin(, null, , 900); // Liquid Glowstone tinkers.addCastingTable(, , , 100, false); tinkers.addCastingBasin(, null, , 400); }