diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java b/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java index b36672e8d0e..ab6dda6667c 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestUtil.java @@ -1,15 +1,16 @@ package forge.planarconquest; -import java.util.ArrayList; -import java.util.EnumMap; import java.util.EnumSet; -import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Map.Entry; +import java.util.Set; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import forge.assets.FSkinProp; import forge.assets.IHasSkinProp; @@ -44,7 +45,7 @@ public class ConquestUtil { public static Deck generateDeck(PaperCard commander, IDeckGenPool pool, boolean forAi) { ColorSet colorID = commander.getRules().getColorIdentity(); - List colors = new ArrayList(); + List colors = Lists.newArrayList(); if (colorID.hasWhite()) { colors.add("White"); } if (colorID.hasBlue()) { colors.add("Blue"); } if (colorID.hasBlack()) { colors.add("Black"); } @@ -105,7 +106,7 @@ public class ConquestUtil { } public static CardPool getAvailablePool(Deck deck) { - HashSet availableCards = new HashSet(); + Set availableCards = Sets.newHashSet(); ConquestData model = FModel.getConquest().getModel(); for (PaperCard pc : model.getUnlockedCards()) { availableCards.add(pc); @@ -253,7 +254,7 @@ public class ConquestUtil { if (predicate instanceof RarityFilter) { float total = 0; CardRarity rarity = null; - EnumMap rarityOdds = ((RarityFilter)predicate).rarityOdds; + Map rarityOdds = ((RarityFilter)predicate).rarityOdds; for (Entry entry : rarityOdds.entrySet()) { rarity = entry.getKey(); total += entry.getValue(); @@ -290,7 +291,7 @@ public class ConquestUtil { public static void updateRarityFilterOdds() { ConquestPreferences prefs = FModel.getConquestPreferences(); - EnumMap odds = new EnumMap(CardRarity.class); + Map odds = Maps.newEnumMap(CardRarity.class); double commonsPerBooster = prefs.getPrefInt(CQPref.BOOSTER_COMMONS); double uncommonPerBooster = prefs.getPrefInt(CQPref.BOOSTER_UNCOMMONS); double raresPerBooster = prefs.getPrefInt(CQPref.BOOSTER_RARES); @@ -365,15 +366,15 @@ public class ConquestUtil { } private static class TypeFilter implements Predicate { - private final EnumSet types; - private final EnumSet nonTypes; + private final Iterable types; + private final Iterable nonTypes; - private TypeFilter(EnumSet types0) { + private TypeFilter(Iterable types0) { types = types0; nonTypes = null; } - private TypeFilter(EnumSet types0, EnumSet nonTypes0) { + private TypeFilter(Iterable types0, Iterable nonTypes0) { types = types0; nonTypes = nonTypes0; } @@ -381,15 +382,15 @@ public class ConquestUtil { @Override public boolean apply(PaperCard card) { CardType cardType = card.getRules().getType(); + if (nonTypes != null) { + for (CoreType nonType : nonTypes) { + if (cardType.hasType(nonType)) { + return false; + } + } + } for (CoreType type : types) { if (cardType.hasType(type)) { - if (nonTypes != null) { - for (CoreType nonType : nonTypes) { - if (cardType.hasType(nonType)) { - return false; - } - } - } return true; } } @@ -398,16 +399,16 @@ public class ConquestUtil { } private static class RarityFilter implements Predicate { - private final EnumMap rarityOdds; + private final Map rarityOdds; - private RarityFilter(EnumSet rarities0) { - rarityOdds = new EnumMap(CardRarity.class); + private RarityFilter(Iterable rarities0) { + rarityOdds = Maps.newEnumMap(CardRarity.class); for (CardRarity rarity : rarities0) { rarityOdds.put(rarity, 0d); //values will be set later } } - private String updateOdds(EnumMap oddsLookup) { + private String updateOdds(Map oddsLookup) { double baseOdds = 0; double remainingOdds = 1; CardRarity baseRarity = null;