diff --git a/MCGalaxy/CorePlugin/ChatHandler.cs b/MCGalaxy/CorePlugin/ChatHandler.cs
index 8b5e21975..bbc73ca78 100644
--- a/MCGalaxy/CorePlugin/ChatHandler.cs
+++ b/MCGalaxy/CorePlugin/ChatHandler.cs
@@ -48,7 +48,7 @@ namespace MCGalaxy.Core {
}
}
- internal static void HandleCommand(Player p, string cmd, string args) {
+ internal static void HandleCommand(Player p, string cmd, string args, CommandData data) {
if (!ServerConfig.CoreSecretCommands) return;
// DO NOT REMOVE THE TWO COMMANDS BELOW, /PONY AND /RAINBOWDASHLIKESCOOLTHINGS. -EricKilla
diff --git a/MCGalaxy/Events/PlayerEvents.cs b/MCGalaxy/Events/PlayerEvents.cs
index 9a308d5e5..47d27745c 100644
--- a/MCGalaxy/Events/PlayerEvents.cs
+++ b/MCGalaxy/Events/PlayerEvents.cs
@@ -63,15 +63,15 @@ namespace MCGalaxy.Events.PlayerEvents {
}
}
- public delegate void OnPlayerCommand(Player p, string cmd, string args);
+ public delegate void OnPlayerCommand(Player p, string cmd, string args, CommandData data);
/// Called whenever a player uses a command.
/// You must cancel this event to prevent "Unknown command!" being shown.
public sealed class OnPlayerCommandEvent : IEvent {
- public static void Call(Player p, string cmd, string args) {
+ public static void Call(Player p, string cmd, string args, CommandData data) {
IEvent[] items = handlers.Items;
for (int i = 0; i < items.Length; i++) {
- try { items[i].method(p, cmd, args); }
+ try { items[i].method(p, cmd, args, data); }
catch (Exception ex) { LogHandlerException(ex, items[i]); }
}
}
diff --git a/MCGalaxy/Games/CTF/CtfGame.Plugin.cs b/MCGalaxy/Games/CTF/CtfGame.Plugin.cs
index 925b483ef..1b84ac0cc 100644
--- a/MCGalaxy/Games/CTF/CtfGame.Plugin.cs
+++ b/MCGalaxy/Games/CTF/CtfGame.Plugin.cs
@@ -73,17 +73,17 @@ namespace MCGalaxy.Games {
p.cancelchat = true;
}
- void HandlePlayerCommand(Player p, string cmd, string args) {
+ void HandlePlayerCommand(Player p, string cmd, string args, CommandData data) {
if (p.level != Map || cmd != "teamchat") return;
- CtfData data = Get(p);
+ CtfData data_ = Get(p);
- if (data.TeamChatting) {
+ if (data_.TeamChatting) {
p.Message("You are no longer chatting with your team!");
} else {
p.Message("You are now chatting with your team!");
}
- data.TeamChatting = !data.TeamChatting;
+ data_.TeamChatting = !data_.TeamChatting;
p.cancelcommand = true;
}
diff --git a/MCGalaxy/Player/Player.Handlers.cs b/MCGalaxy/Player/Player.Handlers.cs
index 2729f83d4..2dbf0a35b 100644
--- a/MCGalaxy/Player/Player.Handlers.cs
+++ b/MCGalaxy/Player/Player.Handlers.cs
@@ -602,7 +602,7 @@ namespace MCGalaxy {
public void HandleCommand(string cmd, string args, CommandData data) {
cmd = cmd.ToLower();
try {
- Command command = GetCommand(ref cmd, ref args);
+ Command command = GetCommand(ref cmd, ref args, data);
if (command == null) return;
Thread thread = new Thread(() => UseCommand(command, args, data));
@@ -623,7 +623,7 @@ namespace MCGalaxy {
string cmd = parts[0].ToLower();
string args = parts.Length > 1 ? parts[1] : "";
- Command command = GetCommand(ref cmd, ref args);
+ Command command = GetCommand(ref cmd, ref args, data);
if (command == null) return;
messages.Add(args); commands.Add(command);
@@ -659,7 +659,7 @@ namespace MCGalaxy {
return true;
}
- Command GetCommand(ref string cmdName, ref string cmdArgs) {
+ Command GetCommand(ref string cmdName, ref string cmdArgs, CommandData data) {
if (!CheckCommand(cmdName)) return null;
Command.Search(ref cmdName, ref cmdArgs);
@@ -674,7 +674,7 @@ namespace MCGalaxy {
cmdArgs = cmdArgs.TrimEnd(' ');
}
- OnPlayerCommandEvent.Call(this, cmdName, cmdArgs);
+ OnPlayerCommandEvent.Call(this, cmdName, cmdArgs, data);
if (cancelcommand) { cancelcommand = false; return null; }
Command command = Command.Find(cmdName);
diff --git a/MCGalaxy/Player/SpamChecker.cs b/MCGalaxy/Player/SpamChecker.cs
index 68718711a..2f964e057 100644
--- a/MCGalaxy/Player/SpamChecker.cs
+++ b/MCGalaxy/Player/SpamChecker.cs
@@ -63,7 +63,7 @@ namespace MCGalaxy {
return false;
TimeSpan duration = TimeSpan.FromSeconds(ServerConfig.ChatSpamMuteTime);
- ModAction action = new ModAction(p.name, null, ModActionType.Muted, "&0Auto mute for spamming", duration);
+ ModAction action = new ModAction(p.name, Player.Console, ModActionType.Muted, "&0Auto mute for spamming", duration);
OnModActionEvent.Call(action);
return true;
}