private void SelectRecipe(Recipe recipe) { if (recipe != null && selectedRecipe != recipe) { selectedRecipe = recipe; UpdateRecipeText(); ingredients.Clear(); foreach (Item requiredItem in selectedRecipe.requiredItem) { Item item = requiredItem.Clone(); ingredients.Add(item); RecipeGroup recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.Wood]; if (selectedRecipe.anyWood && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.Sand]; if (selectedRecipe.anySand && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.IronBar]; if (selectedRecipe.anyIronBar && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.Fragment]; if (selectedRecipe.anyFragment && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } recipeGroup = RecipeGroup.recipeGroups[RecipeGroupID.PressurePlate]; if (selectedRecipe.anyPressurePlate && recipeGroup.ContainsItem(item.type)) { item.SetNameOverride(recipeGroup.GetText()); continue; } if (selectedRecipe.ProcessGroupsForText(item.type, out string nameOverride)) { item.SetNameOverride(nameOverride); } } RefreshStorageItems(); } }