@EventHandler(priority = EventPriority.MONITOR)
	public void onPlayerJoin(PlayerJoinEvent e) {
		final Player player = e.getPlayer();
		
		if (player.hasPermission(Permissions.STAFF.get())) {
			refresh();
		}
		
		if (!player.hasPermission(Permissions.SHOW_SCOREBOARD.get())) {
			return;
		}
		
		if (!StaffInformer.getInstance().getSettings(player).getShowScoreboard()) {
			return;
		}
		
		Bukkit.getScheduler().scheduleSyncDelayedTask(StaffInformer.getInstance(), new Runnable() {
			
			@Override
			public void run() {
				if (!player.isOnline()) {
					return;
				}
				
				objective.showTo(player);
			}
		}, 15L);
	}