public void AfterSelectedWorld() { StringBuilder sb = new StringBuilder(); PandaLogger.Log(ChatColor.lime, "-------------------Generate Type Loaded----------------------"); var i = 0; List <ICSGenerateType> json = new List <ICSGenerateType>(); foreach (var item in LoadedAssembalies) { if (Activator.CreateInstance(item) is ICSGenerateType generateType && !string.IsNullOrEmpty(generateType.typeName)) { json.Add(generateType); sb.Append($"{generateType.typeName}, "); i++; if (i > 5) { sb.Append("</color>"); i = 0; sb.AppendLine(); sb.Append("<color=lime>"); } } } if (json.Count != 0) { var strValue = JsonConvert.SerializeObject(json, Formatting.None, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); PandaLogger.LogToFile(strValue); ItemTypesServer.BlockRotator.Patches.AddPatch(new ItemTypesServer.BlockRotator.BlockGeneratePatch(GameLoader.MOD_FOLDER, -99999, JSON.DeserializeString(strValue))); } PandaLogger.Log(ChatColor.lime, sb.ToString()); PandaLogger.Log(ChatColor.lime, "---------------------------------------------------------"); }