Broadcast on saveWorld.

(Latest API required)
This commit is contained in:
Deathmax 2011-07-03 10:51:49 +08:00
parent e680e39bb0
commit e4ee06f659
3 changed files with 20 additions and 3 deletions

View file

@ -67,7 +67,7 @@ namespace TShockAPI
if (worldpath != null && !Directory.Exists(worldpath))
Directory.CreateDirectory(worldpath);
Tools.Broadcast("Server map saving, potential lag spike");
//Tools.Broadcast("Server map saving, potential lag spike");
WorldGen.saveWorld();
Console.WriteLine("World backed up");

View file

@ -1003,9 +1003,9 @@ namespace TShockAPI
private static void Save(CommandArgs args)
{
Tools.Broadcast("Server map saving, potential lag spike");
//Tools.Broadcast("Server map saving, potential lag spike");
WorldGen.saveWorld();
args.Player.SendMessage("World saved.");
//args.Player.SendMessage("World saved.");
}
private static void MaxSpawns(CommandArgs args)

View file

@ -48,6 +48,8 @@ namespace TShockAPI
public static IDbConnection Sql;
public static bool WorldSaving = false;
public override Version Version
{
get { return VersionNum; }
@ -105,6 +107,7 @@ namespace TShockAPI
NetHooks.GreetPlayer += OnGreetPlayer;
NetHooks.SendData += OnSendData;
NpcHooks.StrikeNpc += NpcHooks_OnStrikeNpc;
WorldHooks.SaveWorld += OnSaveWorld;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Bans.LoadBans();
@ -131,6 +134,7 @@ namespace TShockAPI
NetHooks.GreetPlayer -= OnGreetPlayer;
NetHooks.SendData -= OnSendData;
NpcHooks.StrikeNpc -= NpcHooks_OnStrikeNpc;
WorldHooks.SaveWorld -= OnSaveWorld;
}
/// <summary>
@ -533,6 +537,19 @@ namespace TShockAPI
}
}
private void OnSaveWorld(bool resettime, HandledEventArgs e)
{
if (!WorldSaving)
{
WorldSaving = true;
Tools.Broadcast("Saving world, might lag.", Color.Red);
WorldGen.saveWorld(resettime);
Tools.Broadcast("World saved.", Color.LimeGreen);
WorldSaving = false;
e.Handled = true;
}
}
/*
* Useful stuff:
* */