diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 71e10a9d..6d7caa06 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -2060,7 +2060,8 @@ namespace TShockAPI "eclipse", "invasion", "sandstorm", - "rain" + "rain", + "lanternsnight" }; static readonly List _validInvasions = new List() { @@ -2159,6 +2160,15 @@ namespace TShockAPI Rain(args); return; + case "lanternsnight": + case "lanterns": + if (!args.Player.HasPermission(Permissions.managelanternsnightevent)) + { + FailedPermissionCheck(); + } + LanternsNight(args); + return; + default: args.Player.SendErrorMessage("Invalid event type! Valid event types: {0}", String.Join(", ", _validEvents)); return; @@ -2374,6 +2384,12 @@ namespace TShockAPI } } + private static void LanternsNight(CommandArgs args) + { + LanternNight.ToggleManualLanterns(); + args.Player.SendInfoMessage("{0}ed a lantern night.", LanternNight.LanternsUp ? "Start" : "Stop"); + } + private static void ClearAnglerQuests(CommandArgs args) { if (args.Parameters.Count > 0) diff --git a/TShockAPI/Permissions.cs b/TShockAPI/Permissions.cs index 7de195d2..378f79fd 100644 --- a/TShockAPI/Permissions.cs +++ b/TShockAPI/Permissions.cs @@ -307,6 +307,9 @@ namespace TShockAPI [Description("User can use the 'rain' subcommand of the 'worldevent' command")] public static readonly string managerainevent = "tshock.world.events.rain"; + [Description("User can use the 'lanternsnight' subcommand of the 'worldevent' command")] + public static readonly string managelanternsnightevent = "tshock.world.events.lanternsnight"; + [Description("User can change expert state.")] public static readonly string toggleexpert = "tshock.world.toggleexpert";