Added a Run overload to Command.
The overload executes the CommandArgs you want.
This commit is contained in:
parent
ffed36c6fd
commit
380f823e61
1 changed files with 15 additions and 5 deletions
|
|
@ -148,24 +148,29 @@ namespace TShockAPI
|
||||||
Permissions = new List<string>();
|
Permissions = new List<string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Run(string msg, bool silent, TSPlayer ply, List<string> parms)
|
public bool Run(CommandArgs args)
|
||||||
{
|
{
|
||||||
if (!CanRun(ply))
|
if (!CanRun(args.Player))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
CommandDelegate(new CommandArgs(msg, silent, ply, parms));
|
CommandDelegate(args);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
ply.SendErrorMessage(GetString("Command failed, check logs for more details."));
|
args.Player.SendErrorMessage(GetString("Command failed, check logs for more details."));
|
||||||
TShock.Log.Error(e.ToString());
|
TShock.Log.Error(e.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool Run(string msg, bool silent, TSPlayer ply, List<string> parms)
|
||||||
|
{
|
||||||
|
return Run(new CommandArgs(msg, silent, ply, parms));
|
||||||
|
}
|
||||||
|
|
||||||
public bool Run(string msg, TSPlayer ply, List<string> parms)
|
public bool Run(string msg, TSPlayer ply, List<string> parms)
|
||||||
{
|
{
|
||||||
return Run(msg, false, ply, parms);
|
return Run(msg, false, ply, parms);
|
||||||
|
|
@ -704,7 +709,12 @@ namespace TShockAPI
|
||||||
TShock.Utils.SendLogs(GetString("{0} executed: {1}{2}.", player.Name, silent ? SilentSpecifier : Specifier, cmdText), Color.PaleVioletRed, player);
|
TShock.Utils.SendLogs(GetString("{0} executed: {1}{2}.", player.Name, silent ? SilentSpecifier : Specifier, cmdText), Color.PaleVioletRed, player);
|
||||||
else
|
else
|
||||||
TShock.Utils.SendLogs(GetString("{0} executed (args omitted): {1}{2}.", player.Name, silent ? SilentSpecifier : Specifier, cmdName), Color.PaleVioletRed, player);
|
TShock.Utils.SendLogs(GetString("{0} executed (args omitted): {1}{2}.", player.Name, silent ? SilentSpecifier : Specifier, cmdName), Color.PaleVioletRed, player);
|
||||||
cmd.Run(cmdText, silent, player, args);
|
|
||||||
|
CommandArgs arguments = new CommandArgs(cmdText, silent, player, args);
|
||||||
|
bool handled = PlayerHooks.OnPrePlayerCommand(cmd, ref arguments);
|
||||||
|
if (!handled)
|
||||||
|
cmd.Run(arguments);
|
||||||
|
PlayerHooks.OnPostPlayerCommand(cmd, arguments, handled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue