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));
}