public void Use(MCForge.Entity.Player p, string[] args) {

           if (p.GetType() == typeof(ConsolePlayer)) {
               p.SendMessage("This can only be used in game");
               return;
           }

           if (args.Length < 1) {
               if(p.ExtraData.ContainsKey("FollowData")){
                   p.ExtraData.Remove("FollowData");
                   p.SendMessage("Stopped Following");
                   p.IsHidden = !p.IsHidden;
                   if (!p.IsHidden)
                       p.SpawnThisPlayerToOtherPlayers();
                   return;
               }
               Help(p);
               return;
           }
           var who = Player.Find(args[0]);

           if (who == null || who.GetType() == typeof(ConsolePlayer)) {
               p.SendMessage("The player you want to follow doesn't exist");
               return;
           }

           p.SendMessage("You are now following " + who.Color + who.Username);
           p.ExtraData.ChangeOrCreate<object, object>("FollowData", who.Username);
           p.GlobalDie();
           p.IsHidden = !p.IsHidden;
           if (!p.IsHidden)
               p.SpawnThisPlayerToOtherPlayers();
           who.OnPlayerMove.Normal += new MCForge.API.Events.Event<Player, MCForge.API.Events.MoveEventArgs>.EventHandler(OnPlayerMove);
       }
Exemple #2
0
        public void Use(MCForge.Entity.Player p, string[] args)
        {
            if (p == null) {
                Logger.Log("This command can only be used in game");
                return;
            }

            p.SendMessage("Place two blocks to determine the corners.");

            byte block = 0;

            if (args.Length > 0) {
                byte test = Block.NameToBlock(args[0]);
                if (test == 255) {
                    p.SendMessage("That is not a valid block");
                    return;
                }
                block = test;
            }
            else
                block = 255;

            //TODO: Check if user can place block
            //If user can put all of the blocks down

            p.ExtraData.CreateIfNotExist<object, object>("Command.Line", new BlockInfo(255,new Vector3S(0,0,0)));
            p.OnPlayerBlockChange.Normal += new Event<Player, BlockChangeEventArgs>.EventHandler(CatchBlockOne);
        }
        public void Use(MCForge.Entity.Player p, string[] args) {
            if (args.Length < 1 || args.Length > 3) {
                Help(p);
                return;
            }

            if (args[0].ToLower() == "off" && p.ExtraData.ContainsKey("BrushData")) {
                p.OnPlayerBlockChange.Normal -= BlockChange;
                p.ExtraData.Remove("BrushData");
                p.SendMessage("Brush turned off");
                return;
            }

            byte block = 255;
            int size = 3;
            Type brushType =  Server.ServerAssembly.GetType("MCForge.World.Drawing." + StringUtils.CapitolizeFirstChar(args[0]) + "Brush");

            if (brushType == null) {
                p.SendMessage("Invalid brush type");
                Help(p);
                return;
            }

            if (args.Length == 3) {
                block = Block.NameToBlock(args[2]);
                if (block == Block.BlockList.UNKNOWN) {
                    p.SendMessage("That is not a valid block");
                    return;
                }
            }

            if (args.Length >= 2) {
                try {
                    size = int.Parse(args[1]);
                }
                catch {
                    p.SendMessage("That is not a number");
                    Help(p);
                    return;
                }
            }

            p.SendMessage("Start brushing!!");
            p.ExtraData.ChangeOrCreate<object, object>("BrushData", new BrushData(brushType, block, size));
            p.OnPlayerBlockChange.Normal += BlockChange;

        }
        public void Use(MCForge.Entity.Player p, string[] args)
        {
            if (args.Length < 1) {
                if (playerDictionary.ContainsKey(p)) {
                    p.SendMessage("&cStatic Disabled");
                    p.OnCommandEnd.Normal -= OnEndCommand;
                    playerDictionary.Remove(p);
                }
                else {
                    Help(p);
                }
                return;
            }

            ICommand cmd = Command.Find(args[0]);

            if (cmd == null) {
                p.SendMessage("&cCan't find the specified command");
                return;
            }

            p.OnCommandEnd.Normal += OnEndCommand;
            playerDictionary.ChangeOrCreate<Player, ICommand>(p, cmd);

            string[] newArgs;
            if (args.Length < 2) {
                newArgs = new string[0];
            }
            else {
                newArgs = new string[args.Length - 1];
                args.CopyTo(newArgs, 1);
            }

            p.SendMessage("&aStatic Enabled");
            cmd.Use(p, newArgs);
        }
 public void Help(MCForge.Entity.Player p) {
     p.SendMessage("/brush <brush type> [optional: size] [optional: block]  - place blocks on the level using a brush");
     p.SendMessage("/brush off - turns off the brush...");
     p.SendMessage("Valid brush types:");
     p.SendMessage("Cube, Sphere, Random");
     //TODO: add more types....
 }
 public void Help(MCForge.Entity.Player p) {
     p.SendMessage("/follow <name> - follows a user, great if you have your suspicions");
     p.SendMessage("/follow - to stop following a player (if you are already following one)");
 }
 public void Help(MCForge.Entity.Player p)
 {
     p.SendMessage("static [command] (args <optional>) - Makes every command a toggle.");
     p.SendMessage("If [command] is given, then that command is used");
     p.SendMessage("If (args) is given it will use that command with specified arguments");
 }
 public void Use(MCForge.Entity.Player p, string[] args) {
     p.SendMessage("Break block to get info");
     p.OnPlayerBlockChange.Normal += OnBlockChange;
 }