void ServerReceive(NetIncomingMessage msg) { ClientHeaders header = (ClientHeaders)msg.ReadByte(); switch (header) { case ClientHeaders.SET_TILE: int sX = msg.ReadInt32(); int sY = msg.ReadInt32(); int sSet = msg.ReadInt32(); world.SetTile(new Tile(sSet), sX, sY, false, true); break; case ClientHeaders.INPUT: int hor = msg.ReadInt32(); bool jump = msg.ReadBoolean(); OtherInput.hor = hor; OtherInput.PushJump(jump); break; case ClientHeaders.CHUNK_REQUEST: int cX = msg.ReadInt32(); int cY = msg.ReadInt32(); var newMsg = Networking.CreateMessage(); newMsg.Write((byte)ServerHeaders.SEND_CHUNK); newMsg.Write(cX); newMsg.Write(cY); newMsg.Write(world.chunks[cX, cY].ToBytes()); Networking.SendMessage(newMsg, NetDeliveryMethod.ReliableOrdered, 2); break; } }