using Newtonsoft.Json; namespace RecipeRevamper; [JsonObject] public class MinecraftRecipe { public struct ItemResult { public string? Item; public int? Count; public double? Chance; } public struct ItemIngredient { public string? Item; } public string? Type; public List Ingredients = new(); public List Results = new(); public int ProcessingTime = 50; public MinecraftRecipe Copy() { var newRecipe = new MinecraftRecipe(); newRecipe.Type = this.Type; foreach (ItemIngredient ingredient in Ingredients) { newRecipe.Ingredients.Add(new ItemIngredient{Item = ingredient.Item,} ); } foreach (ItemResult result in Results) { newRecipe.Results.Add(new ItemResult { Item = result.Item, Count = result.Count, Chance = result.Chance }); } return newRecipe; } public string Serialize() { return MinecraftRecipeSerializer.SerializeObject(this); } }