diff --git a/TShockAPI/ConfigFile.cs b/TShockAPI/ConfigFile.cs index deed631c..11007055 100644 --- a/TShockAPI/ConfigFile.cs +++ b/TShockAPI/ConfigFile.cs @@ -223,6 +223,9 @@ namespace TShockAPI [Description("Kicks banned users by their IP")] public bool EnableIPBans = true; + [Description("Disables hardmode, can't never be activated. Overrides /starthardmode")] + public bool DisableHardmode = false; + public static ConfigFile Read(string path) { if (!File.Exists(path)) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index befbb44b..617d2e56 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -200,6 +200,7 @@ namespace TShockAPI NetHooks.GreetPlayer += OnGreetPlayer; NpcHooks.StrikeNpc += NpcHooks_OnStrikeNpc; ProjectileHooks.SetDefaults += OnProjectileSetDefaults; + WorldHooks.StartHardMode += OnStartHardMode; GetDataHandlers.InitGetDataHandler(); Commands.InitCommands(); @@ -868,6 +869,12 @@ namespace TShockAPI e.Handled = true; } + void OnStartHardMode(HandledEventArgs e) + { + if (Config.DisableHardmode) + e.Handled = true; + } + /* * Useful stuff: * */