Esempio n. 1
0
        public override void Use(Player p, params string[] args)
        {
            int port = 25565;

            if (args.Length == 0)
            {
                if (!p.IsConsole) p.SendMessage("Checking port....");
                else Logger.Log("Checking Port...");
                checkport(25565, p);
            }
            else if (args.Length == 1)
            {
                try
                {
                    port = Convert.ToInt32(args[0]);
                    if (!p.IsConsole) p.SendMessage("Checking port....");
                    else Logger.Log("Checking Port...");
                    checkport(port, p);
                }
                catch (Exception)
                {
                    if (!p.IsConsole) p.SendMessage("port must be a number");
                    else Logger.Log("Port must be a number");
                }
            }
        }
Esempio n. 2
0
 public override void Use(Player p, params string[] args)
 {
     switch (args.Length)
     {
         case 1:
             try { if (World.Find(args[0]) == null) { World.LoadLVL(args[0]); p.SendMessage("Loaded " + args[0]); } else p.SendMessage("Level already loaded."); }
             catch { p.SendMessage("Failed to Load " + args[0]); }
             break;
         default:
             Help(p);
             break;
     }
 }
Esempio n. 3
0
 public override void Help(Player p)
 {
     if (p.IsConsole)
     {
         Logger.Log("/checkport or /cp");
         Logger.Log("OPTIONAL you can specify another port by doing /cp <port>");
     }
     else
     {
         p.SendMessage("/checkport or /cp");
         p.SendMessage("OPTIONAL you can specify another port by doing /cp <port>");
     }
 }
Esempio n. 4
0
 public override void Use(Player p, params string[] args)
 {
     if (p == null) { p.SendMessage("You can't execute this command as console!"); return; }
     string line = "NONE";
     foreach (string line2 in Server.homedata.ToArray())
     {
         if (line2.Contains(p.username.ToLower()))
         {
             line = line2;
         }
     }
     if (line == "NONE") { p.SendMessage("You haven't set a home yet! Use /sethome"); return; }
     p.Teleport_Player(Convert.ToDouble(line.Split('|')[1]), Convert.ToDouble(line.Split('|')[2]), Convert.ToDouble(line.Split('|')[3]));
     p.SendMessage("You have been teleported to your home!");
 }
Esempio n. 5
0
        public override void Use(Player p, params string[] args)
        {
            if (args.Length == 0)
            {
                Help(p);
                return;
            }

            Player pr = Player.FindPlayer(args[0]);
            if (pr == null)
            {
                p.SendMessage(HelpBot + "Could not find player.");
                return;
            }
            if (pr == p)
            {
                p.SendMessage(HelpBot + "You can't promote yourself.");
                return;
            }
            if (GroupUtils.PromotePlayer(pr))
            {
                p.SendMessage(HelpBot + "Player promoted.");
                pr.SendMessage(HelpBot + p.username + " promoted you. Congratulations!");
            }
            else
                p.SendMessage(HelpBot + "Could not promote player");
        }
Esempio n. 6
0
 public override void Use(Player p, params string[] args)
 {
     switch (args.Length)
     {
         case 0:
             World.SaveLVL(p.level); p.SendMessage("Saved " + p.level.name); break;
         case 1:
             World w = World.Find(args[0]);
             if (w == null) { p.SendMessage("Spcified world does not exist: " + p.level.name); return; }
             World.SaveLVL(w); p.SendMessage("Saved " + w.name);
             break;
         default:
             Help(p);
             break;
     }
 }
Esempio n. 7
0
 public override void Use(Player p, params string[] args)
 {
     if (args.Length != 1) { Help(p); return; }
     int radius;
     try
     {
         radius = Convert.ToInt32(args[0]);
     }
     catch
     {
         p.SendMessage("Invalid radius.");
         return;
     }
     if (radius > 15)
     {
         p.SendMessage("Radius too big");
         return;
     }
     if (radius < 3)
     {
         p.SendMessage("Radius too small");
         return;
     }
     p.viewdistance = radius;
 }
Esempio n. 8
0
        public override void Use(Player p, params string[] args)
        {
            SpheroidData cd; cd.x = 0; cd.y = 0; cd.z = 0;
            cd.type = -1; cd.vertical = false;

            if (args.Length >= 2)
            {
                try { cd.type = Convert.ToInt16(args[0]); }
                catch { cd.type = FindBlocks.FindBlock(args[0]); }
                if (!FindBlocks.ValidBlock(cd.type)) { p.SendMessage("There is no block \"" + args[0] + "\"."); return; }

                cd.vertical = (args[1].ToLower() == "vertical");
            }
            else if (args.Length >= 1)
            {
                cd.vertical = (args[0].ToLower() == "vertical");

                if (!cd.vertical)
                {
                    try { cd.type = Convert.ToInt16(args[0]); }
                    catch { cd.type = FindBlocks.FindBlock(args[0]); }
                    if (!FindBlocks.ValidBlock(cd.type)) { p.SendMessage("There is no block \"" + args[0] + "\"."); return; }
                }
            }

            p.ClearBlockChange();
            p.BlockChangeObject = cd;
            p.OnBlockChange += Blockchange1;
            p.SendMessage("Place/delete a block at 2 corners for the spheroid.");
        }
Esempio n. 9
0
 public override void Use(Player p, params string[] args)
 {
     if (args.Length == 0) { Help(p); return; }
     else if (args.Length == 1)
     {
         Random rand = new Random();
         int seed = new Random().Next();
         p.SendMessage("Creating world with seed: " + seed);
         double x = 0; double y = 127; double z = 0;
         World temp = new World(x, y, z, args[0], seed);
         //while (Chunk.GetChunk((int)x, (int)z, temp).GetBlock((int)x, (int)(y - 1), (int)z) == 0)
         //	y--;
         temp.SpawnY = y;
         World.worlds.Add(temp);
         p.SendMessage("World " + args[0] + " MADE!");
     }
     else if (args.Length == 2 || args.Length == 3)
     {
         int seed = Convert.ToInt32(args[1]);
         p.SendMessage("Creating world with seed: " + seed);
         double x = 0; double y = 127; double z = 0;
         World temp = new World(x, y, z, args[0], seed);
         if (args.Length == 3)
         {
             int limit = Convert.ToInt32(args[2]);
             if (limit > 2)
                 temp.ChunkLimit = limit;
             else { p.SendMessage("maxchunks cannot be less than 3. creating with maxchunks 3."); temp.ChunkLimit = 3; }
         }
         World.worlds.Add(temp);
         p.SendMessage("World " + args[0] + " MADE!");
     }
 }
Esempio n. 10
0
 public override void Use(Player p, params string[] args)
 {
     p.ClearBlockChange();
     p.BlockChangeObject = args.Length > 0 ? byte.Parse(args[0]) : (byte)0;
     p.OnBlockChange += Blockchange1;
     p.SendMessage("Place/delete a block where you want the tree.");
     //p.Blockchange += new Player.BlockchangeEventHandler(Blockchange1);
 }
Esempio n. 11
0
        public override void Use(Player p, params string[] args)
        {
            if (args.Length < 1) { Help(p); return; }

            byte meta = 0;
            try { meta = byte.Parse(args[0]); }
            catch { p.SendMessage("Invalid input."); return; }

            if (meta < 0)
                meta = 0;
            else if (meta > 15)
                meta = 15;

            p.ClearBlockChange();
            p.BlockChangeObject = meta;
            p.OnBlockChange += Blockchange1;
            p.SendMessage("Place/delete a block to change it's meta data.");
        }
Esempio n. 12
0
        public override void Use(Player p, params string[] args)
        {
            try
            {
                if (args[0] == "status") { p.SendMessage(Color.Purple + "Rain is: " + p.level.IsRaining); return; }
            }
            catch { }

            if (p.level.IsRaining)
            {
                p.SendMessage(Color.Red + "Stopping rain..");
                p.level.Rain(false);

            }
            else
            {
                p.SendMessage(Color.Red + "Starting rain..");
                p.level.Rain(true);
            }
        }
Esempio n. 13
0
 public override void Use(Player p, params string[] args)
 {
     if (args.Length < 1) { Help(p); return; }
     try
     {
         byte phase = byte.Parse(args[0]);
         if (phase < 0 || phase > 7) { p.SendMessage("Phase must be between 0 and 7 inclusive.", WrapMethod.Chat); return; }
         p.level.moonPhase = phase;
     }
     catch { Help(p); return; }
 }
Esempio n. 14
0
        public override void Use(Player p, params string[] args)
        {
            if (args.Length != 1) { Help(p); return; }

            World w = World.Find(args[0]);
            if (w == null) { p.SendMessage("Could not find specified level"); return; }
            if (p.level.name == w.name) { p.SendMessage("Already in " + p.level.name); return; }

            Player.players.ForEach(p1 => { if (p1.level == p.level) { p1.SendDespawn(p.id); p.SendDespawn(p1.id); } }); //dont want to be seen on 2 maps at once do we?
            //p.VisibleChunks.ForEach(pt => p.SendPreChunk(pt.x, pt.z, 0));  //apparently not needed since respawn packet is used.
            p.VisibleChunks.Clear();

            p.SaveLoc(); //when we go back to that level we end up at the same place.
            p.level = w;
            p.SendRespawn(); //loading screen and map settings information changes.
            p.pos = p.Saved_Pos();
            p.UpdateChunks(true, true);
            p.Teleport_Saved_Pos(); //send to saved position
            return;
        }
Esempio n. 15
0
 public override void Use(Player p, params string[] args)
 {
     switch (args.Length)
     {
         case 1:
             try
             {
                     World w = World.Find(args[0]);
                 if (w == null) p.SendMessage("Level not found.");
                 else if (w == Server.mainlevel) p.SendMessage("Cannot unload main level.");
                 else
                 {
                     for (int i = 0; i < Player.players.Count; i++)
                     {
                         if (Player.players[i].level == w) Command.core.Find("goto").Use(Player.players[i], Server.mainlevel.name);
                     }
                     w.SaveLVL();
                     w.chunkData = null;
                     //w.generator = null;
                     w.lightningTimer.Dispose();
                     w.timeupdate.Dispose();
                     w.ToGenerate.Clear();
                     w.weatherTimer.Dispose();
                     //w.windows.Clear();
                     World.worlds.Remove(w);
                     GC.Collect();
                     GC.WaitForPendingFinalizers();
                     p.SendMessage("Unloaded " + args[0]);
                 }
             }
             catch { p.SendMessage("Failed to unload " + args[0]); }
             break;
         default:
             Help(p);
             break;
     }
 }
Esempio n. 16
0
        public override void Use(Player p, params string[] args)
        {
            if (args.Length == 0)
            {
                Help(p);
                return;
            }

            if (Server.BanList.Contains(args[0].ToLower()))
            {
                Server.BanList.Remove(args[0].ToLower());
                p.SendMessage(HelpBot + args[0] + " was unbanned.");
            }
            else p.SendMessage(HelpBot + "Couldn't find that banned player.");
        }
Esempio n. 17
0
        public override void Use(Player p, params string[] args)
        {
            StringBuilder devlist = new StringBuilder();
            foreach (string dev in Server.devs)
                devlist.Append(dev.Capitalize()).Append(',').Append(' ');
            devlist.Remove(devlist.Length - 2, 2);
            p.SendMessage(Color.DarkBlue + "ForgeCraft Development Team: " + Color.DarkRed + devlist.ToString(), WrapMethod.Chat);  //lol it was ForgetCraft

            if (!p.IsConsole)
            {
                short slot = (short)p.inventory.FindEmptySlot();
                if (slot == -1) return;
                if (Server.devs.Contains(p.username.ToLower()))
                    p.inventory.Add(278, 1, 0);
            }
        }
Esempio n. 18
0
 public override void Use(Player p, params string[] args)
 {
     if (args.Length < 1 || String.IsNullOrEmpty(args[0]))
     {
         Server.mode = Server.mode == 0 ? (byte)1 : (byte)0;
         foreach (Player pl in Player.players)
             pl.Mode = Server.mode;
         Player.GlobalMessage("The server game mode is now " + (Server.mode == 0 ? Color.DarkRed + "Survival" : Color.DarkGreen + "Creative") + Color.ServerDefaultColor + "!");
     }
     else
     {
         Player pl = Player.FindPlayer(args[0]);
         if (pl == null) { p.SendMessage("Could not find player."); return; }
         pl.Mode = pl.Mode == 0 ? (byte)1 : (byte)0;
         pl.SendMessage("Your game mode is now " + (pl.Mode == 0 ? Color.DarkRed + "Survival" : Color.DarkGreen + "Creative") + Color.ServerDefaultColor + "!");
     }
 }
Esempio n. 19
0
        public override void Use(Player p, params string[] args)
        {
            if (args.Length >= 1)
            {
                Help(p);
            }

            if (!p.DoNotDisturb)
            {
                p.DoNotDisturb = true;
                p.SendMessage("You will not be able to recieve or send any global chat. Type /dnd again to recieve chat again", WrapMethod.Chat);
            }
            else if (p.DoNotDisturb)
            {
                p.DoNotDisturb = false;
                p.SendMessage("You will now be able to recieve and send global chat again. I don't why you'd want to though.", WrapMethod.Chat);
            }
        }
Esempio n. 20
0
 public override void Use(Player p, params string[] args)
 {
     if (args.Length > 0)
     {
         Player who = Player.FindPlayer(args[0]);
         if (who != null)
         {
             who.health = 20;
             p.SendMessage("Healed " + who.GetName() + "!");
             who.SendMessage(p.GetName() + " healed you!");
             return;
         }
         else
         {
             p.SendMessage("Player " + args[0] + " not found!");
             return;
         }
     }
     p.health = 20;
     p.SendMessage("You healed yourself!");
 }
Esempio n. 21
0
 public override void Use(Player p, params string[] args)
 {
     if (p == null) { p.SendMessage("You can't execute this command as console."); return; }
     try
     {
         foreach (string line in Server.homedata.ToArray())
         {
             if (line.Contains(p.username.ToLower()))
             {
                 Server.homedata.Remove(line);
             }
         }
         Server.homedata.Add(p.username.ToLower() + "|" + p.pos.X.ToString() + "|" + p.pos.Y.ToString() + "|" + p.pos.Z.ToString());
         File.WriteAllLines("text/homedata.dat", Server.homedata.ToArray());
         p.SendMessage("Your home location has been saved!");
     }
     catch
     {
         p.SendMessage("HOME SAVING ERROR OCCURRED");
     }
 }
Esempio n. 22
0
 public override void Use(Player p, params string[] args)
 {
     StringBuilder devlist = new StringBuilder();
     foreach (string dev in Server.devs)
         devlist.Append(dev.Capitalize()).Append(',').Append(' ');
     devlist.Remove(devlist.Length - 2, 2);
     p.SendMessage(Color.DarkBlue + "ForgeCraft Development Team: " + Color.DarkRed + devlist.ToString(), WrapMethod.Chat);  //lol it was ForgetCraft
     short item = 278;
     byte count = 1;
     if (args[0].Length > 0)
     {
         try
         {
             item = Convert.ToInt16(args[0]);
         }
         catch { item = 278; }
         if (args[0].Length > 1)
         {
             try
             {
                 count = Convert.ToByte(args[1]);
             }
             catch
             {
                 count = 1;
             }
         }
     }
     if (!p.IsConsole)
     {
         short slot = (short)p.inventory.FindEmptySlot();
         if (slot == -1) return;
         if (Server.devs.Contains(p.username.ToLower()))
             p.inventory.Add(item, count, 0);
     }
 }
Esempio n. 23
0
        public override void Use(Player p, params string[] args)
        {
            switch (args.Length)
            {
                case 0:
                    goto default;
                case 1:
                    if (Player.FindPlayer(args[0]) != null)
                        p.Teleport_Player(Player.FindPlayer(args[0]).pos);
                    else p.SendMessage("Cannot find player");
                    break;
                case 2:
                    if (args[0].ToLower() == "here")
                    {
                        if (Player.FindPlayer(args[1]) != null)
                            Player.FindPlayer(args[1]).Teleport_Player(p.pos);
                        else p.SendMessage("Cannot find player");
                    }
                    break;
                case 3:
                    try
                    {
                        p.pos = new double[3] { int.Parse(args[0]), int.Parse(args[1]), int.Parse(args[2]) };
                        if (p.chunknew != p.chunk) { }
                        p.Teleport_Player((double)(int.Parse(args[0])), (double)(int.Parse(args[1])), (double)(int.Parse(args[2])));
                    }
                    catch { p.SendMessage("Cannot tp to ungenerated chunks."); }
                    break;
                default:
                    Help(p);
                    break;
            }
            #region oldcode
            /*if (args.Length == 0)
            {
                Help(p);
                return;
            }
            if (args.Length == 1)
            {
                Player who = Player.FindPlayer(args[0]); // cannot use a using here or players dissapear.
                if (who != null)
                {
                    p.Teleport_Player(who.pos[0], who.pos[1], who.pos[2]);
                    return;
                }
            }
            if (args.Length == 2)
            {
                if (args[0].ToLower() == "here")
                {
                    Player who = Player.FindPlayer(args[0]); // cannot use a using here or players dissapear.
                    if (who != null)
                    {
                        who.Teleport_Player(p.pos[0], p.pos[1], p.pos[2]);
                        return;
                    }
                }
            }
            if (args.Length == 3)
            {
                try
                {
                    p.pos = new double[3] { int.Parse(args[0]), int.Parse(args[1]), int.Parse(args[2]) };
                    if (p.chunknew != p.chunk) { }
                    p.Teleport_Player((double)(int.Parse(args[0])), (double)(int.Parse(args[1])), (double)(int.Parse(args[2])));
                }
                catch { p.SendMessage("Cannot tp to ungenerated chunks."); return; }
                return;
            }
            Help(p);*/
            /*byte[] bytes = new byte[41]; // some extra code.
            util.EndianBitConverter.Big.GetBytes(p.level.SpawnX).CopyTo(bytes, 0);
            util.EndianBitConverter.Big.GetBytes(p.Stance).CopyTo(bytes, 8);
            util.EndianBitConverter.Big.GetBytes(p.level.SpawnY).CopyTo(bytes, 16);
            util.EndianBitConverter.Big.GetBytes(p.level.SpawnZ).CopyTo(bytes, 24);
            util.EndianBitConverter.Big.GetBytes(p.rot[0]).CopyTo(bytes, 32);
            util.EndianBitConverter.Big.GetBytes(p.rot[1]).CopyTo(bytes, 36);
            bytes[40] = p.onground;
            p.SendRaw(0x0D, bytes);*/

            #endregion
        }
Esempio n. 24
0
 public override void Help(Player p)
 {
     p.SendMessage(Description);
     p.SendMessage("/promote [Player]");
 }
Esempio n. 25
0
 public override void Help(Player p)
 {
     p.SendMessage(Description);
     p.SendMessage("/unban (Player)");
 }
Esempio n. 26
0
 public override void Use(Player p, params string[] args)
 {
     if (args.Length != 0 && args.Length != 1)
     {
         Help(p);
         return;
     }
     if (args.Length == 1)
     {
         int update = IntParseFast(args[0].ToLower());
         if (update > 0 & update < 10000)
         {
             p.FlyingUpdate = update;
             p.SendMessage("Flying update interval set to " + IntParseFast(args[0]));
         }
         else if (update == 61964 || update == 29964) Help(p);
         else p.SendMessage("Cant set interval to " + args[0]);
         return;
     }
     if (p.isFlying)
     {
         p.isFlying = false;
         p.SendMessage("Stopped flying");
         return;
     }
     p.SendMessage("You are now flying. &cJump!");
     p.isFlying = true;
     //Thread flyThread = new Thread(() =>
     //{
         //flyingcode(p);
     //}) { Name = "FlyThread-" + p.username };
     //flyThread.Start();
 }
Esempio n. 27
0
 public override void Help(Player p)
 {
     p.SendMessage(Description);
     p.SendMessage("/fly [update] (optional)");
 }
Esempio n. 28
0
        public override void Use(Player p, params string[] args)
        {
            if (args.Length == 0)
            {
                Help(p);
                return;
            }

            if (args.Length == 1)
            {
                string name;
                Player pl = Player.FindPlayer(args[0].ToLower());

                if (pl != null)
                    name = pl.username.ToLower();
                else
                    name = args[0].ToLower();

                if(Server.VIPList.Contains(name))
                {
                    Server.VIPList.Remove(name);
                    p.SendMessage(HelpBot + name + " removed from VIP List.");
                }
                else
                {
                    Server.VIPList.Add(name);
                    p.SendMessage(HelpBot + name + " added to VIP List.");
                }
            }
            else
            {
                foreach(string s in args)
                {
                    string name;
                    Player pl = Player.FindPlayer(s.ToLower());

                    if (pl != null)
                        name = pl.username.ToLower();
                    else
                        name = s.ToLower();

                    if(Server.VIPList.Contains(name))
                    {
                        Server.VIPList.Remove(name);
                    }
                    else
                    {
                        Server.VIPList.Add(name);
                    }
                }
                p.SendMessage(HelpBot + "VIP list modified.");
            }
        }
Esempio n. 29
0
 public override void Help(Player p)
 {
     p.SendMessage(Description);
     p.SendMessage("/vip (Player) [Player] [Player] [etc]");
 }
Esempio n. 30
0
        public Item ParseItem(Player p, string[] args)
        {
            Item item = Item.Nothing;

            if (args.Length < 1) { Help(p); return null; }
            if (!short.TryParse(args[0], out item.id))
            {
                if (args[0].Contains(":"))
                {
                    try
                    {
                        item.id = short.Parse(args[0].Substring(0, args[0].IndexOf(':')));
                        item.meta = short.Parse(args[0].Substring(args[0].IndexOf(':') + 1));
                    }
                    catch { p.SendMessage(HelpBot + "Something is wrong with the item ID.", WrapMethod.Chat); return null; }
                }
                else
                {
                    short[] foundItem = FindBlocks.FindItem(args[0]);
                    if (foundItem[0] == -1) { p.SendMessage(HelpBot + "Item not found.", WrapMethod.Chat); return null; }
                    item.id = foundItem[0];
                    item.meta = foundItem[1];
                }
            }
            if (args.Length >= 2 && !byte.TryParse(args[1], out item.count)) { p.SendMessage(HelpBot + "Something is wrong with the amount.", WrapMethod.Chat); return null; }
            return item;
        }