diff --git a/forge-core/src/main/java/forge/deck/DeckFormat.java b/forge-core/src/main/java/forge/deck/DeckFormat.java index a27f53c074c..d2b39e98c99 100644 --- a/forge-core/src/main/java/forge/deck/DeckFormat.java +++ b/forge-core/src/main/java/forge/deck/DeckFormat.java @@ -482,10 +482,12 @@ public enum DeckFormat { }; } - public Predicate hasLegalCardsPredicate() { + public Predicate hasLegalCardsPredicate(boolean enforceDeckLegality) { return new Predicate() { @Override public boolean apply(Deck deck) { + if (!enforceDeckLegality) + return true; if (cardPoolFilter != null) { for (final Entry cp : deck.getAllCardsInASinglePool()) { if (!cardPoolFilter.apply(cp.getKey().getRules())) { diff --git a/forge-gui/src/main/java/forge/deck/DeckProxy.java b/forge-gui/src/main/java/forge/deck/DeckProxy.java index c08eea1878b..02722104e48 100644 --- a/forge-gui/src/main/java/forge/deck/DeckProxy.java +++ b/forge-gui/src/main/java/forge/deck/DeckProxy.java @@ -473,9 +473,9 @@ public class DeckProxy implements InventoryItem { public static Iterable getAllTinyLeadersDecks(Predicate filter) { final List result = new ArrayList<>(); if (filter == null) { - filter = DeckFormat.TinyLeaders.hasLegalCardsPredicate(); + filter = DeckFormat.TinyLeaders.hasLegalCardsPredicate(FModel.getPreferences().getPrefBoolean(FPref.ENFORCE_DECK_LEGALITY)); } else { - filter = Predicates.and(DeckFormat.TinyLeaders.hasLegalCardsPredicate(), filter); + filter = Predicates.and(DeckFormat.TinyLeaders.hasLegalCardsPredicate(FModel.getPreferences().getPrefBoolean(FPref.ENFORCE_DECK_LEGALITY)), filter); } addDecksRecursivelly("Tiny Leaders", GameType.TinyLeaders, result, "", FModel.getDecks().getTinyLeaders(), filter); return result; @@ -487,9 +487,9 @@ public class DeckProxy implements InventoryItem { public static Iterable getAllBrawlDecks(Predicate filter) { final List result = new ArrayList<>(); if (filter == null) { - filter = DeckFormat.Brawl.hasLegalCardsPredicate(); + filter = DeckFormat.Brawl.hasLegalCardsPredicate(FModel.getPreferences().getPrefBoolean(FPref.ENFORCE_DECK_LEGALITY)); } else { - filter = Predicates.and(DeckFormat.Brawl.hasLegalCardsPredicate(), filter); + filter = Predicates.and(DeckFormat.Brawl.hasLegalCardsPredicate(FModel.getPreferences().getPrefBoolean(FPref.ENFORCE_DECK_LEGALITY)), filter); } addDecksRecursivelly("Brawl", GameType.Brawl, result, "", FModel.getDecks().getBrawl(), filter); return result;