From: "Enrico Weigelt, metux IT consult" <[email protected]>
---
.../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
[email protected]
https://lists.sourceforge.net/lists/listinfo/freecol-developers