/// <summary> /// Gets the name of the output food if one exists. /// </summary> /// <param name="worldForResolve"></param> /// <param name="inputStacks"></param> /// <returns></returns> public string GetOutputName(IWorldAccessor worldForResolve, ItemStack[] inputStacks) { bool rotten = inputStacks.Any((stack) => stack?.Collectible.Code.Path == "rot"); if (rotten) { return(Lang.Get("Rotten Food")); } ICookingRecipeNamingHelper namer = null; if (NamingRegistry.TryGetValue(Code, out namer)) { return(namer.GetNameForIngredients(worldForResolve, Code, inputStacks)); } return(Lang.Get("unknown")); }
/// <summary> /// Gets the name of the output food if one exists. /// </summary> /// <param name="worldForResolve"></param> /// <param name="inputStacks"></param> /// <returns></returns> public string GetOutputName(IWorldAccessor worldForResolve, ItemStack[] inputStacks) { /*StringBuilder name = new StringBuilder(); * for (int i = 0; i < NameComponentOrder.Length; i++) * { * int index = NameComponentOrder[i]; * * CookingRecipeIngredient ingred = Ingredients[index]; * for (int j = 0; j < inputStacks.Length; j++) * { * CookingRecipeStack crstack = ingred.GetMatchingStack(inputStacks[j]); * if (crstack != null) * { * if (name.Length > 0) name.Append(" "); * string namecomp = crstack.NameComponent.Replace("{stackcode}", inputStacks[j].Collectible.Code.Path); * name.Append(Lang.Get(namecomp)); * break; * } * } * * } * * return name.ToString();*/ bool rotten = inputStacks.Any((stack) => stack?.Collectible.Code.Path == "rot"); if (rotten) { return(Lang.Get("Rotten Food")); } ICookingRecipeNamingHelper namer = null; if (NamingRegistry.TryGetValue(Code, out namer)) { return(namer.GetNameForIngredients(worldForResolve, Code, inputStacks)); } return(Lang.Get("unknown")); }