import crafttweaker.data.IData; import crafttweaker.item.IItemStack; function addDupeAnimaStone(seedItem as IItemStack, recipeName as string) { recipes.addShapeless( recipeName, seedItem*3, [ (seedItem.marked("mark").transformNew(function(item) { return item.withTag(item.tag); })).noReturn(), ], function(out, ins, cInfo) { var species = ins.mark.tag.agri_seed as string; var strength = ins.mark.tag.agri_strength as byte; var gain = ins.mark.tag.agri_gain as byte; var growth = ins.mark.tag.agri_growth as byte; var updatedTag as IData = { agri_strength: strength, agri_gain: gain, agri_seed: species, agri_growth: growth }; return out.updateTag(updatedTag); }, null ); } // Define all seeds that need analysis recipes var seedsToAnalyze as IItemStack[] = [ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]; // Add analysis recipes for all defined seeds for i, seed in seedsToAnalyze { addDupeAnimaStone(seed, "dupe_anima_seed_" + i); }