Added xmas hook such that when the server checks to see if it should do xmas related things, it will check all plugins first.
This commit is contained in:
parent
b9099757fb
commit
38ae8e9ce6
5 changed files with 50 additions and 0 deletions
|
|
@ -209,6 +209,7 @@ namespace TShockAPI
|
||||||
add(Permissions.cfg, WorldInfo, "world");
|
add(Permissions.cfg, WorldInfo, "world");
|
||||||
add(Permissions.savessi, SaveSSI, "savessi");
|
add(Permissions.savessi, SaveSSI, "savessi");
|
||||||
add(Permissions.savessi, OverrideSSI, "overridessi", "ossi");
|
add(Permissions.savessi, OverrideSSI, "overridessi", "ossi");
|
||||||
|
add(Permissions.xmas, ForceXmas, "forcexmas");
|
||||||
//add(null, TestCallbackCommand, "test");
|
//add(null, TestCallbackCommand, "test");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1140,6 +1141,38 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void ForceXmas(CommandArgs args)
|
||||||
|
{
|
||||||
|
if(args.Parameters.Count == 0)
|
||||||
|
{
|
||||||
|
args.Player.SendErrorMessage("Usage: /forcexmas [true/false]");
|
||||||
|
args.Player.SendInfoMessage(
|
||||||
|
String.Format("The server is currently {0} force Christmas mode.",
|
||||||
|
(TShock.Config.ForceXmas ? "in" : "not in")));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(args.Parameters[0].ToLower() == "true")
|
||||||
|
{
|
||||||
|
TShock.Config.ForceXmas = true;
|
||||||
|
Main.checkXMas();
|
||||||
|
}
|
||||||
|
else if(args.Parameters[0].ToLower() == "false")
|
||||||
|
{
|
||||||
|
TShock.Config.ForceXmas = false;
|
||||||
|
Main.checkXMas();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
args.Player.SendErrorMessage("Usage: /forcexmas [true/false]");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
args.Player.SendInfoMessage(
|
||||||
|
String.Format("The server is currently {0} force Christmas mode.",
|
||||||
|
(TShock.Config.ForceXmas ? "in" : "not in")));
|
||||||
|
}
|
||||||
|
|
||||||
#endregion Player Management Commands
|
#endregion Player Management Commands
|
||||||
|
|
||||||
#region Server Maintenence Commands
|
#region Server Maintenence Commands
|
||||||
|
|
|
||||||
|
|
@ -243,6 +243,8 @@ namespace TShockAPI
|
||||||
|
|
||||||
[Description("Hide stat tracker console messages.")] public bool HideStatTrackerDebugMessages = true;
|
[Description("Hide stat tracker console messages.")] public bool HideStatTrackerDebugMessages = true;
|
||||||
|
|
||||||
|
[Description("Force Christmas only events to occur all year.")] public bool ForceXmas = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Reads a configuration file from a given path
|
/// Reads a configuration file from a given path
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -169,6 +169,8 @@ namespace TShockAPI
|
||||||
[Description("User can use rest api calls.")]
|
[Description("User can use rest api calls.")]
|
||||||
public static readonly string restapi;
|
public static readonly string restapi;
|
||||||
|
|
||||||
|
[Description("User can force the server to Christmas mode.")] public static readonly string xmas;
|
||||||
|
|
||||||
static Permissions()
|
static Permissions()
|
||||||
{
|
{
|
||||||
foreach (var field in typeof (Permissions).GetFields())
|
foreach (var field in typeof (Permissions).GetFields())
|
||||||
|
|
|
||||||
|
|
@ -223,6 +223,7 @@ namespace TShockAPI
|
||||||
ProjectileHooks.SetDefaults += OnProjectileSetDefaults;
|
ProjectileHooks.SetDefaults += OnProjectileSetDefaults;
|
||||||
WorldHooks.StartHardMode += OnStartHardMode;
|
WorldHooks.StartHardMode += OnStartHardMode;
|
||||||
WorldHooks.SaveWorld += SaveManager.Instance.OnSaveWorld;
|
WorldHooks.SaveWorld += SaveManager.Instance.OnSaveWorld;
|
||||||
|
WorldHooks.ChristmasCheck += OnXmasCheck;
|
||||||
NetHooks.NameCollision += NetHooks_NameCollision;
|
NetHooks.NameCollision += NetHooks_NameCollision;
|
||||||
|
|
||||||
GetDataHandlers.InitGetDataHandler();
|
GetDataHandlers.InitGetDataHandler();
|
||||||
|
|
@ -323,6 +324,7 @@ namespace TShockAPI
|
||||||
ProjectileHooks.SetDefaults -= OnProjectileSetDefaults;
|
ProjectileHooks.SetDefaults -= OnProjectileSetDefaults;
|
||||||
WorldHooks.StartHardMode -= OnStartHardMode;
|
WorldHooks.StartHardMode -= OnStartHardMode;
|
||||||
WorldHooks.SaveWorld -= SaveManager.Instance.OnSaveWorld;
|
WorldHooks.SaveWorld -= SaveManager.Instance.OnSaveWorld;
|
||||||
|
WorldHooks.ChristmasCheck -= OnXmasCheck;
|
||||||
NetHooks.NameCollision -= NetHooks_NameCollision;
|
NetHooks.NameCollision -= NetHooks_NameCollision;
|
||||||
|
|
||||||
if (File.Exists(Path.Combine(SavePath, "tshock.pid")))
|
if (File.Exists(Path.Combine(SavePath, "tshock.pid")))
|
||||||
|
|
@ -367,6 +369,17 @@ namespace TShockAPI
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnXmasCheck(ChristmasCheckEventArgs args)
|
||||||
|
{
|
||||||
|
if (args.Handled)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(Config.ForceXmas)
|
||||||
|
{
|
||||||
|
args.Xmas = true;
|
||||||
|
args.Handled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handles exceptions that we didn't catch or that Red fucked up
|
/// Handles exceptions that we didn't catch or that Red fucked up
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue