static void PatchDB() { if (SceneManager.GetActiveScene().name != "main") { return; } ItemsHandler.ReloadItems(); RecipesHandler.ReloadRecipes(); }
static void ConsoleTextInput() { string command = Console.instance.m_input.text.ToLower(); string _command = command; if (askedForYesNo) { command = Console.instance.m_lastEntry; } if (command.StartsWith("help")) { Console.instance.AddString(""); Console.instance.AddString("[OpenDatabase]"); Console.instance.AddString("opendatabase.generate all/items/recipes - Regenerates JSON files"); Console.instance.AddString("opendatabase.reload - Reloads the database"); Console.instance.AddString("opendatabase.config.reload - Reloads the config file"); } if (command.Contains("opendatabase")) { if (SceneManager.GetActiveScene().name != "main") { Console.instance.AddString("You need to be in a world to use this command!"); return; } } if (command == "opendatabase.reload") { Console.instance.AddString("Reloading database..."); ItemsHandler.ReloadItems(); RecipesHandler.ReloadRecipes(); if (Player.m_localPlayer != null) { var list = Player.m_localPlayer.m_inventory.GetAllItems(); for (int i = 0; i < list.Count; i++) { var data = Helper.GetSharedDataBySharedName(list[i].m_shared.m_name); list[i].m_shared = data; } Player.m_localPlayer.UpdateKnownRecipesList(); } Console.instance.AddString("Database has been reloaded!"); } else if (command == "opendatabase.config.reload") { string _text = ""; string _enabled; bool _en = OpenDatabase.modEnabled.Value; bool _ex = OpenDatabase.showZerosInJSON.Value; OpenDatabase.instance.Config.Reload(); _enabled = (OpenDatabase.modEnabled.Value) ? "enabled" : "disabled"; if (_en != OpenDatabase.modEnabled.Value) { _text = $"The mod has been {_enabled}. "; } _enabled = (OpenDatabase.showZerosInJSON.Value) ? "shown" : "hidden"; if (_ex != OpenDatabase.showZerosInJSON.Value) { _text += $"On JSON generation, zeros are {_enabled}"; } if (_text == "") { _text = "Config file has been reloaded"; } Console.instance.AddString(_text); } else if (command.StartsWith("opendatabase.generate")) { string[] cmd = command.Split(' '); if (cmd.Length == 2) { if (cmd[1] == "all") { if (!askedForYesNo) { Console.instance.AddString("All files inside plugins/OpenDatabase/ will be removed and regenerated. Are you sure ? yes/no"); askedForYesNo = true; } else { if (_command == "yes") { JSONHandler.ClearFolder(OpenDatabase.recipeFolder); JSONHandler.ClearFolder(OpenDatabase.itemsFolder); JSONHandler.CreateItemFiles(); JSONHandler.CreateRecipeFiles(); Console.instance.AddString("JSON Files are regenerated."); } askedForYesNo = false; } } else if (cmd[1] == "items") { if (!askedForYesNo) { Console.instance.AddString("All files inside plugins/OpenDatabase/Items will be removed and regenerated. Are you sure ? yes/no"); askedForYesNo = true; } else { if (_command == "yes") { JSONHandler.ClearFolder(OpenDatabase.itemsFolder); JSONHandler.CreateItemFiles(); Console.instance.AddString("Item Files are regenerated."); } askedForYesNo = false; } } else if (cmd[1] == "recipes") { if (!askedForYesNo) { Console.instance.AddString("All files inside plugins/OpenDatabase/Recipes will be removed and regenerated. Are you sure ? yes/no"); askedForYesNo = true; } else { if (_command == "yes") { JSONHandler.ClearFolder(OpenDatabase.recipeFolder); JSONHandler.CreateRecipeFiles(); Console.instance.AddString("Recipe Files are regenerated."); } askedForYesNo = false; } } } } }