import crafttweaker.item.IItemStack; import crafttweaker.item.IIngredient; import crafttweaker.data.IData; recipes.addShaped(, [[, , ], [, , ], [, , ]]); function addKleinStarCharging(matterName as string, matterInput as IItemStack, matterEMC as long, starName as string, starFill as IItemStack, starMaxEMC as long) { val recipe_name = matterName + "_" + starName; recipes.addShapeless( recipe_name,starFill, [(starFill.marked("mark").transformNew(function(item) { return item.withTag(item.tag); })).noReturn(), matterInput, .reuse()], function(out,ins,cInfo){ var oldEMC = ins.mark.tag.StoredEMC as long; var newEMC = oldEMC + matterEMC; if (newEMC > starMaxEMC) { newEMC = starMaxEMC; } var updatedTag as IData = { StoredEMC: newEMC }; return ins.mark.withTag(updatedTag); }, null ); } function primeKleinStarNBT(starName as string, starFill as IItemStack) { val recipe_name = "primeNBT_" + starName; recipes.addShapeless( recipe_name,starFill, [(starFill.marked("mark").transformNew(function(item) { return item.withTag(item.tag); })).noReturn(), , .reuse()], function(out,ins,cInfo){ var updatedTag as IData = { StoredEMC: 1 as long }; return ins.mark.withTag(updatedTag); }, null ); } val matter_name = ["dark", "red", "magenta", "pink", "purple", "violet", "blue", "cyan", "green", "lime", "yellow", "orange", "white", "fading"] as string[]; val matter_stack = [, , , , , , , , , , , , , ] as IItemStack[]; val matter_EMC = [139264, 466944, 1449984, 4399104, 13246464, 39788544, 119414784, 358293504, 1074929664, 3224838144, 9674563584, 29023739904, 87071268864, 261213855744] as long[]; val star_name = ["klein_ein", "klein_zwei", "klein_drei", "klein_vier", "klein_sphere", "klein_omega", "magnum_ein", "magnum_zwei", "magnum_drei", "magnum_vier", "magnum_sphere", "magnum_omega", "kolossal_ein", "kolossal_zwei", "kolossal_drei", "kolossal_vier", "kolossal_sphere", "kolossal_omega"] as string[]; val star_stack = [, , , , , , , , , , , , , , , , , ] as IItemStack[]; val star_capacity = [50000, 200000, 800000, 3200000, 12800000, 51200000, 204800000, 819200000, 3276800000, 13107200000, 52428800000, 209715200000, 838860800000, 3355443200000, 13421772800000, 53687091200000, 214748364800000, 858993459200000] as long[]; for matterIDX in 0 .. 14 { for starIDX in 0 .. 18 { val matterNameSingle = matter_name[matterIDX] as string; val matterStackSingle = matter_stack[matterIDX] as IItemStack; val matterEMCSingle = matter_EMC[matterIDX] as long; val starNameSingle = star_name[starIDX] as string; val starStackSingle = star_stack[starIDX] as IItemStack; val starEMCSingle = star_capacity[starIDX] as long; addKleinStarCharging(matterNameSingle, matterStackSingle, matterEMCSingle, starNameSingle, starStackSingle, starEMCSingle); } }