From 19aec7ffec5a9524746bfacf0dbcb2047c95a4f5 Mon Sep 17 00:00:00 2001 From: Deathmax Date: Fri, 13 Jan 2012 16:50:09 +0800 Subject: [PATCH] Re-add saveworld hook & broadcast --- TShockAPI/TShock.cs | 13 +++++++++++-- TShockAPI/Utils.cs | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index ef59b5a6..515565a7 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -199,6 +199,7 @@ namespace TShockAPI NpcHooks.SetDefaultsInt += OnNpcSetDefaults; ProjectileHooks.SetDefaults += OnProjectileSetDefaults; WorldHooks.StartHardMode += OnStartHardMode; + WorldHooks.SaveWorld += OnSaveWorld; GetDataHandlers.InitGetDataHandler(); Commands.InitCommands(); @@ -221,7 +222,6 @@ namespace TShockAPI } } - private RestObject RestApi_Verify(string username, string password) { var userAccount = Users.GetUserByName(username); @@ -271,6 +271,7 @@ namespace TShockAPI NpcHooks.SetDefaultsInt -= OnNpcSetDefaults; ProjectileHooks.SetDefaults -= OnProjectileSetDefaults; WorldHooks.StartHardMode -= OnStartHardMode; + WorldHooks.SaveWorld -= OnSaveWorld; if (File.Exists(Path.Combine(SavePath, "tshock.pid"))) { File.Delete(Path.Combine(SavePath, "tshock.pid")); @@ -969,7 +970,15 @@ namespace TShockAPI e.Handled = true; } - /* + void OnSaveWorld(bool resettime, HandledEventArgs e) + { + Utils.Broadcast("Saving world. Momentary lag might result from this.", Color.Red); + var SaveWorld = new Thread(Utils.SaveWorld); + SaveWorld.Start(); + e.Handled = true; + } + + /* * Useful stuff: * */ diff --git a/TShockAPI/Utils.cs b/TShockAPI/Utils.cs index 55223b66..123e763a 100644 --- a/TShockAPI/Utils.cs +++ b/TShockAPI/Utils.cs @@ -110,7 +110,7 @@ namespace TShockAPI /// public void SaveWorld() { - WorldGen.saveWorld(); + WorldGen.realsaveWorld(); Broadcast("World saved.", Color.Yellow); Log.Info(string.Format("World saved at ({0})", Main.worldPathName)); }