Added player position cache to reduce update calls