diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardCMCFilter.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardCMCFilter.java index bac5ed6da78..7eb9fe570c6 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardCMCFilter.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardCMCFilter.java @@ -54,7 +54,12 @@ public class CardCMCFilter extends StatTypeFilter { } if (cmcs.size() == buttonMap.size()) { - return Predicates.alwaysTrue(); + return new Predicate() { //use custom return true delegate to validate the item is a card + @Override + public boolean apply(PaperCard card) { + return true; + } + }; } return Predicates.compose(Predicates.or(cmcs), PaperCard.FN_GET_RULES); } diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardColorFilter.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardColorFilter.java index d292c956e0a..2cd0cc6bb7a 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardColorFilter.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardColorFilter.java @@ -78,8 +78,11 @@ public class CardColorFilter extends StatTypeFilter { preFinal = CardRulesPredicates.canCastWithAvailable(colors); } } - else if (colors != MagicColor.ALL_COLORS) { - preFinal = Predicates.and(CardRulesPredicates.canCastWithAvailable(colors), Predicates.not(Presets.IS_MULTICOLOR)); + else { + preFinal = Predicates.not(Presets.IS_MULTICOLOR); + if (colors != MagicColor.ALL_COLORS) { + preFinal = Predicates.and(CardRulesPredicates.canCastWithAvailable(colors), preFinal); + } } if (!wantColorless) { if (colors != 0 && colors != MagicColor.ALL_COLORS) { @@ -91,7 +94,12 @@ public class CardColorFilter extends StatTypeFilter { } if (preFinal == null) { - return Predicates.alwaysTrue(); + return new Predicate() { //use custom return true delegate to validate the item is a card + @Override + public boolean apply(PaperCard card) { + return true; + } + }; } return Predicates.compose(preFinal, PaperCard.FN_GET_RULES); } diff --git a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardTypeFilter.java b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardTypeFilter.java index 97cbc7e733e..aa544dc2b1d 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardTypeFilter.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/itemmanager/filters/CardTypeFilter.java @@ -2,6 +2,7 @@ package forge.gui.toolbox.itemmanager.filters; import java.util.ArrayList; import java.util.List; + import javax.swing.JPanel; import com.google.common.base.Predicate; @@ -53,7 +54,12 @@ public class CardTypeFilter extends StatTypeFilter { } if (types.size() == buttonMap.size()) { - return Predicates.alwaysTrue(); + return new Predicate() { //use custom return true delegate to validate the item is a card + @Override + public boolean apply(PaperCard card) { + return true; + } + }; } return Predicates.compose(Predicates.or(types), PaperCard.FN_GET_RULES); }