From 5e5444581861cdff07521e68d1d9a8efeda2df55 Mon Sep 17 00:00:00 2001 From: 0x3fcf1bbd <81617230+0x3fcf1bbd@users.noreply.github.com> Date: Sat, 15 Jan 2022 23:49:37 +0100 Subject: [PATCH 1/5] Added lanterns night event to the worldevent command. --- TShockAPI/Commands.cs | 18 +++++++++++++++++- TShockAPI/Permissions.cs | 3 +++ 2 files changed, 20 insertions(+), 1 deletion(-) 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"; From c0ab5ae98f3e239616446309b1f1161b58708711 Mon Sep 17 00:00:00 2001 From: 0x3fcf1bbd <81617230+0x3fcf1bbd@users.noreply.github.com> Date: Sun, 16 Jan 2022 00:00:14 +0100 Subject: [PATCH 2/5] Updated CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c423850c..37fc3328 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin ## Upcoming changes * Added hook `GetDataHandlers.OnReleaseNpc` to handling ReleaseNPC packet and a bouncer to stops unregistered and logged out players on SSC servers from releasing critters NPC. The bouncer has additional filter to stops players who tried to release different critter using crafted packet, e.g. using bunny item to release golden bunny. (@tru321) * Added filter in `GetDataHandlers.HandleCatchNpc` that stops unregistered and logged out players on SSC servers to catch critters. (@tru321) +* Added the lanterns night event to the `/worldmode` command. (@0x3fcf1bbd) ## Upcoming changes * Fixed rejection check inside of `HandlePaintTile` to account for the Paint Sprayer (or Architect Gizmo Pack) being inside your inventory, rather than on an accessory slot. (@drunderscore) From 29c6260d79510d2d2c61aa3c150ea33b27aca1fb Mon Sep 17 00:00:00 2001 From: 0x3fcf1bbd <81617230+0x3fcf1bbd@users.noreply.github.com> Date: Sun, 16 Jan 2022 17:13:57 +0100 Subject: [PATCH 3/5] Fixed permission being ignored for lanterns event. --- TShockAPI/Commands.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 6d7caa06..97ed6f6e 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -2165,6 +2165,7 @@ namespace TShockAPI if (!args.Player.HasPermission(Permissions.managelanternsnightevent)) { FailedPermissionCheck(); + return; } LanternsNight(args); return; From fc164955289fe49892c8101eb68f450cc56cd041 Mon Sep 17 00:00:00 2001 From: 0x3fcf1bbd <81617230+0x3fcf1bbd@users.noreply.github.com> Date: Sat, 22 Jan 2022 13:47:19 +0100 Subject: [PATCH 4/5] Fixed silent support for lanterns world event. And fixed smol typo. --- TShockAPI/Commands.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 97ed6f6e..a92994ab 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -2388,7 +2388,15 @@ namespace TShockAPI private static void LanternsNight(CommandArgs args) { LanternNight.ToggleManualLanterns(); - args.Player.SendInfoMessage("{0}ed a lantern night.", LanternNight.LanternsUp ? "Start" : "Stop"); + string msg = $" st{(LanternNight.LanternsUp ? "art" : "opp")}ed a lantern night."; + if (args.Silent) + { + args.Player.SendInfoMessage("You" + msg); + } + else + { + TSPlayer.All.SendInfoMessage(args.Player.Name + msg); + } } private static void ClearAnglerQuests(CommandArgs args) From 2b64c04b7f96069387ff21241e96a724fc0f4904 Mon Sep 17 00:00:00 2001 From: 0x3fcf1bbd <81617230+0x3fcf1bbd@users.noreply.github.com> Date: Sun, 23 Jan 2022 16:10:43 +0100 Subject: [PATCH 5/5] Fixed CHANGELOG.md Also merged the two "Upcoming changes" headers. --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37fc3328..792052f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,10 +14,8 @@ This is the rolling changelog for TShock for Terraria. Use past tense when addin ## Upcoming changes * Added hook `GetDataHandlers.OnReleaseNpc` to handling ReleaseNPC packet and a bouncer to stops unregistered and logged out players on SSC servers from releasing critters NPC. The bouncer has additional filter to stops players who tried to release different critter using crafted packet, e.g. using bunny item to release golden bunny. (@tru321) * Added filter in `GetDataHandlers.HandleCatchNpc` that stops unregistered and logged out players on SSC servers to catch critters. (@tru321) -* Added the lanterns night event to the `/worldmode` command. (@0x3fcf1bbd) - -## Upcoming changes * Fixed rejection check inside of `HandlePaintTile` to account for the Paint Sprayer (or Architect Gizmo Pack) being inside your inventory, rather than on an accessory slot. (@drunderscore) +* Added the lanterns night event to the `/worldevent` command. (@0x3fcf1bbd) ## TShock 4.5.12 * Fixed the ability to spawn Zenith projectile with non-original items. (@AgaSpace)