From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- .../server/ai/mission/IndianDemandMission.java | 29 +++++++++++++--------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/net/sf/freecol/server/ai/mission/IndianDemandMission.java b/src/net/sf/freecol/server/ai/mission/IndianDemandMission.java index eba9a6e2fb2..5e7992f86aa 100644 --- a/src/net/sf/freecol/server/ai/mission/IndianDemandMission.java +++ b/src/net/sf/freecol/server/ai/mission/IndianDemandMission.java @@ -68,16 +68,6 @@ public class IndianDemandMission extends Mission { /** The tag for this mission. */ private static final String tag = "AI native demander"; - /** Predicates for demand goods selection. */ - private static final List<Predicate<GoodsType>> selectPredicates - = new ArrayList<>(); - static { - selectPredicates.add(gt -> gt.getMilitary()); - selectPredicates.add(gt -> gt.isBuildingMaterial()); - selectPredicates.add(gt -> gt.isTradeGoods()); - selectPredicates.add(gt -> gt.isRefined()); - }; - /** The colony to demand from. */ private Colony colony; @@ -146,6 +136,22 @@ public class IndianDemandMission extends Mission { this.succeeded = result; } + private GoodsType pickGoodsType(List<GoodsType> goodsTypes) { + for (GoodsType gt : goodsTypes) + if (gt.getMilitary()) return gt; + + for (GoodsType gt : goodsTypes) + if (gt.isBuildingMaterial()) return gt; + + for (GoodsType gt : goodsTypes) + if (gt.isTradeGoods()) return gt; + + for (GoodsType gt : goodsTypes) + if (gt.isRefined()) return gt; + + return null; + } + /** * Selects the most desirable goods from the colony. * @@ -186,8 +192,7 @@ public class IndianDemandMission extends Mission { // Otherwise try military, building, trade, refined goods in order, if (goods == null) { - GoodsType goodsType = first(flatten(selectPredicates, - pred -> transform(goodsTypes, gt -> pred.test(gt)).stream())); + GoodsType goodsType = pickGoodsType(goodsTypes); if (goodsType != null) { goods = new Goods(getGame(), target, goodsType, capAmount(target.getGoodsCount(goodsType), dx)); -- 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