Listen on PlayerJoinEvent as well. Also handle case if player gets booted during PlayerLoginEvent.
Set permissions more efficiently without the need for reflection.