diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index facddcdc..2fc9e3ba 100755 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -453,6 +453,10 @@ namespace TShockAPI }); #endregion #region World Commands + add(new Command(Permissions.toggleexpert, ToggleExpert, "expert") + { + HelpText = "Toggles expert mode." + }); add(new Command(Permissions.antibuild, ToggleAntiBuild, "antibuild") { HelpText = "Toggles build protection." @@ -1965,6 +1969,13 @@ namespace TShockAPI } } + private static void ToggleExpert(CommandArgs args) + { + Main.expertMode = !Main.expertMode; + TSPlayer.All.SendData(PacketTypes.WorldInfo); + args.Player.SendSuccessMessage("Expert mode is now {0}.", Main.expertMode ? "on" : "off"); + } + private static void Hardmode(CommandArgs args) { if (Main.hardMode) diff --git a/TShockAPI/Permissions.cs b/TShockAPI/Permissions.cs index 897d28f7..369042a3 100644 --- a/TShockAPI/Permissions.cs +++ b/TShockAPI/Permissions.cs @@ -254,6 +254,9 @@ namespace TShockAPI // tshock.world nodes + [Description("User can change expert state.")] + public static readonly string toggleexpert = "tshock.world.toggleexpert"; + [Description("Allows you to edit the spawn.")] public static readonly string editspawn = "tshock.world.editspawn";