diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index b9722127833..f4aaf1eb293 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -786,7 +786,7 @@ public final class CardDb implements ICardDatabase, IDeckGenPool { List cards; Predicate cardQueryFilter; - filter = (filter != null) ? filter : Predicates.alwaysTrue(); + filter = filter != null ? filter : (x -> true); if (releaseDate != null) { cardQueryFilter = c -> { if (c.getArtIndex() != cr.artIndex) diff --git a/forge-core/src/main/java/forge/item/IPaperCard.java b/forge-core/src/main/java/forge/item/IPaperCard.java index c8dc407f148..cf544ff92f4 100644 --- a/forge-core/src/main/java/forge/item/IPaperCard.java +++ b/forge-core/src/main/java/forge/item/IPaperCard.java @@ -43,14 +43,14 @@ public interface IPaperCard extends InventoryItem, Serializable { public static Predicate printedInSets(final List value, final boolean shouldContain) { if ((value == null) || value.isEmpty()) { - return forge.util.Predicates.alwaysTrue(); + return x -> true; } return new PredicateSets(value, shouldContain); } public static Predicate printedInSet(final String value) { if (StringUtils.isEmpty(value)) { - return forge.util.Predicates.alwaysTrue(); + return x -> true; } return new PredicateSets(Lists.newArrayList(value), true); } diff --git a/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java b/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java index 4b49a0e2883..a9812e1cc83 100644 --- a/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java +++ b/forge-core/src/main/java/forge/item/generation/BoosterGenerator.java @@ -568,7 +568,7 @@ public class BoosterGenerator { public static PrintSheet makeSheet(String sheetKey, Iterable src) { PrintSheet ps = new PrintSheet(sheetKey); String[] sKey = TextUtil.splitWithParenthesis(sheetKey, ' ', 2); - Predicate setPred = (Predicate) (sKey.length > 1 ? IPaperCard.Predicates.printedInSets(sKey[1].split(" ")) : Predicates.alwaysTrue()); + Predicate setPred = sKey.length > 1 ? IPaperCard.Predicates.printedInSets(sKey[1].split(" ")) : x1 -> true; List operators = new LinkedList<>(Arrays.asList(TextUtil.splitWithParenthesis(sKey[0], ':'))); Predicate extraPred = buildExtraPredicate(operators); @@ -585,7 +585,7 @@ public class BoosterGenerator { String sheetName = StringUtils.strip(mainCode.substring(10), "()\" "); System.out.println("Attempting to lookup: " + sheetName); src = StaticData.instance().getPrintSheets().get(sheetName).toFlatList(); - setPred = Predicates.alwaysTrue(); + setPred = x -> true; } else if (mainCode.startsWith("promo") || mainCode.startsWith("name")) { // get exactly the named cards, that's a tiny inlined print sheet String list = StringUtils.strip(mainCode.substring(5), "() "); @@ -597,7 +597,7 @@ public class BoosterGenerator { } src = srcList; - setPred = Predicates.alwaysTrue(); + setPred = x -> true; } else { continue; } @@ -732,7 +732,7 @@ public class BoosterGenerator { } if (conditions.isEmpty()) { - return Predicates.alwaysTrue(); + return x -> true; } return Predicates.and(conditions); diff --git a/forge-core/src/main/java/forge/util/Predicates.java b/forge-core/src/main/java/forge/util/Predicates.java index a737dff836b..829257b3a7a 100644 --- a/forge-core/src/main/java/forge/util/Predicates.java +++ b/forge-core/src/main/java/forge/util/Predicates.java @@ -24,9 +24,7 @@ public class Predicates { //TODO: Inline everything below. - public static Predicate alwaysTrue() { - return x -> true; - } + public static Predicate not(Predicate predicate) { return predicate.negate(); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java index 8151c8f05a4..d8c34e1985a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardNameEffect.java @@ -112,7 +112,7 @@ public class ChooseCardNameEffect extends SpellAbilityEffect { } } else { // use CardFace because you might name a alternate names - Predicate cpp = Predicates.alwaysTrue(); + Predicate cpp = x -> true; if (sa.hasParam("ValidCards")) { //Calculating/replacing this must happen before running valid in CardFacePredicates if (valid.contains("cmcEQ") && !StringUtils.isNumeric(valid.split("cmcEQ")[1])) { diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index b595ef7ae2e..61f6a3bddba 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -212,7 +212,7 @@ public class CardFactoryUtil { public static boolean handleHiddenAgenda(Player player, Card card) { SpellAbility sa = new SpellAbility.EmptySa(card); sa.putParam("AILogic", card.getSVar("AgendaLogic")); - Predicate cpp = Predicates.alwaysTrue(); + Predicate cpp = x -> true; //Predicate pc = Predicates.in(player.getAllCards()); // TODO This would be better to send in the player's deck, not all cards String name = player.getController().chooseCardName(sa, cpp, "Card", diff --git a/forge-game/src/main/java/forge/game/combat/AttackRestrictionType.java b/forge-game/src/main/java/forge/game/combat/AttackRestrictionType.java index 9d85781054e..9cfd08e7ecf 100644 --- a/forge-game/src/main/java/forge/game/combat/AttackRestrictionType.java +++ b/forge-game/src/main/java/forge/game/combat/AttackRestrictionType.java @@ -18,16 +18,16 @@ public enum AttackRestrictionType { public Predicate getPredicate(final Card attacker) { switch (this) { - case NEED_GREATER_POWER: - return CardPredicates.hasGreaterPowerThan(attacker.getNetPower()); - case NEED_BLACK_OR_GREEN: - return Predicates.and( - CardPredicates.isColor((byte) (MagicColor.BLACK | MagicColor.GREEN)), - // may explicitly not be black/green itself - Predicates.not(Predicates.equalTo(attacker))); - case NOT_ALONE: - return Predicates.alwaysTrue(); - default: + case NEED_GREATER_POWER: + return CardPredicates.hasGreaterPowerThan(attacker.getNetPower()); + case NEED_BLACK_OR_GREEN: + return Predicates.and( + CardPredicates.isColor((byte) (MagicColor.BLACK | MagicColor.GREEN)), + // may explicitly not be black/green itself + Predicates.not(Predicates.equalTo(attacker))); + case NOT_ALONE: + return x -> true; + default: } return null; } diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCRangeFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCRangeFilter.java index 7a6d01cfc09..3a69a6ee882 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCRangeFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardCMCRangeFilter.java @@ -31,7 +31,7 @@ public class CardCMCRangeFilter extends ValueRangeFilter { protected Predicate buildPredicate() { Predicate predicate = getCardRulesFieldPredicate(CardRulesPredicates.LeafNumber.CardField.CMC); if (predicate == null) { - return Predicates.alwaysTrue(); + return x -> true; } return Predicates.compose(predicate, PaperCard::getRules); } diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardPowerFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardPowerFilter.java index 8a2ed8c7f87..e006b629b78 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardPowerFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardPowerFilter.java @@ -31,7 +31,7 @@ public class CardPowerFilter extends ValueRangeFilter { protected Predicate buildPredicate() { Predicate predicate = getCardRulesFieldPredicate(CardRulesPredicates.LeafNumber.CardField.POWER); if (predicate == null) { - return Predicates.alwaysTrue(); + return x -> true; } predicate = Predicates.and(predicate, CardRulesPredicates.Presets.IS_CREATURE); return Predicates.compose(predicate, PaperCard::getRules); diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardToughnessFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardToughnessFilter.java index 5d10dc1760b..19bdd73cb3f 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardToughnessFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/CardToughnessFilter.java @@ -31,7 +31,7 @@ public class CardToughnessFilter extends ValueRangeFilter { protected Predicate buildPredicate() { Predicate predicate = getCardRulesFieldPredicate(CardRulesPredicates.LeafNumber.CardField.TOUGHNESS); if (predicate == null) { - return Predicates.alwaysTrue(); + return x -> true; } predicate = Predicates.and(predicate, CardRulesPredicates.Presets.IS_CREATURE); return Predicates.compose(predicate, PaperCard::getRules); diff --git a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java index ab536d9e2ec..c6973e10168 100644 --- a/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java +++ b/forge-gui-desktop/src/main/java/forge/itemmanager/filters/TextSearchFilter.java @@ -14,7 +14,6 @@ import forge.itemmanager.SFilterUtil; import forge.toolbox.FTextField; import forge.toolbox.LayoutHelper; import forge.util.Localizer; -import forge.util.Predicates; public class TextSearchFilter extends ItemFilter { @@ -113,7 +112,7 @@ public class TextSearchFilter extends ItemFilter { protected Predicate buildPredicate() { String text = txtSearch.getText(); if (text.trim().isEmpty()) { - return Predicates.alwaysTrue(); + return x -> true; } return SFilterUtil.buildItemTextFilter(text); } diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/CardCMCFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/CardCMCFilter.java index 8ecdb69d97b..ee8116280c3 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/CardCMCFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/CardCMCFilter.java @@ -28,7 +28,7 @@ public class CardCMCFilter extends ValueRangeFilter { protected Predicate buildPredicate() { Predicate predicate = getCardRulesFieldPredicate(CardRulesPredicates.LeafNumber.CardField.CMC); if (predicate == null) { - return Predicates.alwaysTrue(); + return x -> true; } return Predicates.compose(predicate, PaperCard::getRules); } diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/CardColorlessCostFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/CardColorlessCostFilter.java index 5ff7ac2897b..45add3f6db5 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/CardColorlessCostFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/CardColorlessCostFilter.java @@ -28,7 +28,7 @@ public class CardColorlessCostFilter extends ValueRangeFilter { protected Predicate buildPredicate() { Predicate predicate = getCardRulesFieldPredicate(CardRulesPredicates.LeafNumber.CardField.GENERIC_COST); if (predicate == null) { - return Predicates.alwaysTrue(); + return x -> true; } return Predicates.compose(predicate, PaperCard::getRules); } diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/CardFormatFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/CardFormatFilter.java index 36abb625625..3dfe6012ad3 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/CardFormatFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/CardFormatFilter.java @@ -2,7 +2,6 @@ package forge.itemmanager.filters; import forge.item.PaperCard; import forge.itemmanager.ItemManager; -import forge.util.Predicates; import java.util.function.Predicate; @@ -22,7 +21,7 @@ public class CardFormatFilter extends FormatFilter { @Override protected final Predicate buildPredicate() { if (format == null) { - return Predicates.alwaysTrue(); + return x -> true; } if (format.getName() == null) { return format.getFilterPrinted(); //if format is collection of sets, don't show reprints in other sets diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/CardPowerFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/CardPowerFilter.java index c23a7d3fe9e..1f0b1b0cfb4 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/CardPowerFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/CardPowerFilter.java @@ -28,7 +28,7 @@ public class CardPowerFilter extends ValueRangeFilter { protected Predicate buildPredicate() { Predicate predicate = getCardRulesFieldPredicate(CardRulesPredicates.LeafNumber.CardField.POWER); if (predicate == null) { - return Predicates.alwaysTrue(); + return x -> true; } predicate = Predicates.and(predicate, CardRulesPredicates.Presets.IS_CREATURE); return Predicates.compose(predicate, PaperCard::getRules); diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/CardToughnessFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/CardToughnessFilter.java index 59d205164cf..a12822a890b 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/CardToughnessFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/CardToughnessFilter.java @@ -28,7 +28,7 @@ public class CardToughnessFilter extends ValueRangeFilter { protected Predicate buildPredicate() { Predicate predicate = getCardRulesFieldPredicate(CardRulesPredicates.LeafNumber.CardField.TOUGHNESS); if (predicate == null) { - return Predicates.alwaysTrue(); + return x -> true; } predicate = Predicates.and(predicate, CardRulesPredicates.Presets.IS_CREATURE); return Predicates.compose(predicate, PaperCard::getRules); diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/DeckFormatFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/DeckFormatFilter.java index 1e4b7ee55f0..fc44a46fc2b 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/DeckFormatFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/DeckFormatFilter.java @@ -2,7 +2,6 @@ package forge.itemmanager.filters; import forge.deck.DeckProxy; import forge.itemmanager.ItemManager; -import forge.util.Predicates; import java.util.function.Predicate; @@ -22,7 +21,7 @@ public class DeckFormatFilter extends FormatFilter { @Override protected final Predicate buildPredicate() { if (format == null) { - return Predicates.alwaysTrue(); + return x -> true; } return input -> format.isDeckLegal(input.getDeck()); } diff --git a/forge-gui-mobile/src/forge/itemmanager/filters/TextSearchFilter.java b/forge-gui-mobile/src/forge/itemmanager/filters/TextSearchFilter.java index d2d7b658d62..63bb93efa66 100644 --- a/forge-gui-mobile/src/forge/itemmanager/filters/TextSearchFilter.java +++ b/forge-gui-mobile/src/forge/itemmanager/filters/TextSearchFilter.java @@ -10,7 +10,6 @@ import forge.itemmanager.ItemManager; import forge.itemmanager.SFilterUtil; import forge.toolbox.FDisplayObject; import forge.toolbox.FTextField; -import forge.util.Predicates; import java.util.function.Predicate; @@ -63,7 +62,7 @@ public class TextSearchFilter extends ItemFilter { protected Predicate buildPredicate() { String text = txtSearch.getText(); if (text.trim().isEmpty()) { - return Predicates.alwaysTrue(); + return x -> true; } return SFilterUtil.buildItemTextFilter(text); } diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java index 7a9d9505d26..5cce5a4d3be 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java @@ -278,7 +278,7 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { addLandKeyCards(); // 8. Add non-basic lands - List duals = getDualLandList(isForAI ? CardRulesPredicates.IS_KEPT_IN_AI_DECKS : Predicates.alwaysTrue()); + List duals = getDualLandList(isForAI ? CardRulesPredicates.IS_KEPT_IN_AI_DECKS : x -> true); addNonBasicLands(); if (logToConsole) { System.out.println("Post Nonbasic lands : " + deckList.size()); diff --git a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java index b1c8ff0c0e4..22fa9d04ffe 100644 --- a/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java +++ b/forge-gui/src/main/java/forge/gamemodes/planarconquest/ConquestRegion.java @@ -106,7 +106,7 @@ public class ConquestRegion { String name = null; String artCardName = null; ColorSet colorSet = ColorSet.ALL_COLORS; - Predicate pred = Predicates.alwaysTrue(); + Predicate pred = x -> true; String key, value; String[] pieces = line.split("\\|"); diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java b/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java index c41f4311df7..9f40533d9ff 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/BoosterUtils.java @@ -126,7 +126,7 @@ public final class BoosterUtils { } - Predicate filter = Predicates.alwaysTrue(); + Predicate filter = x -> true; if (formatStartingPool != null) { filter = formatStartingPool.getFilterPrinted(); } diff --git a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java index 43e4ab7ab2b..792ed0a8ae4 100644 --- a/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java +++ b/forge-gui/src/main/java/forge/itemmanager/AdvancedSearch.java @@ -1538,7 +1538,7 @@ public class AdvancedSearch { public Predicate getPredicate() { if (isEmpty()) { - return Predicates.alwaysTrue(); + return x -> true; } return getPredicatePiece(new ExpressionIterator()); } diff --git a/forge-gui/src/main/java/forge/itemmanager/BooleanExpression.java b/forge-gui/src/main/java/forge/itemmanager/BooleanExpression.java index fe6c057040f..b7ff9982213 100644 --- a/forge-gui/src/main/java/forge/itemmanager/BooleanExpression.java +++ b/forge-gui/src/main/java/forge/itemmanager/BooleanExpression.java @@ -162,7 +162,7 @@ public class BooleanExpression { if (!predicates.isEmpty()) { return Predicates.or(predicates); } - return Predicates.alwaysTrue(); + return x -> true; } diff --git a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java index 388fec5d5af..916d95a2566 100644 --- a/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java +++ b/forge-gui/src/main/java/forge/itemmanager/SFilterUtil.java @@ -41,7 +41,7 @@ public class SFilterUtil { text = text.trim(); if (text.isEmpty()) { - return Predicates.alwaysTrue(); + return x -> true; } if (BooleanExpression.isExpression(text)) { @@ -117,7 +117,7 @@ public class SFilterUtil { public static Predicate buildItemTextFilter(String text) { if (text.trim().isEmpty()) { - return Predicates.alwaysTrue(); + return x -> true; } return new ItemTextPredicate<>(text);