protected override void OnAfterRead(Network.Client client) { double relX = X - client.PlayerPosition.X; double relY = FeetY - client.PlayerPosition.FeetY; double relZ = Z - client.PlayerPosition.Z; client.PlayerPosition.X += relX; client.PlayerPosition.FeetY += relY; client.PlayerPosition.Z += relZ; client.PlayerPosition.Yaw = Yaw; client.PlayerPosition.Pitch = Pitch; client.PlayerPosition.OnGround = OnGround; EntityLookAndRelativeMovePacket packet = StateManager.FindState("play").GetSendPacket(0x17) as EntityLookAndRelativeMovePacket; packet.DX = relX; packet.DY = relY; packet.DZ = relZ; packet.Yaw = Yaw; packet.Pitch = Pitch; packet.Id = client.ID; client.AddBroadCast(packet, client); EntityHeadLookPacket headPacket = StateManager.FindState("play").GetSendPacket(0x19) as EntityHeadLookPacket; headPacket.Id = client.ID; headPacket.HeadYaw = Yaw; client.AddBroadCast(headPacket, client); }
protected override void OnAfterRead(Network.Client client) { client.PlayerPosition.Yaw = Yaw; client.PlayerPosition.Pitch = Pitch; EntityLookPacket packet = StateManager.FindState("play").GetSendPacket(0x16) as EntityLookPacket; packet.Id = client.ID; packet.Yaw = client.PlayerPosition.Yaw; packet.Pitch = client.PlayerPosition.Pitch; client.AddBroadCast(packet, client); EntityHeadLookPacket headPacket = StateManager.FindState("play").GetSendPacket(0x19) as EntityHeadLookPacket; headPacket.Id = client.ID; headPacket.HeadYaw = Yaw; client.AddBroadCast(headPacket, client); }
protected override void OnAfterRead(Network.Client client) { if (_blockID < 0 || client.TheWorld.UpdateBlock(_x, _y, _z, (WorldGeneration.World.BlockTypes)_blockID) == false) { return; } BlockChangePacket bcp = new BlockChangePacket(); bcp.X = _x; bcp.Y = _y; bcp.Z = _z; bcp.BlockID = (byte)_blockID; bcp.BlockMeta = 0x00; client.AddBroadCast(bcp, client); }
protected override void OnAfterRead(Network.Client client) { byte newID = 0x00; if ((Status != 2 && client.PlayerMetadata.GameMode != 1) || client.TheWorld.UpdateBlock(X, Y, Z, (WorldGeneration.World.BlockTypes)newID) == false) { return; } BlockChangePacket bcp = new BlockChangePacket(); bcp.X = X; bcp.Y = Y; bcp.Z = Z; bcp.BlockID = newID; bcp.BlockMeta = 0x00; client.AddBroadCast(bcp, client); }
protected override void OnAfterWrite(Network.Client client, Server.Core.Stream.ByteBuffer buffer) { SpawnPlayerPacket spawnPacket = StateManager.FindState("play").GetSendPacket(0x0C) as SpawnPlayerPacket; spawnPacket.PlayerEntityId = client.ID; spawnPacket.PlayerUUID = client.UUID; spawnPacket.PlayerName = client.Name; spawnPacket.PlayerX = client.PlayerPosition.X; spawnPacket.PlayerY = client.PlayerPosition.FeetY; spawnPacket.PlayerZ = client.PlayerPosition.Z; spawnPacket.PlayerYaw = 0; spawnPacket.PlayerPitch = 0; spawnPacket.CurrentItem = client.PlayerMetadata.CurrentItem; spawnPacket.Health = client.PlayerMetadata.Health; //packet.Metadata = metadata; To add client.AddBroadCast(spawnPacket, client); }
protected override void OnAfterRead(Network.Client client) { double relX = X - client.PlayerPosition.X; double relY = FeetY - client.PlayerPosition.FeetY; double relZ = Z - client.PlayerPosition.Z; client.PlayerPosition.X += relX; client.PlayerPosition.FeetY += relY; client.PlayerPosition.Z += relZ; EntityRelativeMovePacket packet = StateManager.FindState("play").GetSendPacket(0x15) as EntityRelativeMovePacket; packet.DX = relX; packet.DY = relY; packet.DZ = relZ; packet.Id = client.ID; client.AddBroadCast(packet, client); }