diff --git a/src/main/java/forge/deck/Deck.java b/src/main/java/forge/deck/Deck.java index 80f61941ae0..cf0a3518e6d 100644 --- a/src/main/java/forge/deck/Deck.java +++ b/src/main/java/forge/deck/Deck.java @@ -25,6 +25,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -32,7 +34,6 @@ import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; import com.google.common.base.Function; -import com.google.common.base.Predicate; import forge.deck.io.DeckFileHeader; import forge.deck.io.DeckSerializer; @@ -65,7 +66,7 @@ public class Deck extends DeckBase implements Iterable parts = new EnumMap(DeckSection.class); - private final List tags = new ArrayList(); + private final Set tags = new TreeSet(String.CASE_INSENSITIVE_ORDER); // gameType is from Constant.GameType, like GameType.Regular /** @@ -123,16 +124,6 @@ public class Deck extends DeckBase implements Iterable getCardPool() { - return this.parts.get(DeckSection.Main); - } - /* (non-Javadoc) * @see forge.deck.DeckBase#cloneFieldsTo(forge.deck.DeckBase) */ @@ -292,7 +283,6 @@ public class Deck extends DeckBase implements Iterable s : parts.entrySet()) { out.add(String.format("[%s]", s.getKey().toString())); @@ -309,19 +299,6 @@ public class Deck extends DeckBase implements Iterable AI_KNOWS_HOW_TO_PLAY_ALL_CARDS = new Predicate() { - @Override - public boolean apply(Deck d) { - for(Entry cp: d) { - for(Entry e : cp.getValue()) { - if ( e.getKey().getRules().getAiHints().getRemAIDecks() ) - return false; - } - } - return true; - } - }; - /* (non-Javadoc) * @see java.lang.Iterable#iterator() */ @@ -331,9 +308,9 @@ public class Deck extends DeckBase implements Iterable getTags() { + public Set getTags() { return tags; } } diff --git a/src/main/java/forge/deck/DeckBase.java b/src/main/java/forge/deck/DeckBase.java index 50d916157bb..86bb846abf2 100644 --- a/src/main/java/forge/deck/DeckBase.java +++ b/src/main/java/forge/deck/DeckBase.java @@ -19,9 +19,6 @@ package forge.deck; import java.io.Serializable; -import forge.item.CardPrinted; -import forge.item.ItemPoolView; - /** * TODO: Write javadoc for this type. * @@ -77,13 +74,6 @@ public abstract class DeckBase implements Serializable, Comparable { return this.name; } - /** - * Gets the card pool. - * - * @return the card pool - */ - public abstract ItemPoolView getCardPool(); - /** * Sets the comment. * diff --git a/src/main/java/forge/deck/DeckGroup.java b/src/main/java/forge/deck/DeckGroup.java index a3a2c9787f1..13147718fb3 100644 --- a/src/main/java/forge/deck/DeckGroup.java +++ b/src/main/java/forge/deck/DeckGroup.java @@ -20,15 +20,10 @@ package forge.deck; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; -// import java.lang.Double; import java.util.List; import com.google.common.base.Function; - -import forge.item.CardPrinted; -import forge.item.ItemPoolView; - /** * TODO: Write javadoc for this type. * @@ -112,14 +107,6 @@ public class DeckGroup extends DeckBase { this.aiDecks.add(aiDeck); } - /* (non-Javadoc) - * @see forge.deck.DeckBase#getCardPool() - */ - @Override - public ItemPoolView getCardPool() { - return this.getHumanDeck().getMain(); - } - /** * Adds the ai decks. * diff --git a/src/main/java/forge/game/ai/ComputerUtilCard.java b/src/main/java/forge/game/ai/ComputerUtilCard.java index ad45c964952..8185acb6271 100644 --- a/src/main/java/forge/game/ai/ComputerUtilCard.java +++ b/src/main/java/forge/game/ai/ComputerUtilCard.java @@ -22,8 +22,12 @@ import forge.CardUtil; import forge.Constant; import forge.card.CardType; import forge.card.spellability.SpellAbility; +import forge.deck.CardPool; +import forge.deck.Deck; +import forge.deck.DeckSection; import forge.game.player.Player; import forge.game.zone.ZoneType; +import forge.item.CardPrinted; import forge.util.Aggregates; import forge.util.MyRandom; @@ -914,4 +918,17 @@ public class ComputerUtilCard { return worstLand; } // end getWorstLand + public static final Predicate AI_KNOWS_HOW_TO_PLAY_ALL_CARDS = new Predicate() { + @Override + public boolean apply(Deck d) { + for(Entry cp: d) { + for(Entry e : cp.getValue()) { + if ( e.getKey().getRules().getAiHints().getRemAIDecks() ) + return false; + } + } + return true; + } + }; + } diff --git a/src/main/java/forge/game/limited/CustomLimited.java b/src/main/java/forge/game/limited/CustomLimited.java index 0bbf556f974..b89dc2c7863 100644 --- a/src/main/java/forge/game/limited/CustomLimited.java +++ b/src/main/java/forge/game/limited/CustomLimited.java @@ -216,7 +216,6 @@ public class CustomLimited extends DeckBase { * * @see forge.item.CardCollectionBase#getCardPool() */ - @Override public ItemPoolView getCardPool() { return this.cardPool; }