From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- .../client/gui/dialog/SelectDestinationDialog.java | 16 +- src/net/sf/freecol/client/gui/menu/DebugMenu.java | 2 +- .../client/gui/panel/FindSettlementPanel.java | 2 +- .../sf/freecol/client/gui/panel/PlayersTable.java | 2 +- .../gui/panel/colopedia/NationDetailPanel.java | 4 +- .../gui/panel/report/ReportForeignAffairPanel.java | 2 +- src/net/sf/freecol/common/debug/DebugUtils.java | 4 +- src/net/sf/freecol/common/model/Game.java | 185 +++++++++++---------- src/net/sf/freecol/common/model/Operand.java | 2 +- src/net/sf/freecol/common/model/Player.java | 14 +- src/net/sf/freecol/common/model/Tile.java | 2 +- .../common/networking/AddPlayerMessage.java | 10 -- .../sf/freecol/common/networking/ChangeSet.java | 4 +- .../sf/freecol/common/networking/LoginMessage.java | 2 +- src/net/sf/freecol/server/FreeColServer.java | 14 +- src/net/sf/freecol/server/ai/EuropeanAIPlayer.java | 2 +- src/net/sf/freecol/server/ai/NativeAIPlayer.java | 2 +- .../freecol/server/control/InGameController.java | 2 +- .../freecol/server/control/PreGameController.java | 2 +- .../server/generator/SimpleMapGenerator.java | 6 +- src/net/sf/freecol/server/model/ServerGame.java | 2 +- src/net/sf/freecol/server/model/ServerPlayer.java | 12 +- .../freecol/common/model/FoundingFatherTest.java | 4 +- test/src/net/sf/freecol/common/model/GameTest.java | 4 +- .../freecol/common/model/UnitChangeTypeTest.java | 2 +- .../net/sf/freecol/util/test/FreeColTestCase.java | 2 +- 26 files changed, 157 insertions(+), 148 deletions(-) diff --git a/src/net/sf/freecol/client/gui/dialog/SelectDestinationDialog.java b/src/net/sf/freecol/client/gui/dialog/SelectDestinationDialog.java index 05208c71936..f9c10d55aee 100644 --- a/src/net/sf/freecol/client/gui/dialog/SelectDestinationDialog.java +++ b/src/net/sf/freecol/client/gui/dialog/SelectDestinationDialog.java @@ -30,7 +30,6 @@ import java.util.Map.Entry; import java.util.function.Function; import java.util.function.Predicate; import java.util.logging.Logger; -import java.util.stream.Stream; import javax.swing.DefaultListModel; import javax.swing.ImageIcon; @@ -459,14 +458,13 @@ public final class SelectDestinationDialog extends FreeColDialog<Location> // of accessible settlement locations and do a bulk path search // to determine the travel times, and create Destinations from // the results. - final Predicate<Player> tradePred = p -> - p.hasContacted(player) && (canTrade || !p.isEuropean()); - final Function<Player, Stream<Location>> settlementTileMapper = p -> - transform(p.getSettlements(), - s -> canReach.test(s) && s.hasContacted(p), - s -> (Location)s.getTile()).stream(); - List<Location> locs = toList(flatten(game.getLivePlayers(player), - tradePred, settlementTileMapper)); + List<Location> locs = new ArrayList<>(); + for (Player op : game.getLivePlayers(player)) + if (op.hasContacted(player) && (canTrade || !op.isEuropean())) + for (Settlement s : op.getSettlements()) + if (canReach.test(s) && s.hasContacted(op)) + locs.add(s.getTile()); + MultipleAdjacentDecider md = new MultipleAdjacentDecider(locs); unit.search(unit.getLocation(), md.getGoalDecider(), null, FreeColObject.INFINITY, null); diff --git a/src/net/sf/freecol/client/gui/menu/DebugMenu.java b/src/net/sf/freecol/client/gui/menu/DebugMenu.java index e683bcc7c02..d56f8002c62 100644 --- a/src/net/sf/freecol/client/gui/menu/DebugMenu.java +++ b/src/net/sf/freecol/client/gui/menu/DebugMenu.java @@ -154,7 +154,7 @@ public class DebugMenu extends JMenu { }); this.add(cvpMenu); cvpMenu.addSeparator(); - for (Player p : game.getLiveEuropeanPlayerList()) { + for (Player p : game.getLiveEuropeanPlayers()) { final JRadioButtonMenuItem cv2 = Utility.localizedRadioButtonMenuItem(p.getCountryLabel(), FreeColDebugger.debugDisplayColonyValuePlayer() == p); diff --git a/src/net/sf/freecol/client/gui/panel/FindSettlementPanel.java b/src/net/sf/freecol/client/gui/panel/FindSettlementPanel.java index 606dcc5fc39..d17db5b1c88 100644 --- a/src/net/sf/freecol/client/gui/panel/FindSettlementPanel.java +++ b/src/net/sf/freecol/client/gui/panel/FindSettlementPanel.java @@ -160,7 +160,7 @@ public final class FindSettlementPanel extends FreeColPanel = new DefaultListModel<>(); Object selected = this.settlementList.getSelectedValue(); - for (Player player : getGame().getLivePlayerList()) { + for (Player player : getGame().getLivePlayers()) { boolean ok; switch (displayListOption) { case ONLY_NATIVES: diff --git a/src/net/sf/freecol/client/gui/panel/PlayersTable.java b/src/net/sf/freecol/client/gui/panel/PlayersTable.java index 0c30f39d1ca..bf5524512a7 100644 --- a/src/net/sf/freecol/client/gui/panel/PlayersTable.java +++ b/src/net/sf/freecol/client/gui/panel/PlayersTable.java @@ -458,7 +458,7 @@ public final class PlayersTable extends JTable { */ public void update() { for (Nation n : this.nations) nationMap.put(n, null); - for (Player p : thisPlayer.getGame().getLivePlayerList()) { + for (Player p : thisPlayer.getGame().getLivePlayers()) { nationMap.put(p.getNation(), p); } fireTableDataChanged(); diff --git a/src/net/sf/freecol/client/gui/panel/colopedia/NationDetailPanel.java b/src/net/sf/freecol/client/gui/panel/colopedia/NationDetailPanel.java index 26b6524f5dd..47436a5c929 100644 --- a/src/net/sf/freecol/client/gui/panel/colopedia/NationDetailPanel.java +++ b/src/net/sf/freecol/client/gui/panel/colopedia/NationDetailPanel.java @@ -79,8 +79,8 @@ public class NationDetailPanel extends ColopediaGameObjectTypePanel<Nation> { if (getId().equals(id)) return; Nation nation = getSpecification().getNation(id); - Player player = CollectionUtils.find(getGame().getLivePlayers(), - p -> p.getNation() == nation); + Player player = getGame().getLivePlayerByNation(nation); + NationType currentNationType = (player == null) ? nation.getType() : player.getNationType(); diff --git a/src/net/sf/freecol/client/gui/panel/report/ReportForeignAffairPanel.java b/src/net/sf/freecol/client/gui/panel/report/ReportForeignAffairPanel.java index f9937dc24bd..3d5c283098b 100644 --- a/src/net/sf/freecol/client/gui/panel/report/ReportForeignAffairPanel.java +++ b/src/net/sf/freecol/client/gui/panel/report/ReportForeignAffairPanel.java @@ -79,7 +79,7 @@ public final class ReportForeignAffairPanel extends ReportPanel { "[align top]")); int n; - for (Player enemy : getGame().getLiveEuropeanPlayerList()) { + for (Player enemy : getGame().getLiveEuropeanPlayers()) { NationSummary ns = igc().getNationSummary(enemy); if (ns == null) continue; diff --git a/src/net/sf/freecol/common/debug/DebugUtils.java b/src/net/sf/freecol/common/debug/DebugUtils.java index 98799254bc0..13ddb27a316 100644 --- a/src/net/sf/freecol/common/debug/DebugUtils.java +++ b/src/net/sf/freecol/common/debug/DebugUtils.java @@ -735,7 +735,7 @@ public class DebugUtils { List<Unit> toEurope = new ArrayList<>(); List<Unit> toAmerica = new ArrayList<>(); HashMap<String,List<Unit>> units = new HashMap<>(); - for (Player tp : sGame.getLiveEuropeanPlayerList()) { + for (Player tp : sGame.getLiveEuropeanPlayers()) { Player p = sGame.getFreeColGameObject(tp.getId(), Player.class); if (p.getEurope() == null) continue; inEurope.clear(); @@ -1135,7 +1135,7 @@ public class DebugUtils { LogBuilder lb = new LogBuilder(256); lb.add(sis.getName(), "\n\nAlarm\n"); Player mostHated = sis.getMostHated(); - for (Player p : sGame.getLiveEuropeanPlayerList()) { + for (Player p : sGame.getLiveEuropeanPlayers()) { Tension tension = sis.getAlarm(p); lb.add(Messages.message(p.getNationLabel()), " ", ((tension == null) ? "(none)" diff --git a/src/net/sf/freecol/common/model/Game.java b/src/net/sf/freecol/common/model/Game.java index f079c5c54c4..3d4a14b5d6f 100644 --- a/src/net/sf/freecol/common/model/Game.java +++ b/src/net/sf/freecol/common/model/Game.java @@ -22,6 +22,8 @@ package net.sf.freecol.common.model; import java.lang.ref.WeakReference; import java.io.StringReader; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; @@ -31,7 +33,6 @@ import java.util.NoSuchElementException; import java.util.UUID; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.function.Predicate; import java.util.stream.Stream; import javax.xml.stream.XMLStreamException; @@ -510,59 +511,46 @@ public class Game extends FreeColGameObject { /** * Get all the players in the game. * - * @return The list of {@code Player}s. + * @return The {@code Collection} of {@code Player}s. */ - public List<Player> getPlayerList() { + public Collection<Player> getPlayers() { return this.players; } /** - * Get all the players in the game as a stream. - * - * @return The list of {@code Player}s. - */ - public Stream<Player> getPlayers() { - return this.players.stream(); - } - - /** * Sort the players list. * * @param comparator The {@code Comparator} to sort with. */ public void sortPlayers(Comparator<Player> comparator) { - this.players.sort(comparator); - } - - /** - * Get players in the game. - * - * @param predicate A {@code Predicate} to select suitable players with. - * @return A list of {@code Player}s. - */ - public List<Player> getPlayerList(Predicate<Player> predicate) { - return transform(this.players, predicate); + Collections.sort(this.players, comparator); } /** - * Get players in the game. + * Get a {@code Player} identified by its nation. * - * @param predicate A {@code Predicate} to select suitable players with. - * @return The stream of {@code Player}s. + * @param nation The {@code Nation} to search for. + * @return The {@code Player} of the given nation, or null if + * not found. */ - public Stream<Player> getPlayers(Predicate<Player> predicate) { - return getPlayerList(predicate).stream(); + public Player getPlayerByNation(Nation nation) { + return getPlayerByNationId(nation.getId()); } /** - * Get a {@code Player} identified by its nation. + * Get alive {@code Player} identified by its nation. * * @param nation The {@code Nation} to search for. * @return The {@code Player} of the given nation, or null if - * not found. + * not found or already dead. */ - public Player getPlayerByNation(Nation nation) { - return getPlayerByNationId(nation.getId()); + public final Player getLivePlayerByNation(Nation nation) { + if (this.players == null) + for (Player p : this.players) + if (!p.isUnknownEnemy() && !p.isDead() && p.getNation() == nation) + return p; + + return null; } /** @@ -573,7 +561,25 @@ public class Game extends FreeColGameObject { * not found. */ public Player getPlayerByNationId(String nationId) { - return find(this.players, matchKeyEquals(nationId, Player::getNationId)); + if ((players != null) || (nationId != null)) + { + for (Player walk : players) { + if (walk == null) + continue; + if (nationId.equals(walk.getNationId())) + return walk; + } + } + return null; + } + + private static void addPlayerNotExcluded(List<Player> result, + Player player, + Player[] exclude) { + for (Player e : exclude) + if (e == player) return; + + result.add(player); } /** @@ -581,72 +587,62 @@ public class Game extends FreeColGameObject { * excluding supplied ones. * * @param exclude The {@code Player}s to exclude. - * @return A list of live {@code Player}s, without the excluded ones. + * @return A {@code Collection} of live {@code Player}s, without the excluded ones. */ - public List<Player> getLivePlayerList(final Player... exclude) { - final Predicate<Player> livePred = p -> - !p.isUnknownEnemy() && !p.isDead() && !any(exclude, matchKey(p)); - return getPlayerList(livePred); - } + public Collection<Player> getLivePlayers(final Player... exclude) { + List<Player> result = new ArrayList<>(); - /** - * Get a stream of the live players in the game, optionally excluding - * supplied ones. - * - * @param exclude The {@code Player}s to exclude. - * @return A stream of live {@code Player}s, without the - * excluded ones. - */ - public Stream<Player> getLivePlayers(final Player... exclude) { - return getLivePlayerList(exclude).stream(); + for (Player p : this.players) + if (p.isLive()) + addPlayerNotExcluded(result, p, exclude); + + return result; } /** * Get a list of the live European players in this game. * * @param exclude {@code Player}s to exclude. - * @return A list of live European {@code Player}s in this game, + * @return A {@code Collection} of live European {@code Player}s in this game, * without the excluded ones. */ - public List<Player> getLiveEuropeanPlayerList(final Player... exclude) { - final Predicate<Player> europeanPred = p -> - !p.isUnknownEnemy() && !p.isDead() && p.isEuropean() - && !any(exclude, matchKey(p)); - return getPlayerList(europeanPred); + public List<Player> getLiveEuropeanPlayers(final Player... exclude) { + List<Player> result = new ArrayList<>(); + + for (Player p : this.players) + if (p.isLiveEuropean()) + addPlayerNotExcluded(result, p, exclude); + + return result; } /** - * Get a stream of the live European players in this game. + * Get a list of the live European players in this game. * * @param exclude {@code Player}s to exclude. - * @return A stream of live European {@code Player}s in this game, + * @return A {@code Collection} of live European {@code Player}s in this game, * without the excluded ones. */ - public Stream<Player> getLiveEuropeanPlayers(final Player... exclude) { - return getLiveEuropeanPlayerList(exclude).stream(); + public List<Player> getLiveEuropeanPlayers(List<Player> exclude) { + Player[] array = new Player[exclude.size()]; + exclude.toArray(array); + return getLiveEuropeanPlayers(array); } /** * Get a list of the live native players in this game. * * @param exclude {@code Player}s to exclude. - * @return A list of live native {@code Player}s in this game. + * @return A {@code Collection} of live native {@code Player}s in this game. */ - public List<Player> getLiveNativePlayerList(final Player... exclude) { - final Predicate<Player> nativePred = p -> - !p.isUnknownEnemy() && !p.isDead() && p.isIndian() - && !any(exclude, matchKey(p)); - return getPlayerList(nativePred); - } + public Collection<Player> getLiveNativePlayers(final Player... exclude) { + List<Player> result = new ArrayList<>(); - /** - * Get a stream of the live native players in this game. - * - * @param exclude {@code Player}s to exclude. - * @return A stream of live native {@code Player}s in this game. - */ - public Stream<Player> getLiveNativePlayers(final Player... exclude) { - return getLiveNativePlayerList(exclude).stream(); + for (Player p : this.players) + if (p.isLiveNative()) + addPlayerNotExcluded(result, p, exclude); + + return result; } /** @@ -697,7 +693,10 @@ public class Game extends FreeColGameObject { * @return The {@code Player} or null if none found. */ public Player getPlayerByName(String name) { - return find(players, matchKeyEquals(name, Player::getName)); + for (Player p : players) + if (Utils.equals(name, p.getName())) + return p; + return null; } /** @@ -785,7 +784,10 @@ public class Game extends FreeColGameObject { * @return True if an undead player is present. */ public boolean isInRevengeMode() { - return any(getPlayers(), Player::isUndead); + for (Player p : this.players) + if (p.isUndead()) + return true; + return false; } /** @@ -822,10 +824,12 @@ public class Game extends FreeColGameObject { */ public void setMap(Map newMap) { if (this.map != newMap) { - for (HighSeas hs : transform(getLivePlayers(), alwaysTrue(), - Player::getHighSeas, toListNoNulls())) { - hs.removeDestination(this.map); - hs.addDestination(newMap); + for (Player p : getLivePlayers()) { + HighSeas hs = p.getHighSeas(); + if (hs != null) { + hs.removeDestination(this.map); + hs.addDestination(newMap); + } } } this.map = newMap; @@ -1039,7 +1043,10 @@ public class Game extends FreeColGameObject { * @return True if all players are ready to launch. */ public boolean allPlayersReadyToLaunch() { - return all(getLiveEuropeanPlayerList(), Player::isReady); + for (Player p : this.players) + if (p.isLiveEuropean() && (!p.isReady())) + return false; + return true; } /** @@ -1049,7 +1056,7 @@ public class Game extends FreeColGameObject { * @return A stream of all the {@code Colony}s in the game. */ public Stream<Colony> getAllColonies(Player player) { - return flatten(getLiveEuropeanPlayerList(player), Player::getColonies); + return flatten(getLiveEuropeanPlayers(player), Player::getColonies); } /** @@ -1220,9 +1227,10 @@ public class Game extends FreeColGameObject { if (map != null) { result = Math.min(result, getMap().checkIntegrity(fix)); } - for (Player player : getPlayerList()) { + + for (Player player : this.players) result = Math.min(result, player.checkIntegrity(fix)); - } + return result; } @@ -1337,7 +1345,8 @@ public class Game extends FreeColGameObject { nationOptions.toXML(xw); - List<Player> players = sort(getPlayers()); + List<Player> players = new ArrayList<>(this.players); + Collections.sort(players); Player unknown = getUnknownEnemy(); if (unknown != null) players.add(unknown); for (Player p : players) p.toXML(xw); @@ -1402,9 +1411,9 @@ public class Game extends FreeColGameObject { // Make sure all work locations have rational default production // now that all tiles are defined. - for (Colony c : getAllColoniesList(null)) { - c.updateProductionTypes(); - } + for (Player p : getLiveEuropeanPlayers(players)) + for (Colony c : p.getColonies()) + c.updateProductionTypes(); } /** diff --git a/src/net/sf/freecol/common/model/Operand.java b/src/net/sf/freecol/common/model/Operand.java index 10d0f5099b5..97f4ee76b21 100644 --- a/src/net/sf/freecol/common/model/Operand.java +++ b/src/net/sf/freecol/common/model/Operand.java @@ -200,7 +200,7 @@ public class Operand extends Scope { result = game.getSpecification().getInteger(getType()); break; default: - for (Player player : game.getLivePlayerList()) { + for (Player player : game.getLivePlayers()) { switch (this.operandType) { case UNITS: result += ourCount(player.getUnitList()); diff --git a/src/net/sf/freecol/common/model/Player.java b/src/net/sf/freecol/common/model/Player.java index 5aad8c26fdf..2ea54dd6ad9 100644 --- a/src/net/sf/freecol/common/model/Player.java +++ b/src/net/sf/freecol/common/model/Player.java @@ -727,6 +727,18 @@ public class Player extends FreeColGameObject implements Nameable { || playerType == PlayerType.ROYAL; } + public final boolean isLive() { + return (!isUnknownEnemy() && !isDead()); + } + + public final boolean isLiveEuropean() { + return (!isUnknownEnemy() && !isDead() && isEuropean()); + } + + public final boolean isLiveNative() { + return (!isUnknownEnemy() && !isDead() && isIndian()); + } + /** * Is this a native player? * @@ -2812,7 +2824,7 @@ public class Player extends FreeColGameObject implements Nameable { // All missions if using enhanced missionaries. if (spec.getBoolean(GameOptions.ENHANCED_MISSIONARIES)) - for (Player other : getGame().getLiveNativePlayerList(this)) + for (Player other : getGame().getLiveNativePlayers(this)) for (IndianSettlement is : getIndianSettlementsWithMissionaryList(this)) vismap.setVisible(is); diff --git a/src/net/sf/freecol/common/model/Tile.java b/src/net/sf/freecol/common/model/Tile.java index 4d48060133d..d1e3d205e15 100644 --- a/src/net/sf/freecol/common/model/Tile.java +++ b/src/net/sf/freecol/common/model/Tile.java @@ -2497,7 +2497,7 @@ public final class Tile extends UnitLocation implements Named, Ownable { // Save the cached tiles to saved games. if (xw.validForSave() && cachedTiles != null) { - for (Player p : getGame().getLiveEuropeanPlayerList()) { + for (Player p : getGame().getLiveEuropeanPlayers()) { Tile t = getCachedTile(p); if (t == null) continue; diff --git a/src/net/sf/freecol/common/networking/AddPlayerMessage.java b/src/net/sf/freecol/common/networking/AddPlayerMessage.java index 2faa743fcae..b7f7dc7fc68 100644 --- a/src/net/sf/freecol/common/networking/AddPlayerMessage.java +++ b/src/net/sf/freecol/common/networking/AddPlayerMessage.java @@ -75,16 +75,6 @@ public class AddPlayerMessage extends DOMMessage { // Public interface /** - * Get the attached players. - * - * @return The list of {@code Player}s to add. - */ - public List<Player> getPlayers() { - return this.players; - } - - - /** * Handle a "addPlayer"-message. * * @param server The {@code FreeColServer} handling the message. diff --git a/src/net/sf/freecol/common/networking/ChangeSet.java b/src/net/sf/freecol/common/networking/ChangeSet.java index 665f6be59bb..48bef9f74cb 100644 --- a/src/net/sf/freecol/common/networking/ChangeSet.java +++ b/src/net/sf/freecol/common/networking/ChangeSet.java @@ -1610,7 +1610,7 @@ public class ChangeSet { * @return The updated {@code ChangeSet}. */ public ChangeSet addGlobalHistory(Game game, HistoryEvent history) { - for (Player p : game.getLiveEuropeanPlayerList()) { + for (Player p : game.getLiveEuropeanPlayers()) { addHistory((ServerPlayer)p, history); } return this; @@ -1626,7 +1626,7 @@ public class ChangeSet { */ public ChangeSet addGlobalMessage(Game game, ServerPlayer omit, ModelMessage message) { - for (Player p : game.getLiveEuropeanPlayerList()) { + for (Player p : game.getLiveEuropeanPlayers()) { if (p == (Player)omit) continue; addMessage((ServerPlayer)p, message); } diff --git a/src/net/sf/freecol/common/networking/LoginMessage.java b/src/net/sf/freecol/common/networking/LoginMessage.java index 7b1a9300688..3e68f687fa0 100644 --- a/src/net/sf/freecol/common/networking/LoginMessage.java +++ b/src/net/sf/freecol/common/networking/LoginMessage.java @@ -194,7 +194,7 @@ public class LoginMessage extends DOMMessage { } // Complete initialization... - serverPlayer.initialize(game, game.getLivePlayerList().isEmpty(), + serverPlayer.initialize(game, game.getLivePlayers().isEmpty(), nation); // ... but override player name. diff --git a/src/net/sf/freecol/server/FreeColServer.java b/src/net/sf/freecol/server/FreeColServer.java index 0a44c339c6a..2ded50a8033 100644 --- a/src/net/sf/freecol/server/FreeColServer.java +++ b/src/net/sf/freecol/server/FreeColServer.java @@ -600,7 +600,7 @@ public final class FreeColServer { public void endGame() { changeServerState(ServerState.END_GAME); ChangeSet cs = new ChangeSet(); - for (Player p : getGame().getLiveEuropeanPlayerList()) { + for (Player p : getGame().getLiveEuropeanPlayers()) { ServerPlayer sp = (ServerPlayer)p; if (sp.isAdmin()) continue; sp.send(new ChangeSet() @@ -1151,7 +1151,7 @@ public final class FreeColServer { int savegameVersion = fis.getSavegameVersion(); // @compat 0.10.x if (savegameVersion < 12) { - for (Player p : serverGame.getPlayerList()) { + for (Player p : serverGame.getPlayers()) { p.setReady(true); // Players in running game must be ready // @compat 0.10.5 if (p.isIndian()) { @@ -1221,7 +1221,7 @@ public final class FreeColServer { serverGame.sortPlayers(Player.playerComparator); - for (Player player : serverGame.getLivePlayerList()) { + for (Player player : serverGame.getLivePlayers()) { if (player.isAI()) { ServerPlayer aiPlayer = (ServerPlayer)player; addAIConnection(aiPlayer); @@ -1308,14 +1308,14 @@ public final class FreeColServer { // Initial stances and randomizations for all players. spec.generateDynamicOptions(); Random random = getServerRandom(); - for (Player player : serverGame.getLivePlayerList()) { + for (Player player : serverGame.getLivePlayers()) { ((ServerPlayer)player).randomizeGame(random); if (player.isIndian()) { // Indian players know about each other, but // European colonial players do not. final int alarm = (Tension.Level.HAPPY.getLimit() + Tension.Level.CONTENT.getLimit()) / 2; - for (Player other : serverGame.getLiveNativePlayerList(player)) { + for (Player other : serverGame.getLiveNativePlayers(player)) { player.setStance(other, Stance.PEACE); for (IndianSettlement is : player.getIndianSettlementList()) { is.setAlarm(other, new Tension(alarm)); @@ -1364,7 +1364,7 @@ public final class FreeColServer { * @param reveal If true, reveal, if false, hide. */ public void exploreMapForAllPlayers(boolean reveal) { - for (Player player : getGame().getLiveEuropeanPlayerList()) { + for (Player player : getGame().getLiveEuropeanPlayers()) { ((ServerPlayer)player).exploreMap(reveal); } @@ -1379,7 +1379,7 @@ public final class FreeColServer { fogOfWarSetting.setValue(FreeColDebugger.getNormalGameFogOfWar()); } - for (Player player : getGame().getLiveEuropeanPlayerList()) { + for (Player player : getGame().getLiveEuropeanPlayers()) { ((ServerPlayer)player).getConnection().sendReconnect(); } } diff --git a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java index 43931858669..be6f59c9eb0 100644 --- a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java +++ b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java @@ -1468,7 +1468,7 @@ public class EuropeanAIPlayer extends MissionAIPlayer { final ServerPlayer serverPlayer = (ServerPlayer)getPlayer(); lb.mark(); - for (Player p : getGame().getLivePlayerList(serverPlayer)) { + for (Player p : getGame().getLivePlayers(serverPlayer)) { Stance newStance = determineStance(p); if (newStance != serverPlayer.getStance(p)) { if (newStance == Stance.WAR && peaceHolds(p)) { diff --git a/src/net/sf/freecol/server/ai/NativeAIPlayer.java b/src/net/sf/freecol/server/ai/NativeAIPlayer.java index abdb56014b5..4121139630e 100644 --- a/src/net/sf/freecol/server/ai/NativeAIPlayer.java +++ b/src/net/sf/freecol/server/ai/NativeAIPlayer.java @@ -166,7 +166,7 @@ public class NativeAIPlayer extends MissionAIPlayer { final ServerPlayer serverPlayer = (ServerPlayer)getPlayer(); lb.mark(); - for (Player p : getGame().getLivePlayerList(serverPlayer)) { + for (Player p : getGame().getLivePlayers(serverPlayer)) { Stance newStance = determineStance(p); if (newStance != serverPlayer.getStance(p)) { getAIMain().getFreeColServer().getInGameController() diff --git a/src/net/sf/freecol/server/control/InGameController.java b/src/net/sf/freecol/server/control/InGameController.java index 2931e3ceb8e..79c8f30ceca 100644 --- a/src/net/sf/freecol/server/control/InGameController.java +++ b/src/net/sf/freecol/server/control/InGameController.java @@ -987,7 +987,7 @@ public final class InGameController extends Controller { } serverPlayer.addSettlement(settlement); settlement.placeSettlement(true);//-vis(serverPlayer),-til - for (Player p : getGame().getLivePlayerList(serverPlayer)) { + for (Player p : getGame().getLivePlayers(serverPlayer)) { ((IndianSettlement)settlement).setAlarm(p, (p.isIndian()) ? new Tension(Tension.Level.CONTENT.getLimit()) : serverPlayer.getTension(p));//-til diff --git a/src/net/sf/freecol/server/control/PreGameController.java b/src/net/sf/freecol/server/control/PreGameController.java index ea5e5ecb23c..21b53176ed4 100644 --- a/src/net/sf/freecol/server/control/PreGameController.java +++ b/src/net/sf/freecol/server/control/PreGameController.java @@ -103,7 +103,7 @@ public final class PreGameController extends Controller { // Check that no two players have the same nation List<Nation> nations = new ArrayList<>(); - for (Player p : game.getLivePlayerList()) { + for (Player p : game.getLivePlayers()) { final Nation nation = spec.getNation(p.getNationId()); if (nations.contains(nation)) { setLaunching(false); diff --git a/src/net/sf/freecol/server/generator/SimpleMapGenerator.java b/src/net/sf/freecol/server/generator/SimpleMapGenerator.java index e94ad3b5f4d..b1261092a9a 100644 --- a/src/net/sf/freecol/server/generator/SimpleMapGenerator.java +++ b/src/net/sf/freecol/server/generator/SimpleMapGenerator.java @@ -234,7 +234,7 @@ public class SimpleMapGenerator implements MapGenerator { private boolean importIndianSettlements(Map map, LogBuilder lb) { // First make sure all the players are present. - for (Player iPlayer : importGame.getLiveNativePlayerList()) { + for (Player iPlayer : importGame.getLiveNativePlayers()) { Player indian = game.getPlayerByNationId(iPlayer.getNationId()); if (indian == null) { Nation nation = spec.getNation(iPlayer.getNationId()); @@ -334,7 +334,7 @@ public class SimpleMapGenerator implements MapGenerator { List<Player> indians = new ArrayList<>(); HashMap<String, Territory> territoryMap = new HashMap<>(); - for (Player player : game.getLiveNativePlayerList()) { + for (Player player : game.getLiveNativePlayers()) { switch (player.getNationType().getNumberOfSettlements()) { case HIGH: shares += 4; @@ -1071,7 +1071,7 @@ public class SimpleMapGenerator implements MapGenerator { // Decorate the map. makeNativeSettlements(map, lb); makeLostCityRumours(map, lb); - createEuropeanUnits(map, game.getLiveEuropeanPlayerList(), lb); + createEuropeanUnits(map, game.getLiveEuropeanPlayers(), lb); return map; } } diff --git a/src/net/sf/freecol/server/model/ServerGame.java b/src/net/sf/freecol/server/model/ServerGame.java index 6fecadf2deb..75cc4db8c09 100644 --- a/src/net/sf/freecol/server/model/ServerGame.java +++ b/src/net/sf/freecol/server/model/ServerGame.java @@ -635,7 +635,7 @@ public class ServerGame extends Game implements ServerModelObject { @Override public void csNewTurn(Random random, LogBuilder lb, ChangeSet cs) { lb.add("GAME ", getId(), ", "); - for (Player player : getLivePlayerList()) { + for (Player player : getLivePlayers()) { ((ServerPlayer)player).csNewTurn(random, lb, cs); } diff --git a/src/net/sf/freecol/server/model/ServerPlayer.java b/src/net/sf/freecol/server/model/ServerPlayer.java index 7546bc597cf..53dc67c6c5c 100644 --- a/src/net/sf/freecol/server/model/ServerPlayer.java +++ b/src/net/sf/freecol/server/model/ServerPlayer.java @@ -632,7 +632,7 @@ public class ServerPlayer extends Player implements ServerModelObject { cs.addDead(this); // Clean up missions and remove tension/alarm/stance. - for (Player other : getGame().getLivePlayerList(this)) { + for (Player other : getGame().getLivePlayers(this)) { if (isEuropean() && other.isIndian()) { for (IndianSettlement is : other.getIndianSettlementList()) { ServerIndianSettlement sis = (ServerIndianSettlement)is; @@ -1668,7 +1668,7 @@ outer: for (Effect effect : effects) { // Do not need to update the clients here, these changes happen // while it is not their turn. - for (Player p : getGame().getLiveEuropeanPlayerList(this)) { + for (Player p : getGame().getLiveEuropeanPlayers(this)) { Market market = p.getMarket(); if (market != null) market.addGoodsToMarket(type, amount); } @@ -1765,7 +1765,7 @@ outer: for (Effect effect : effects) { for (IndianSettlement is : allSettlements) { java.util.Map<Player, Tension.Level> oldLevel = new HashMap<>(); oldLevels.put(is, oldLevel); - for (Player enemy : game.getLiveEuropeanPlayerList(this)) { + for (Player enemy : game.getLiveEuropeanPlayers(this)) { Tension alarm = is.getAlarm(enemy); oldLevel.put(enemy, (alarm == null) ? null : alarm.getLevel()); @@ -1775,7 +1775,7 @@ outer: for (Effect effect : effects) { // Do the settlement alarms first. for (IndianSettlement is : allSettlements) { java.util.Map<Player, Integer> extra = new HashMap<>(); - for (Player enemy : game.getLiveEuropeanPlayerList(this)) { + for (Player enemy : game.getLiveEuropeanPlayers(this)) { extra.put(enemy, 0); } @@ -1959,7 +1959,7 @@ outer: for (Effect effect : effects) { String eventId = event.getId(); switch (eventId) { case "model.event.resetBannedMissions": - for (Player p : game.getLiveNativePlayerList()) { + for (Player p : game.getLiveNativePlayers()) { if (p.missionsBanned(this)) { p.removeMissionBan(this); cs.add(See.only(this), p); @@ -4477,7 +4477,7 @@ outer: for (Effect effect : effects) { Stance sta = getStance(s); boolean war = sta == Stance.WAR; if (sta == Stance.UNCONTACTED) continue; - for (Player p : game.getLiveEuropeanPlayerList(this)) { + for (Player p : game.getLiveEuropeanPlayers(this)) { ServerPlayer sp = (ServerPlayer) p; if (p == s || !p.hasContacted(this) || !p.hasContacted(s)) continue; diff --git a/test/src/net/sf/freecol/common/model/FoundingFatherTest.java b/test/src/net/sf/freecol/common/model/FoundingFatherTest.java index e559c879424..a9bea46ee66 100644 --- a/test/src/net/sf/freecol/common/model/FoundingFatherTest.java +++ b/test/src/net/sf/freecol/common/model/FoundingFatherTest.java @@ -126,7 +126,7 @@ public class FoundingFatherTest extends FreeColTestCase { // this feature is not used at the moment Game game = getGame(); for (FoundingFather father : spec().getFoundingFathers()) { - for (Player player : game.getPlayerList()) { + for (Player player : game.getPlayers()) { assertEquals(player.getNationId(), player.isEuropean(), father.isAvailableTo(player)); } @@ -151,7 +151,7 @@ public class FoundingFatherTest extends FreeColTestCase { scopes.add(dutchScope); scopes.add(frenchScope); newFather.setScopes(scopes); - for (Player player : game.getPlayerList()) { + for (Player player : game.getPlayers()) { assertEquals(player.getNationId(), (player == french || player == dutch), newFather.isAvailableTo(player)); diff --git a/test/src/net/sf/freecol/common/model/GameTest.java b/test/src/net/sf/freecol/common/model/GameTest.java index b2a74a30cc1..1b89092d44c 100644 --- a/test/src/net/sf/freecol/common/model/GameTest.java +++ b/test/src/net/sf/freecol/common/model/GameTest.java @@ -65,8 +65,8 @@ public class GameTest extends FreeColTestCase { players.sort(Player.playerComparator); game.sortPlayers(Player.playerComparator); assertEquals(spec().getNations().size() - counter, - count(game.getPlayers())); - assertEquals(players, game.getPlayerList()); + game.getPlayers().size()); + assertEquals(players, game.getPlayers()); } public void testTurn() { diff --git a/test/src/net/sf/freecol/common/model/UnitChangeTypeTest.java b/test/src/net/sf/freecol/common/model/UnitChangeTypeTest.java index 2af6e1874d1..7fe346b7553 100644 --- a/test/src/net/sf/freecol/common/model/UnitChangeTypeTest.java +++ b/test/src/net/sf/freecol/common/model/UnitChangeTypeTest.java @@ -41,7 +41,7 @@ public class UnitChangeTypeTest extends FreeColTestCase { assertEquals("Education has no scopes", 0, count(uct.getScopes())); // empty scope applies to all players - for (Player player : getStandardGame().getPlayerList()) { + for (Player player : getStandardGame().getPlayers()) { assertTrue("Empty scopes apply to all players", uct.appliesTo(player)); } diff --git a/test/src/net/sf/freecol/util/test/FreeColTestCase.java b/test/src/net/sf/freecol/util/test/FreeColTestCase.java index 61b885a2ce7..68a1fc90f60 100644 --- a/test/src/net/sf/freecol/util/test/FreeColTestCase.java +++ b/test/src/net/sf/freecol/util/test/FreeColTestCase.java @@ -460,7 +460,7 @@ public class FreeColTestCase extends TestCase { map.resetHighSeasCount(); if (exploredByAll) { map.forEachTile(t -> { - for (Player p : game.getLiveEuropeanPlayerList()) { + for (Player p : game.getLiveEuropeanPlayers()) { t.setExplored(p, true); } }); -- 2.11.0.rc0.7.gbe5a750 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Freecol-developers mailing list Freecol-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freecol-developers