private void onPlayersChanges(ChangingList<? extends IMultiplayerPlayer> changingPlayers, IJoinPhaseMultiplayerGameConnector joinMultiPlayerMap) { SwingUtilities.invokeLater(() -> { List<? extends IMultiplayerPlayer> players = changingPlayers.getItems(); String myId = SettingsManager.getInstance().getUUID(); for (int i = 0; i < players.size(); i++) { PlayerSlot playerSlot = playerSlots.get(i); IMultiplayerPlayer player = players.get(i); playerSlot.setPlayerName(player.getName()); playerSlot.setReady(player.isReady()); playerSlot.setPlayerType(EPlayerType.HUMAN, false); if (player.getId().equals(myId)) { playerSlot.setReadyButtonEnabled(true); playerSlot.informGameAboutReady(joinMultiPlayerMap); } else { playerSlot.setReadyButtonEnabled(false); } } for (int i = players.size(); i < playerSlots.size(); i++) { playerSlots.get(i).setPlayerType(EPlayerType.AI_VERY_HARD, false); } setCancelButtonActionListener(e -> { joinMultiPlayerMap.abort(); settlersFrame.showMainMenu(); }); }); }