public static void TeleportHere(Sender sender, string[] commands) { if (sender is Player) { Player player = ((Player)sender); if (!player.Op) { player.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f); return; } // /tp <player> <toplayer> if (commands.Length > 1 && commands[1] != null && commands[1].Trim().Length > 0) { Player toplayer = Program.server.GetPlayerByName(commands[1].Trim()); if (toplayer == null) { sender.sendMessage("Could not find a Player on the Server"); return; } toplayer.teleportTo(player); Program.server.notifyOps("Teleported " + toplayer.Name + " to " + player.Name + " {" + sender.getName() + "}", true); return; } } else { goto ERROR; } ERROR: sender.sendMessage("Command Error!"); }
public static void Time(Sender sender, string[] commands) { if (sender is Player) { Player player = ((Player)sender); if (!player.Op) { player.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f); return; } } if (commands != null && commands.Length > 1) { if (commands[1] != null && commands[1].Length > 0) { string caseType = commands[1].Trim().ToLower(); switch (caseType) { case "set": { if (commands.Length > 2 && commands[2] != null && commands[2].Length > 0) { try { Program.server.getWorld().setTime(Double.Parse(commands[2]), true); } catch(Exception) { goto ERROR; } } else { goto ERROR; } break; } case "day": { Program.server.getWorld().setTime(13500.0); break; } case "dawn": { Program.server.getWorld().setTime(0); break; } case "dusk": { Program.server.getWorld().setTime(0, false, false); break; } case "noon": { Program.server.getWorld().setTime(27000.0); break; } case "night": { Program.server.getWorld().setTime(16200.0, false, false); break; } case "now": { string AP = "AM"; double time = Main.time; if (!Main.dayTime) { time += 54000.0; } time = time / 86400.0 * 24.0; double num2 = 7.5; //stuffs me at this stage time = time - num2 - 12.0; if (time < 0.0) { time += 24.0; } if (time >= 12.0) { AP = "PM"; } int Hours = (int)time; double Minutes = time - (double)Hours; string MinuteString = (Minutes * 60.0).ToString(); if (Minutes < 10.0) { MinuteString = "0" + MinuteString; } if (Hours > 12) { Hours -= 12; } if (Hours == 0) { Hours = 12; } if (MinuteString.Length > 2) { MinuteString = MinuteString.Substring(0, 2); } sender.sendMessage("Current Time: " + Hours + ":" + MinuteString + " " + AP); return; } default: { goto ERROR; } } NetMessage.SendData((int)Packet.WORLD_DATA); //Update Data Program.server.notifyAll("Time set to " + Server.time.ToString() + " by " + sender.getName()); return; } } ERROR: sender.sendMessage("Command Error!"); }
public static void OP(Sender sender, string[] commands, bool deop = false) { if (sender is Player) { Player player = ((Player)sender); if (!player.Op) { player.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f); return; } } if (((deop && commands.Length > 1) || (!deop && commands.Length > 2)) && commands[1] != null && (deop || commands[2] != null) && commands[1].Trim().Length > 0 && (deop || commands[2].Trim().Length > 0)) { string player_OP = commands[1].Trim().ToLower(); if (deop) { Program.server.notifyOps("De-Opping " + player_OP + " {" + sender.getName() + "}", true); if (Player.isInOpList(player_OP, Program.server)) { Program.server.OpList.removeException(player_OP + ":" + Player.getPassword(player_OP, Program.server)); } } else { string player_Password = commands[2].Trim().ToLower(); Program.server.notifyOps("Opping " + player_OP + " {" + sender.getName() + "}", true); Program.server.OpList.addException(player_OP + ":" + player_Password); } if (!Program.server.OpList.Save()) { Program.server.notifyOps("OpList Failed to Save due to " + sender.getName() + "'s command", true); } return; } else { goto ERROR; } ERROR: sender.sendMessage("Command Error!"); }
public static void OPLoginOut(Sender sender, string[] commands, bool logout = false) { if (sender is Player) { if (logout) { if (sender.Op) { sender.Op = false; sender.sendMessage("Successfully Logged Out."); } return; } if (commands.Length > 1 && commands[1] != null && commands[1].Trim().Length > 0) { string player_Password = commands[1].Trim().ToLower(); if (Player.isInOpList(sender.getName(), Program.server)) { if (((Player)sender).getPassword().Trim().ToLower() == player_Password) { sender.Op = true; sender.sendMessage("Successfully Logged in as OP."); } else { sender.sendMessage("Incorrect OP Password."); return; } } else { sender.sendMessage("You need to be Assiged OP Privledges."); return; } return; } else { goto ERROR; } ERROR: sender.sendMessage("Command Error!"); } }
public static void Kick(Sender sender, string[] commands) { if (sender is Player) { Player player = ((Player)sender); if (!player.Op) { player.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f); return; } } if (commands != null && commands.Length > 1) { if (commands[0] != null && commands[0].Length > 0) { Player banee = Program.server.GetPlayerByName(commands[1]); if (banee != null) { banee.Kick("You have been kicked from this Server."); } else { sender.sendMessage("Cannot find player online!."); } Program.server.notifyOps(sender.getName() + " has kicked " + commands[1], true); return; } } sender.sendMessage("Command Error!"); }
public static void Give(Sender sender, string[] commands) { if (sender is Player) { Player player = ((Player)sender); if (!player.Op) { player.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f); return; } } // /give <player> <stack> <name> if (commands.Length > 3 && commands[1] != null && commands[2] != null && commands[3] != null && commands[1].Trim().Length > 0 && commands[2].Trim().Length > 0 && commands[3].Trim().Length > 0) { string playerName = commands[1].Trim(); string itemName = MergeStringArray(commands); itemName = itemName.Remove(0, itemName.IndexOf(" " + commands[3])); Player player = Program.server.GetPlayerByName(playerName); if (player != null) { Item[] items = new Item[Main.maxItemTypes]; for (int i = 0; i < Main.maxItemTypes; i++) { items[i] = new Item(); items[i].SetDefaults(i); } Item item = null; itemName = itemName.Replace(" ", "").ToLower(); for (int i = 0; i < Main.maxItemTypes; i++) { if (items[i].Name != null) { string genItemName = items[i].Name.Replace(" ", "").Trim().ToLower(); if (genItemName == itemName) { item = items[i]; } } } int itemType = -1; bool assumed = false; if (item != null) { itemType = item.Type; } else { int assumedItem; try { assumedItem = Int32.Parse(itemName); } catch (Exception) { sender.sendMessage("Item '" + itemName + "' not found!"); return; } for (int i = 0; i < Main.maxItemTypes; i++) { if (items[i].Type == assumedItem) { itemType = items[i].Type; assumed = true; break; } } if (!assumed) { sender.sendMessage("Item '" + itemName + "' not found!"); return; } } //Clear Data for (int i = 0; i < Main.maxItemTypes; i++) { items[i] = null; } items = null; if (itemType != -1) { int stackSize; try { stackSize = Int32.Parse(commands[2]); } catch (Exception) { stackSize = 1; } Item.NewItem((int)player.Position.X, (int)player.Position.Y, player.width, player.height, itemType, stackSize, false); Program.server.notifyOps("Giving " + player.Name + " some " + itemType.ToString() + " {" + sender.getName() + "}", true); return; } } else { sender.sendMessage("Player '" + playerName + "' not found!"); return; } } else { goto ERROR; } ERROR: sender.sendMessage("Command Error!"); }
public static void BanList(Sender sender, string[] commands) { // /ban <player> // /unban <player> if (sender is Player) { Player player = ((Player)sender); if (!player.Op) { player.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f); return; } } if (commands != null && commands.Length > 1) { if (commands[0] != null && commands[0].Length > 0) { int caseType = -1; if (commands[0].Trim().ToLower().Equals("ban")) { caseType = 0; } else if (commands[0].Trim().ToLower().Equals("unban")) { caseType = 1; } switch (caseType) { case 0: { //We now should check to make sure they are off the server... Player banee = Program.server.GetPlayerByName(commands[1]); if (banee == null) { foreach (Player player in Program.server.getPlayerList()) { if (Netplay.serverSock[player.whoAmi].tcpClient.Client.RemoteEndPoint != null) { if (Netplay.serverSock[player.whoAmi].tcpClient.Client.RemoteEndPoint.ToString() .Split(':')[0].Equals(commands[1])) { banee = player; } } } } Program.server.BanList.addException(commands[1]); if (banee != null) { banee.Kick("You have been banned from this Server."); Program.server.BanList.addException(Netplay.serverSock[banee.whoAmi]. tcpClient.Client.RemoteEndPoint.ToString().Split(':')[0]); } break; } case 1: { Program.server.BanList.removeException(commands[1]); break; } default: { goto ERROR; } } Program.server.notifyOps(sender.getName() + " used Ban command case " + caseType + " for: " + commands[1], true); if (!Program.server.BanList.Save()) { Program.server.notifyOps("BanList Failed to Save due to " + sender.getName() + "'s command", true); } return; } } ERROR: sender.sendMessage("Command Error!"); }
public static void WhiteList(Sender sender, string[] commands) { // /whitelist <add:remove> <player> // arg 0 1 2 if (sender is Player) { Player player = ((Player)sender); if (!player.Op) { player.sendMessage("You Cannot Perform That Action.", 255, 238f, 130f, 238f); return; } } if (commands != null && commands.Length > 2) { if (commands[1] != null && commands[2] != null && commands[1].Length > 0 && commands[2].Length > 0) { string caseType = "ADD"; switch (commands[1].Trim().ToUpper()) { case "ADD": { Program.server.WhiteList.addException(commands[2]); break; } case "REMOVE": { Program.server.WhiteList.removeException(commands[2]); caseType = "REMOVE"; break; } default: { goto ERROR; } } Program.server.notifyOps(sender.getName() + " used WhiteList command " + caseType + " for: " + commands[2], true); if (!Program.server.WhiteList.Save()) { Program.server.notifyOps("WhiteList Failed to Save due to " + sender.getName() + "'s command", true); } return; } } ERROR: sender.sendMessage("Command args Error!"); }
/*public static void ConCmd_setgroup(string input) { string[] split = input.Split(' '); if (split.Length < 2) { Console.WriteLine("USAGE: setgroup [player] [group]"); return; } PlayerPermissions perm = Players.Find(item => item.Name == split[1]); if (perm == null) Players.Add(new PlayerPermissions(split[1], split[2], "", new List<string>())); else { int index = Players.IndexOf(perm); perm.Group = split[2]; Players[index] = perm; } Console.WriteLine("Reloading permissions..."); SavePermissions(); LoadPermissions(); Console.WriteLine("Permissions reloaded!"); } public static void ConCmd_reloadpermissions(string input) { Console.WriteLine("Reloading permissions..."); LoadPermissions(); Console.WriteLine("Permissions reloaded!"); } public static void ConCmd_savepermissions(string input) { Console.WriteLine("Saving permissions..."); SavePermissions(); Console.WriteLine("Permissions saved!"); } public static void ConCmd_addpermission(string input) { string[] split = input.Split(' '); if (split.Length < 2) { Console.WriteLine("USAGE: addpermission [player] [node]"); return; } PlayerPermissions perm = Players.Find(item => item.Name == split[1]); if (perm == null) Players.Add(new PlayerPermissions(split[1], "", "", new List<string>(new[] { split[2] }))); else { int index = Players.IndexOf(perm); perm.Nodes.Add(split[2]); Players[index] = perm; } Console.WriteLine("Reloading permissions..."); SavePermissions(); LoadPermissions(); Console.WriteLine("Permissions reloaded!"); } public static void ConCmd_haspermission(string input) { string[] split = input.Split(' '); if (split.Length < 2) { Console.WriteLine("USAGE: haspermission [player] [node]"); return; } Console.WriteLine(split[1] + (HasPermission(split[1], split[2]) ? " has" : " doesn't have") + " permissions for " + split[2]); }*/ public static bool HasPermission(Sender sender, string node) { return sender.getName() == "CONSOLE" || Players.Find(item => item.Name == sender.getName()).HasPermission(node); }