public void MoveBot()
{
Position oldPos = Pos; //curent pos
Position delta = new Position(
(short)(nextPos.X - oldPos.X),
(short)(nextPos.Y - oldPos.Y),
(short)(nextPos.Z - oldPos.Z));
//set the packet
Packet packet = PacketWriter.MakeMoveRotate(ID, new Position
{
X = delta.X,
Y = delta.Y,
Z = delta.Z,
R = Pos.R,
L = 0
});
//send packet to everyone in the world
if (nextPos == oldPos && oldPos != null)
{
world.Players.Send(PacketWriter.MakeTeleport(ID, new Position(world.Map.Spawn.X, world.Map.Spawn.Y, world.Map.Spawn.Z)));
Pos = new Position(world.Map.Spawn.X, world.Map.Spawn.Y, world.Map.Spawn.Z, Pos.R, Pos.L);
}
else
{
world.Players.Send(packet);
Pos = nextPos;
}
world.Players.Message(Pos.ToBlockCoords().ToString());
}