public void OnPlayersAtDistance(object sender, PlayersAtDistanceArgs args) { //called from OnPlayerMoved/OnPlayerJoined under the lock //do smth with players from args and call //FindPlayersAtDistance(Player p) for those whos status was changed }