Fix automute, add data to OnPlayerCommand event.

This commit is contained in:
UnknownShadow200 2018-07-11 11:16:26 +10:00
parent f5de158981
commit fc2f3da646
5 changed files with 13 additions and 13 deletions

View File

@ -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; if (!ServerConfig.CoreSecretCommands) return;
// DO NOT REMOVE THE TWO COMMANDS BELOW, /PONY AND /RAINBOWDASHLIKESCOOLTHINGS. -EricKilla // DO NOT REMOVE THE TWO COMMANDS BELOW, /PONY AND /RAINBOWDASHLIKESCOOLTHINGS. -EricKilla

View File

@ -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);
/// <summary> Called whenever a player uses a command. </summary> /// <summary> Called whenever a player uses a command. </summary>
/// <remarks> You must cancel this event to prevent "Unknown command!" being shown. </remarks> /// <remarks> You must cancel this event to prevent "Unknown command!" being shown. </remarks>
public sealed class OnPlayerCommandEvent : IEvent<OnPlayerCommand> { public sealed class OnPlayerCommandEvent : IEvent<OnPlayerCommand> {
public static void Call(Player p, string cmd, string args) { public static void Call(Player p, string cmd, string args, CommandData data) {
IEvent<OnPlayerCommand>[] items = handlers.Items; IEvent<OnPlayerCommand>[] items = handlers.Items;
for (int i = 0; i < items.Length; i++) { 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]); } catch (Exception ex) { LogHandlerException(ex, items[i]); }
} }
} }

View File

@ -73,17 +73,17 @@ namespace MCGalaxy.Games {
p.cancelchat = true; 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; 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!"); p.Message("You are no longer chatting with your team!");
} else { } else {
p.Message("You are now chatting with your team!"); p.Message("You are now chatting with your team!");
} }
data.TeamChatting = !data.TeamChatting; data_.TeamChatting = !data_.TeamChatting;
p.cancelcommand = true; p.cancelcommand = true;
} }

View File

@ -602,7 +602,7 @@ namespace MCGalaxy {
public void HandleCommand(string cmd, string args, CommandData data) { public void HandleCommand(string cmd, string args, CommandData data) {
cmd = cmd.ToLower(); cmd = cmd.ToLower();
try { try {
Command command = GetCommand(ref cmd, ref args); Command command = GetCommand(ref cmd, ref args, data);
if (command == null) return; if (command == null) return;
Thread thread = new Thread(() => UseCommand(command, args, data)); Thread thread = new Thread(() => UseCommand(command, args, data));
@ -623,7 +623,7 @@ namespace MCGalaxy {
string cmd = parts[0].ToLower(); string cmd = parts[0].ToLower();
string args = parts.Length > 1 ? parts[1] : ""; 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; if (command == null) return;
messages.Add(args); commands.Add(command); messages.Add(args); commands.Add(command);
@ -659,7 +659,7 @@ namespace MCGalaxy {
return true; 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; if (!CheckCommand(cmdName)) return null;
Command.Search(ref cmdName, ref cmdArgs); Command.Search(ref cmdName, ref cmdArgs);
@ -674,7 +674,7 @@ namespace MCGalaxy {
cmdArgs = cmdArgs.TrimEnd(' '); cmdArgs = cmdArgs.TrimEnd(' ');
} }
OnPlayerCommandEvent.Call(this, cmdName, cmdArgs); OnPlayerCommandEvent.Call(this, cmdName, cmdArgs, data);
if (cancelcommand) { cancelcommand = false; return null; } if (cancelcommand) { cancelcommand = false; return null; }
Command command = Command.Find(cmdName); Command command = Command.Find(cmdName);

View File

@ -63,7 +63,7 @@ namespace MCGalaxy {
return false; return false;
TimeSpan duration = TimeSpan.FromSeconds(ServerConfig.ChatSpamMuteTime); 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); OnModActionEvent.Call(action);
return true; return true;
} }