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 (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); }
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)"); }
void OnPlayerMove(Player sender, MCForge.API.Events.MoveEventArgs args) { foreach (Player p in Server.Players.ToArray()) { if(p.ExtraData.ContainsValue(sender.Username)) { p.Pos = args.ToPosition; p.Rot = sender.Rot; p.SendThisPlayerTheirOwnPos(); } } }
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 virtual void SendPacket(MCForge.Core.Packet p) { Logger.Log("" + ((p.bytes != null && p.bytes.Length > 0) ? p.bytes[0] : -1)); }
public void Help(MCForge.Entity.Player p) { }
public void Use(MCForge.Entity.Player p, string[] args) { p.SendMessage("Break block to get info"); p.OnPlayerBlockChange.Normal += OnBlockChange; }
void OnPlayerMove_Normal(Player sender, MCForge.API.Events.MoveEventArgs args) { int count = (int)sender.ExtraData["RunCounter"]; count++; sender.ExtraData["RunCounter"] = count; if (count % 15 != 0) return; sender.ExtraData["RunCounter"] = 0; Vector3S tmpPos = new Vector3S(args.FromPosition); tmpPos.Horizontal = tmpPos.Horizontal.GetMove(320, args.ToPosition.Horizontal); if (tmpPos.x < 32 || tmpPos.z < 32 || tmpPos.x > (sender.Level.CWMap.Size.x - 1) * 32 || tmpPos.z > (sender.Level.CWMap.Size.z - 1) * 32) return; Packet pa = new Packet(); pa.Add(Packet.Types.SendTeleport); pa.Add((sbyte)-1); pa.Add(tmpPos.x); pa.Add((short)(tmpPos.y)); pa.Add(tmpPos.z); pa.Add(new byte[2] { (byte)sender.Rot.x, (byte)sender.Rot.z }); sender.oldPos = tmpPos; sender.Pos = tmpPos; sender.oldRot = sender.Rot; sender.SendPacket(pa); args.Cancel(); count++; }
private static void OnPacket(MCForge.Entity.Player sender, API.Events.PacketEventArgs args) { if (cancelPackets.Contains((byte)args.Type)) { args.Cancel(); return; } if (reducePackets.ContainsKey((byte)args.Type)) { if (xthPackets[(byte)args.Type] % reducePackets[(byte)args.Type] != 0) { xthPackets[(byte)args.Type]++; args.Cancel(); return; } else { xthPackets[(byte)args.Type] = 1; } } if (hidePackets.Contains((byte)args.Type)) return; Logger.Log(((args.Incoming) ? "Incoming" : "Outgoing") + " Packet " + (packet.types)(byte)args.Type + "(" + (byte)args.Type + ") for player " + sender.Username, ((args.Incoming) ? Color.Green : Color.Red), Color.Black); }
public Check(int b, string extraInfo = "", MCForge.Player placer = null) { this.b = b; time = 0; this.extraInfo = extraInfo; p = placer; }
public void Help(MCForge.Entity.Player p) { throw new NotImplementedException(); }