private static void OnInitialize(EventArgs args) { Commands.ChatCommands.Add(new Command("boss.root", BossCommands.BossCommand, "boss") { HelpText = "Toggles automatic boss spawns; Reloads the configuration; Lists bosses and minions spawned by the plugin" }); var configPath = Path.Combine(TShock.SavePath, "BossConfig.json"); (config = Config.Read(configPath)).Write(configPath); Timers = new BossTimer(); }
public void ReloadConfig(bool console = false, TSPlayer receiver = null) { var configPath = Path.Combine(TShock.SavePath, "BossConfig.json"); (AutoBoss.config = Config.Read(configPath)).Write(configPath); var invalidRegions = new List <string>(); foreach (var arena in AutoBoss.config.BossArenas.Where(a => a.Value)) { var region = TShock.Regions.GetRegionByName(arena.Key); if (region == null) { invalidRegions.Add(arena.Key); continue; } if (!AutoBoss.ActiveArenas.Contains(region)) { AutoBoss.ActiveArenas.Add(region); } } arenaCount = AutoBoss.ActiveArenas.Count; if (invalidRegions.Count == 0) { AutoBoss.Timers = new BossTimer(); return; } TShock.Log.ConsoleError("Invalid regions encountered: " + string.Join(", ", invalidRegions)); if (!console && receiver != null) { receiver.SendErrorMessage("Invalid regions encountered: " + string.Join(", ", invalidRegions)); } }