public override void Execute(ICommandSender sender, string label, string[] args, string origMessage) { if (args.Length == 0) { Server.LoadServerSettingsFromFile(); sender.SendChat("Server fully reloaded!"); } else if (args.Length >= 1) { switch (args[0]) { case "plugins": ReloadPlugins(); sender.SendChat("Reloaded all plugins.", TextColor.Green); break; case "config": ReloadConfig(); sender.SendChat("Server config has been reloaded from file.", TextColor.Green); break; default: ReloadPlugins(); ReloadConfig(); sender.SendChat("Server fully reloaded!", TextColor.Green); break; } } }
public override void Execute(ICommandSender sender, string label, string[] args, string origMessage) { var average = Globals.LevelManager.MainLevel.AvgTps(); var exact = Globals.LevelManager.MainLevel.CalculateTps(); var color = "a"; if (exact <= 10) { color = "c"; } if (exact <= 15 && exact > 10) { color = "e"; } sender.SendChat("TPS: §" + color + exact); sender.SendChat("Miliseconds in Tick: " + average + "ms"); }
public override void Execute(ICommandSender sender, string label, string[] args, string origMessage) { if (sender.IsPlayer()) { if (args.Length == 0) { sender.SendChat("Your current gamemode is [" + ((Player)sender).Gamemode + "]", TextColor.Gray); } else if (args.Length >= 1) { switch (args[0].ToLower()) { case "0": case "s": case "survival": ((Player)sender).SetGamemode(Gamemode.Survival); break; case "3": case "sp": case "spectator": ((Player)sender).SetGamemode(Gamemode.Spectator); break; case "2": case "a": case "adventure": ((Player)sender).SetGamemode(Gamemode.Adventure); break; default: ((Player)sender).SetGamemode(Gamemode.Creative); break; } } sender.SendChat($"Set your gamemode to [{((Player) sender).Gamemode}]", TextColor.Green); } else { ConsoleFunctions.WriteInfoLine("Cannot change gamemode through console."); } }
public override void Execute(ICommandSender sender, string label, string[] args, string origMessage) { if (sender.IsPlayer()) { var player = (Player)sender; if (args.Length == 0) { sender.SendChat($"Current level: {player.Level.LvlName}"); return; } var level = Globals.LevelManager.GetLevel(args[0]); if (level == null) { sender.SendChat("That level doesn't exist!", TextColor.Red); return; } Globals.LevelManager.TeleportToLevel(player, level); } else { ConsoleFunctions.WriteInfoLine("Cannot teleport console."); } }
public virtual IEnumerable <string> ParseTab(ICommandSender sender, string message, string prefix) { if (string.IsNullOrEmpty(message)) { var strings = new List <string>(); foreach (var keyValuePair in CommandMap) { strings.AddRange(keyValuePair.Key); } return(strings); } var origMessage = message; try { message = message.Trim(); while (message.Contains(" ")) { message = message.Replace(" ", " "); } var split = message.Split(' '); var command = GetCommand(split[0]); if (command == default(Command)) { return(new List <string>()); } string[] args; if (split.Length > 1) { args = new string[split.Length - 1]; Array.Copy(split, 1, args, 0, split.Length - 1); } else { args = new string[0]; } return(command.TabComplete(sender, split[0], args, origMessage).ToList()); } catch (Exception ex) { ConsoleFunctions.WriteWarningLine(ex.ToString()); sender.SendChat("An error occured when tab-completing the command.", TextColor.Red); } return(new List <string>()); }
public virtual void ParseCommand(ICommandSender sender, string message, string prefix) { var origMessage = message; try { message = message.Trim(); while (message.Contains(" ")) { message = message.Replace(" ", " "); } var split = message.Split(' '); var label = split.Length == 1 ? message : message.Substring(0, message.IndexOf(' ')); var command = GetCommand(label); { var e = new CommandEvent(sender, command, origMessage, label, prefix, this, EventType.Pre); EventManager.CallEvent(e); if (e.Cancelled) { return; } if (e.Message != origMessage) { origMessage = e.Message; message = origMessage.Trim(); while (message.Contains(" ")) { message = message.Replace(" ", " "); } split = message.Split(' '); } command = e.Command; sender = e.Sender; label = e.Label; prefix = e.Prefix; } if (command == default(Command)) { UnknownCommand(sender, label); return; } string[] args; if (split.Length > 1) { args = new string[split.Length - 1]; Array.Copy(split, 1, args, 0, split.Length - 1); } else { args = new string[0]; } command.Execute(sender, label, args, origMessage); { var e = new CommandEvent(sender, command, origMessage, label, prefix, this, EventType.Post); EventManager.CallEvent(e); } } catch (Exception ex) { ConsoleFunctions.WriteWarningLine(ex.ToString()); sender.SendChat("An error occured when executing this command.", TextColor.Red); } }
protected virtual void UnknownCommand(ICommandSender sender, string label) { sender.SendChat("Unknown command: " + label, TextColor.Red); }
public override void Execute(ICommandSender sender, string label, string[] args, string rawMessage) { sender.SendChat("Example command! RawMessage: " + rawMessage); }
public override void Execute(ICommandSender sender, string label, string[] args, string origMessage) { if (args.Length > 0 && args[0].ToLower().Equals("send")) { sender.SendChat(new ChatText("Black ", TextColor.Black) { Next = new ChatText("DarkBlue ", TextColor.DarkBlue) { Next = new ChatText("DarkGreen ", TextColor.DarkGreen) { Next = new ChatText("DarkAqua ", TextColor.DarkAqua) { Next = new ChatText("DarkRed ", TextColor.DarkRed) { Next = new ChatText("DarkPurple ", TextColor.DarkPurple) { Next = new ChatText("Gold ", TextColor.Gold) { Next = new ChatText("Gray ", TextColor.Gray) { Next = new ChatText("DarkGray ", TextColor.DarkGray) { Next = new ChatText("Blue ", TextColor.Blue) { Next = new ChatText("Green ", TextColor.Green) { Next = new ChatText("Aqua ", TextColor.Aqua) { Next = new ChatText("Red ", TextColor.Red) { Next = new ChatText("Purple ", TextColor.Purple) { Next = new ChatText("Yellow ", TextColor.Yellow) { Next = new ChatText("White ", TextColor.White) } } } } } } } } } } } } } } }); sender.SendChat(new ChatText("Black ", TextColor.Black, TextColor.Bold) { Next = new ChatText("DarkBlue ", TextColor.DarkBlue, TextColor.Bold) { Next = new ChatText("DarkGreen ", TextColor.DarkGreen, TextColor.Bold) { Next = new ChatText("DarkAqua ", TextColor.DarkAqua, TextColor.Bold) { Next = new ChatText("DarkRed ", TextColor.DarkRed, TextColor.Bold) { Next = new ChatText("DarkPurple ", TextColor.DarkPurple, TextColor.Bold) { Next = new ChatText("Gold ", TextColor.Gold, TextColor.Bold) { Next = new ChatText("Gray ", TextColor.Gray, TextColor.Bold) { Next = new ChatText("DarkGray ", TextColor.DarkGray, TextColor.Bold) { Next = new ChatText("Blue ", TextColor.Blue, TextColor.Bold) { Next = new ChatText("Green ", TextColor.Green, TextColor.Bold) { Next = new ChatText("Aqua ", TextColor.Aqua, TextColor.Bold) { Next = new ChatText("Red ", TextColor.Red, TextColor.Bold) { Next = new ChatText("Purple ", TextColor.Purple, TextColor.Bold) { Next = new ChatText("Yellow ", TextColor.Yellow, TextColor.Bold) { Next = new ChatText("White Bold", TextColor.White, TextColor.Bold) } } } } } } } } } } } } } } }); sender.SendChat(new ChatText("Black ", TextColor.Black, TextColor.Italic) { Next = new ChatText("DarkBlue ", TextColor.DarkBlue, TextColor.Italic) { Next = new ChatText("DarkGreen ", TextColor.DarkGreen, TextColor.Italic) { Next = new ChatText("DarkAqua ", TextColor.DarkAqua, TextColor.Italic) { Next = new ChatText("DarkRed ", TextColor.DarkRed, TextColor.Italic) { Next = new ChatText("DarkPurple ", TextColor.DarkPurple, TextColor.Italic) { Next = new ChatText("Gold ", TextColor.Gold, TextColor.Italic) { Next = new ChatText("Gray ", TextColor.Gray, TextColor.Italic) { Next = new ChatText("DarkGray ", TextColor.DarkGray, TextColor.Italic) { Next = new ChatText("Blue ", TextColor.Blue, TextColor.Italic) { Next = new ChatText("Green ", TextColor.Green, TextColor.Italic) { Next = new ChatText("Aqua ", TextColor.Aqua, TextColor.Italic) { Next = new ChatText("Red ", TextColor.Red, TextColor.Italic) { Next = new ChatText("Purple ", TextColor.Purple, TextColor.Italic) { Next = new ChatText("Yellow ", TextColor.Yellow, TextColor.Italic) { Next = new ChatText("White Italic", TextColor.White, TextColor.Italic) } } } } } } } } } } } } } } }); sender.SendChat(new ChatText("Black ", TextColor.Black, TextColor.Underline) { Next = new ChatText("DarkBlue ", TextColor.DarkBlue, TextColor.Underline) { Next = new ChatText("DarkGreen ", TextColor.DarkGreen, TextColor.Underline) { Next = new ChatText("DarkAqua ", TextColor.DarkAqua, TextColor.Underline) { Next = new ChatText("DarkRed ", TextColor.DarkRed, TextColor.Underline) { Next = new ChatText("DarkPurple ", TextColor.DarkPurple, TextColor.Underline) { Next = new ChatText("Gold ", TextColor.Gold, TextColor.Underline) { Next = new ChatText("Gray ", TextColor.Gray, TextColor.Underline) { Next = new ChatText("DarkGray ", TextColor.DarkGray, TextColor.Underline) { Next = new ChatText("Blue ", TextColor.Blue, TextColor.Underline) { Next = new ChatText("Green ", TextColor.Green, TextColor.Underline) { Next = new ChatText("Aqua ", TextColor.Aqua, TextColor.Underline) { Next = new ChatText("Red ", TextColor.Red, TextColor.Underline) { Next = new ChatText("Purple ", TextColor.Purple, TextColor.Underline) { Next = new ChatText("Yellow ", TextColor.Yellow, TextColor.Underline) { Next = new ChatText("White Underline", TextColor.White, TextColor.Underline) } } } } } } } } } } } } } } }); sender.SendChat(new ChatText("Black ", TextColor.Black, TextColor.Strikethrough) { Next = new ChatText("DarkBlue ", TextColor.DarkBlue, TextColor.Strikethrough) { Next = new ChatText("DarkGreen ", TextColor.DarkGreen, TextColor.Strikethrough) { Next = new ChatText("DarkAqua ", TextColor.DarkAqua, TextColor.Strikethrough) { Next = new ChatText("DarkRed ", TextColor.DarkRed, TextColor.Strikethrough) { Next = new ChatText("DarkPurple ", TextColor.DarkPurple, TextColor.Strikethrough) { Next = new ChatText("Gold ", TextColor.Gold, TextColor.Strikethrough) { Next = new ChatText("Gray ", TextColor.Gray, TextColor.Strikethrough) { Next = new ChatText("DarkGray ", TextColor.DarkGray, TextColor.Strikethrough) { Next = new ChatText("Blue ", TextColor.Blue, TextColor.Strikethrough) { Next = new ChatText("Green ", TextColor.Green, TextColor.Strikethrough) { Next = new ChatText("Aqua ", TextColor.Aqua, TextColor.Strikethrough) { Next = new ChatText("Red ", TextColor.Red, TextColor.Strikethrough) { Next = new ChatText("Purple ", TextColor.Purple, TextColor.Strikethrough) { Next = new ChatText("Yellow ", TextColor.Yellow, TextColor.Strikethrough) { Next = new ChatText("White Strikethrough", TextColor.White, TextColor.Strikethrough) } } } } } } } } } } } } } } }); sender.SendChat(new ChatText("Black ", TextColor.Black, TextColor.Obfuscated) { Next = new ChatText("DarkBlue ", TextColor.DarkBlue, TextColor.Obfuscated) { Next = new ChatText("DarkGreen ", TextColor.DarkGreen, TextColor.Obfuscated) { Next = new ChatText("DarkAqua ", TextColor.DarkAqua, TextColor.Obfuscated) { Next = new ChatText("DarkRed ", TextColor.DarkRed, TextColor.Obfuscated) { Next = new ChatText("DarkPurple ", TextColor.DarkPurple, TextColor.Obfuscated) { Next = new ChatText("Gold ", TextColor.Gold, TextColor.Obfuscated) { Next = new ChatText("Gray ", TextColor.Gray, TextColor.Obfuscated) { Next = new ChatText("DarkGray ", TextColor.DarkGray, TextColor.Obfuscated) { Next = new ChatText("Blue ", TextColor.Blue, TextColor.Obfuscated) { Next = new ChatText("Green ", TextColor.Green, TextColor.Obfuscated) { Next = new ChatText("Aqua ", TextColor.Aqua, TextColor.Obfuscated) { Next = new ChatText("Red ", TextColor.Red, TextColor.Obfuscated) { Next = new ChatText("Purple ", TextColor.Purple, TextColor.Obfuscated) { Next = new ChatText("Yellow ", TextColor.Yellow, TextColor.Obfuscated) { Next = new ChatText("White Obfuscated", TextColor.White, TextColor.Obfuscated) } } } } } } } } } } } } } } }); } var joinedArgs = string.Join(",", args); sender.SendChat($"Label: {label} Args: {{{joinedArgs}}}"); }
public override void Execute(ICommandSender sender, string label, string[] args, string origMessage) { var joinedArgs = string.Join(",", args); sender.SendChat($"Label: {label} Args: {{{joinedArgs}}}"); }
public override void Execute(ICommandSender sender, string label, string[] args, string origMessage) { if (sender.IsPlayer()) { var player = (Player)sender; if (args.Length != 3 && args.Length != 5) { SendUsage(sender, label); return; } //player.Teleport(new PlayerLocation(player.KnownPosition.X, 80, player.KnownPosition.Z)); //todo: ~ is relative then get int from arg and tell player if it's not a number var rotation = args.Length == 5; var relX = args[0].StartsWith("~"); var relY = args[1].StartsWith("~"); var relZ = args[2].StartsWith("~"); double posX = 0; double posY = 0; double posZ = 0; var yaw = player.KnownPosition.Yaw; var pitch = player.KnownPosition.Pitch; var msg = "x"; var attemptConversion = ""; try { if (!relX || args[0].Length > 1) { posX = Convert.ToDouble(attemptConversion = relX ? args[0].Substring(1) : args[0]); } msg = "y"; if (!relY || args[1].Length > 1) { posY = Convert.ToDouble(attemptConversion = relY ? args[1].Substring(1) : args[1]); } msg = "z"; if (!relZ || args[2].Length > 1) { posZ = Convert.ToDouble(attemptConversion = relZ ? args[2].Substring(1) : args[2]); } if (rotation) { msg = "yaw"; yaw = (float)Convert.ToDouble(attemptConversion = args[3]); msg = "pitch"; pitch = (float)Convert.ToDouble(attemptConversion = args[4]); } } catch (FormatException e) { sender.SendChat($"Not a number argument {msg}: {attemptConversion}"); return; } player.Teleport(new PlayerLocation(posX += (relX ? player.KnownPosition.X : 0), posY += (relY ? player.KnownPosition.Y : 0), posZ += (relZ ? player.KnownPosition.Z : 0), yaw, pitch)); sender.SendChat($"Teleported to: {posX}, {posY}, {posZ}" + (rotation ? $", {yaw}, {pitch}" : "")); } else { ConsoleFunctions.WriteInfoLine("Cannot teleport console."); } }
public void SendUsage(ICommandSender sender, string label) { sender.SendChat(GetUsage(label)); }
public override void Execute(ICommandSender sender, string label, string[] args, string origMessage) { var enabledPlugins = PluginManager.Plugins.Where(o => o.Value == PluginState.Enabled); var enabledText = new ChatText($"Enabled Plugins: ", TextColor.Green); var enabledList = enabledPlugins as KeyValuePair <IPlugin, PluginState>[] ?? enabledPlugins.ToArray(); enabledText.SetNext(new ChatText($"({enabledList.Count()}) ", TextColor.Reset)); ChatText last = null; foreach (var pair in enabledList) { enabledText.SetNext(last = new ChatText($"{pair.Key.GetName()}, ")); } if (last != null) { last.Text = last.Text.Substring(0, last.Text.Length - 2) + "."; } sender.SendChat(enabledText); var loadedPlugins = PluginManager.Plugins.Where(o => o.Value == PluginState.Loaded); var loadedText = new ChatText($"Loaded Plugins: ", TextColor.Gray); var loadedList = loadedPlugins as KeyValuePair <IPlugin, PluginState>[] ?? loadedPlugins.ToArray(); loadedText.SetNext(new ChatText($"({loadedList.Count()}) ", TextColor.Reset)); last = null; foreach (var pair in loadedList) { loadedText.SetNext(last = new ChatText($"{pair.Key.GetName()}, ")); } if (last != null) { last.Text = last.Text.Substring(0, last.Text.Length - 2) + "."; } sender.SendChat(loadedText); var disabledPlugins = PluginManager.Plugins.Where(o => o.Value == PluginState.Disabled); var disabledText = new ChatText($"Disabled Plugins: ", TextColor.Red); var disabledList = disabledPlugins as KeyValuePair <IPlugin, PluginState>[] ?? disabledPlugins.ToArray(); disabledText.SetNext(new ChatText($"({disabledList.Count()}) ", TextColor.Reset)); last = null; foreach (var pair in disabledList) { disabledText.SetNext(last = new ChatText($"{pair.Key.GetName()}, ")); } if (last != null) { last.Text = last.Text.Substring(0, last.Text.Length - 2) + "."; } sender.SendChat(disabledText); var failedPlugins = PluginManager.Plugins.Where(o => o.Value == PluginState.Failed); var failedText = new ChatText($"Failed Plugins: ", TextColor.DarkRed); var failedList = failedPlugins as KeyValuePair <IPlugin, PluginState>[] ?? failedPlugins.ToArray(); failedText.SetNext(new ChatText($"({failedList.Count()}) ", TextColor.Reset)); last = null; foreach (var pair in failedList) { failedText.SetNext(last = new ChatText($"{pair.Key.GetName()}, ")); } if (last != null) { last.Text = last.Text.Substring(0, last.Text.Length - 2) + "."; } sender.SendChat(failedText); }