From 7bfd9d244e197c6d762d7af9a6a857319432b5ae Mon Sep 17 00:00:00 2001 From: Zack Piispanen Date: Mon, 9 Apr 2012 12:29:50 -0400 Subject: [PATCH] Added /modgroup add * [permissions] and /modgroup del * [permissions] to allow permissions to be applied to all groups. --- TShockAPI/Commands.cs | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 8667e7ab..41e8a213 100755 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -2028,16 +2028,42 @@ namespace TShockAPI String groupname = args.Parameters[0]; args.Parameters.RemoveAt(0); + string response = ""; if (com.Equals("add")) { - String response = TShock.Groups.AddPermissions(groupname, args.Parameters); + if( groupname == "*" ) + { + int count = 0; + foreach( Group g in TShock.Groups ) + { + response = TShock.Groups.AddPermissions(g.Name, args.Parameters); + if (!response.StartsWith("Error:")) + count++; + } + args.Player.SendMessage(String.Format("{0} groups were modified.", count ), Color.Green ); + return; + } + response = TShock.Groups.AddPermissions(groupname, args.Parameters); if (response.Length > 0) args.Player.SendMessage(response, Color.Green); return; } - else if (com.Equals("del") || com.Equals("delete")) - { - String response = TShock.Groups.DeletePermissions(groupname, args.Parameters); + + if (com.Equals("del") || com.Equals("delete")) + { + if (groupname == "*") + { + int count = 0; + foreach (Group g in TShock.Groups) + { + response = TShock.Groups.DeletePermissions(g.Name, args.Parameters); + if (!response.StartsWith("Error:")) + count++; + } + args.Player.SendMessage(String.Format("{0} groups were modified.", count), Color.Green); + return; + } + response = TShock.Groups.DeletePermissions(groupname, args.Parameters); if (response.Length > 0) args.Player.SendMessage(response, Color.Green); return;