using System.Collections.Generic; using System.Text.Json.Serialization; public class ItemData { [JsonPropertyName("id")] public string Id { get; set; } [JsonPropertyName("inputs")] public List Inputs { get; set; } [JsonPropertyName("output")] public Ingredient Output { get; set; } [JsonPropertyName("workstation")] public string Workstation { get; set; } [JsonPropertyName("texture")] public string Texture { get; set; } [JsonPropertyName("research")] public string Research { get; set; } [JsonPropertyName("crafttime")] public double CraftTime { get; set; } [JsonPropertyName("stacksize")] public int StackSize { get; set; } public string GetReadableName() { string noUnderscore = Id.Replace("_", " ").ToLower(); return char.ToUpper(noUnderscore[0]) + noUnderscore.Substring(1); } public static string GetReadableName(string input) { string noUnderscore = input.Replace("_", " ").ToLower(); return char.ToUpper(noUnderscore[0]) + noUnderscore.Substring(1); } public static string GetIndex(string readable) { return readable.ToLower().Replace(" ", "_"); } public string GetCraftingDisplay() { string result = GetReadableName() + ": \r"; foreach (Ingredient ingredient in Inputs) { result += $"{GetReadableName(ingredient.Item)} ({ingredient.Amount}),\r"; } if (Inputs.Count <= 0) return result; result = result.Remove(result.Length - 2); return result; } }