private void OnNamedEntitySpawn(NamedEntitySpawnPacket p) { if (NamedEntitySpawn != null) NamedEntitySpawn.Invoke(this, new PacketEventArgs<NamedEntitySpawnPacket>(p)); }
public static Packet GetSpawnPacket(Server server, EntityBase entity) { Packet packet = null; if (entity is Player) { Player p = ((Player)entity); packet = new NamedEntitySpawnPacket { EntityId = p.EntityId, X = p.Position.X, Y = p.Position.Y, Z = p.Position.Z, Yaw = p.PackedYaw, Pitch = p.PackedPitch, PlayerName = p.Client.Username + p.EntityId, CurrentItem = 0 }; } else if (entity is ItemEntity) { ItemEntity item = (ItemEntity)entity; packet = new SpawnItemPacket { X = item.Position.X, Y = item.Position.Y, Z = item.Position.Z, Yaw = item.PackedYaw, Pitch = item.PackedPitch, EntityId = item.EntityId, ItemId = item.ItemId, Count = item.Count, Durability = item.Durability, Roll = 0 }; } else if (entity is Mob) { Mob mob = (Mob)entity; server.Logger.Log(Logger.LogLevel.Debug, ("ClientSpawn: Sending Mob " + mob.Type + " (" + mob.Position.X + ", " + mob.Position.Y + ", " + mob.Position.Z + ")")); packet = new MobSpawnPacket { X = mob.Position.X, Y = mob.Position.Y, Z = mob.Position.Z, Yaw = mob.PackedYaw, Pitch = mob.PackedPitch, EntityId = mob.EntityId, Type = mob.Type, Data = mob.Data }; } return packet; }
public Packet GetSpawnPacket(EntityBase entity) { Packet packet = null; if (entity is Player) { Player p = ((Player)entity); packet = new NamedEntitySpawnPacket { EntityId = p.EntityId, X = p.Position.X, Y = p.Position.Y, Z = p.Position.Z, Yaw = p.PackedYaw, Pitch = p.PackedPitch, PlayerName = p.Client.Username + p.EntityId, CurrentItem = 0, Data = new MetaData() }; } else if (entity is Mob) { Mob mob = (Mob)entity; Logger.Log(LogLevel.Debug, ("ClientSpawn: Sending Mob " + mob.Type + " (" + mob.Position.X + ", " + mob.Position.Y + ", " + mob.Position.Z + ")")); packet = new MobSpawnPacket { X = mob.Position.X, Y = mob.Position.Y, Z = mob.Position.Z, Yaw = mob.PackedYaw, Pitch = mob.PackedPitch, EntityId = mob.EntityId, Type = mob.Type, Data = mob.Data }; } else if (entity is ExpOrbEntity) { var orb = (ExpOrbEntity)entity; var coords = UniversalCoords.FromAbsWorld(orb.Position); packet = new ExperienceOrbPacket { EntityId = orb.EntityId, Count = 1, X = coords.WorldX, Y = coords.WorldY, Z = coords.WorldZ }; } return packet; }
public static void ReadNamedEntitySpawn(TestClient client, PacketReader reader) { NamedEntitySpawnPacket bc = new NamedEntitySpawnPacket(); bc.Read(reader); }