mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
Guava migration - Explode Predicate "Presets" subclasses
This commit is contained in:
@@ -24,12 +24,12 @@ import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import forge.item.PaperCardPredicates;
|
||||
import forge.util.Iterables;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import forge.card.CardEdition;
|
||||
import forge.item.IPaperCard;
|
||||
import forge.item.PaperCard;
|
||||
import forge.localinstance.properties.ForgeConstants;
|
||||
import forge.model.FModel;
|
||||
@@ -374,7 +374,7 @@ public class ImportSourceAnalyzer {
|
||||
cardFileNamesBySet = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||
for (final CardEdition ce : FModel.getMagicDb().getEditions()) {
|
||||
final Map<String, String> cardFileNames = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||
final Predicate<PaperCard> filter = IPaperCard.Predicates.printedInSet(ce.getCode());
|
||||
final Predicate<PaperCard> filter = PaperCardPredicates.printedInSet(ce.getCode());
|
||||
addSetCards(cardFileNames, FModel.getMagicDb().getCommonCards().getAllCards(), filter);
|
||||
addSetCards(cardFileNames, FModel.getMagicDb().getVariantCards().getAllCards(), filter);
|
||||
cardFileNamesBySet.put(ce.getCode2(), cardFileNames);
|
||||
|
||||
@@ -33,7 +33,7 @@ public class CardPowerFilter extends ValueRangeFilter<PaperCard> {
|
||||
if (predicate == null) {
|
||||
return x -> true;
|
||||
}
|
||||
predicate = predicate.and(CardRulesPredicates.Presets.IS_CREATURE);
|
||||
predicate = predicate.and(CardRulesPredicates.IS_CREATURE);
|
||||
return Predicates.compose(predicate, PaperCard::getRules);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public class CardToughnessFilter extends ValueRangeFilter<PaperCard> {
|
||||
if (predicate == null) {
|
||||
return x -> true;
|
||||
}
|
||||
predicate = predicate.and(CardRulesPredicates.Presets.IS_CREATURE);
|
||||
predicate = predicate.and(CardRulesPredicates.IS_CREATURE);
|
||||
return Predicates.compose(predicate, PaperCard::getRules);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ public abstract class StatTypeFilter<T extends InventoryItem> extends ToggleButt
|
||||
protected <U extends InventoryItem> boolean showUnsupportedItem(U item) {
|
||||
FLabel btnPackOrDeck = buttonMap.get(StatTypes.PACK_OR_DECK); //support special pack/deck case
|
||||
if (btnPackOrDeck != null && btnPackOrDeck.isSelected()) {
|
||||
return ItemPredicate.Presets.IS_PACK_OR_DECK.test(item);
|
||||
return ItemPredicate.IS_PACK_OR_DECK.test(item);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -70,7 +70,7 @@ public abstract class StatTypeFilter<T extends InventoryItem> extends ToggleButt
|
||||
|
||||
FLabel btnPackOrDeck = buttonMap.get(StatTypes.PACK_OR_DECK);
|
||||
if (btnPackOrDeck != null) { //support special pack/deck case
|
||||
int count = items.countAll(ItemPredicate.Presets.IS_PACK_OR_DECK, InventoryItem.class);
|
||||
int count = items.countAll(ItemPredicate.IS_PACK_OR_DECK, InventoryItem.class);
|
||||
btnPackOrDeck.setText(String.valueOf(count));
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ public enum CDeckgen implements ICDoc {
|
||||
|
||||
final Deck randomDeck = new Deck();
|
||||
|
||||
final Predicate<PaperCard> notBasicLand = Predicates.compose(CardRulesPredicates.Presets.NOT_BASIC_LAND, PaperCard::getRules);
|
||||
final Predicate<PaperCard> notBasicLand = Predicates.compose(CardRulesPredicates.NOT_BASIC_LAND, PaperCard::getRules);
|
||||
final Iterable<PaperCard> source = Iterables.filter(FModel.getMagicDb().getCommonCards().getUniqueCards(), notBasicLand);
|
||||
randomDeck.getMain().addAllFlat(Aggregates.random(source, 15 * 5));
|
||||
|
||||
|
||||
@@ -82,14 +82,14 @@ public final class CEditorCommander extends CDeckEditor<Deck> {
|
||||
CardDb commonCards = FModel.getMagicDb().getCommonCards();
|
||||
if (gameType == GameType.Brawl){
|
||||
GameFormat format = FModel.getFormats().get("Brawl");
|
||||
Predicate<CardRules> commanderFilter = CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER;
|
||||
Predicate<CardRules> commanderFilter = CardRulesPredicates.CAN_BE_BRAWL_COMMANDER;
|
||||
commanderPool = ItemPool.createFrom(commonCards.getAllCardsNoAlt(format.getFilterPrinted().and(Predicates.compose(commanderFilter, PaperCard::getRules))), PaperCard.class);
|
||||
normalPool = ItemPool.createFrom(format.getAllCards(), PaperCard.class);
|
||||
}
|
||||
else {
|
||||
Predicate<CardRules> commanderFilter = gameType == GameType.Oathbreaker
|
||||
? CardRulesPredicates.Presets.CAN_BE_OATHBREAKER.or(CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL)
|
||||
: CardRulesPredicates.Presets.CAN_BE_COMMANDER;
|
||||
? CardRulesPredicates.CAN_BE_OATHBREAKER.or(CardRulesPredicates.CAN_BE_SIGNATURE_SPELL)
|
||||
: CardRulesPredicates.CAN_BE_COMMANDER;
|
||||
commanderPool = ItemPool.createFrom(commonCards.getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard::getRules)),PaperCard.class);
|
||||
normalPool = ItemPool.createFrom(commonCards.getAllCardsNoAlt(), PaperCard.class);
|
||||
}
|
||||
|
||||
@@ -346,7 +346,7 @@ public final class CEditorQuest extends CDeckEditor<Deck> {
|
||||
}
|
||||
|
||||
private ItemPool<PaperCard> getCommanderCardPool(){
|
||||
Predicate<PaperCard> commanderPredicate = Predicates.compose(CardRulesPredicates.Presets.CAN_BE_COMMANDER, PaperCard::getRules);
|
||||
Predicate<PaperCard> commanderPredicate = Predicates.compose(CardRulesPredicates.CAN_BE_COMMANDER, PaperCard::getRules);
|
||||
return getRemainingCardPool().getFilteredPool(commanderPredicate);
|
||||
}
|
||||
|
||||
|
||||
@@ -76,16 +76,16 @@ public enum CStatistics implements ICDoc {
|
||||
// Hack-ish: avoid /0 cases, but still populate labels :)
|
||||
if (total == 0) { total = 1; }
|
||||
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblCreature(), deck, CardRulesPredicates.Presets.IS_CREATURE, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblLand(), deck, CardRulesPredicates.Presets.IS_LAND, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblEnchantment(), deck, CardRulesPredicates.Presets.IS_ENCHANTMENT, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblArtifact(), deck, CardRulesPredicates.Presets.IS_ARTIFACT, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblInstant(), deck, CardRulesPredicates.Presets.IS_INSTANT, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblSorcery(), deck, CardRulesPredicates.Presets.IS_SORCERY, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblPlaneswalker(), deck, CardRulesPredicates.Presets.IS_PLANESWALKER, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblCreature(), deck, CardRulesPredicates.IS_CREATURE, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblLand(), deck, CardRulesPredicates.IS_LAND, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblEnchantment(), deck, CardRulesPredicates.IS_ENCHANTMENT, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblArtifact(), deck, CardRulesPredicates.IS_ARTIFACT, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblInstant(), deck, CardRulesPredicates.IS_INSTANT, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblSorcery(), deck, CardRulesPredicates.IS_SORCERY, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblPlaneswalker(), deck, CardRulesPredicates.IS_PLANESWALKER, total);
|
||||
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblMulti(), deck, CardRulesPredicates.Presets.IS_MULTICOLOR, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblColorless(), deck, CardRulesPredicates.Presets.IS_COLORLESS, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblMulti(), deck, CardRulesPredicates.IS_MULTICOLOR, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblColorless(), deck, CardRulesPredicates.IS_COLORLESS, total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblBlack(), deck, CardRulesPredicates.isMonoColor(MagicColor.BLACK), total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblBlue(), deck, CardRulesPredicates.isMonoColor(MagicColor.BLUE), total);
|
||||
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblGreen(), deck, CardRulesPredicates.isMonoColor(MagicColor.GREEN), total);
|
||||
|
||||
@@ -57,16 +57,16 @@ public class CStatisticsImporter {
|
||||
// Hack-ish: avoid /0 cases, but still populate labels :)
|
||||
if (total == 0) { total = 1; }
|
||||
|
||||
setLabelValue(this.view.getLblCreature(), deck, CardRulesPredicates.Presets.IS_CREATURE, total);
|
||||
setLabelValue(this.view.getLblLand(), deck, CardRulesPredicates.Presets.IS_LAND, total);
|
||||
setLabelValue(this.view.getLblEnchantment(), deck, CardRulesPredicates.Presets.IS_ENCHANTMENT, total);
|
||||
setLabelValue(this.view.getLblArtifact(), deck, CardRulesPredicates.Presets.IS_ARTIFACT, total);
|
||||
setLabelValue(this.view.getLblInstant(), deck, CardRulesPredicates.Presets.IS_INSTANT, total);
|
||||
setLabelValue(this.view.getLblSorcery(), deck, CardRulesPredicates.Presets.IS_SORCERY, total);
|
||||
setLabelValue(this.view.getLblPlaneswalker(), deck, CardRulesPredicates.Presets.IS_PLANESWALKER, total);
|
||||
setLabelValue(this.view.getLblCreature(), deck, CardRulesPredicates.IS_CREATURE, total);
|
||||
setLabelValue(this.view.getLblLand(), deck, CardRulesPredicates.IS_LAND, total);
|
||||
setLabelValue(this.view.getLblEnchantment(), deck, CardRulesPredicates.IS_ENCHANTMENT, total);
|
||||
setLabelValue(this.view.getLblArtifact(), deck, CardRulesPredicates.IS_ARTIFACT, total);
|
||||
setLabelValue(this.view.getLblInstant(), deck, CardRulesPredicates.IS_INSTANT, total);
|
||||
setLabelValue(this.view.getLblSorcery(), deck, CardRulesPredicates.IS_SORCERY, total);
|
||||
setLabelValue(this.view.getLblPlaneswalker(), deck, CardRulesPredicates.IS_PLANESWALKER, total);
|
||||
|
||||
setLabelValue(this.view.getLblMulti(), deck, CardRulesPredicates.Presets.IS_MULTICOLOR, total);
|
||||
setLabelValue(this.view.getLblColorless(), deck, CardRulesPredicates.Presets.IS_COLORLESS, total);
|
||||
setLabelValue(this.view.getLblMulti(), deck, CardRulesPredicates.IS_MULTICOLOR, total);
|
||||
setLabelValue(this.view.getLblColorless(), deck, CardRulesPredicates.IS_COLORLESS, total);
|
||||
setLabelValue(this.view.getLblBlack(), deck, CardRulesPredicates.isMonoColor(MagicColor.BLACK), total);
|
||||
setLabelValue(this.view.getLblBlue(), deck, CardRulesPredicates.isMonoColor(MagicColor.BLUE), total);
|
||||
setLabelValue(this.view.getLblGreen(), deck, CardRulesPredicates.isMonoColor(MagicColor.GREEN), total);
|
||||
|
||||
@@ -77,8 +77,8 @@ public class PlanarConquestCommanderGeneraterGA extends PlanarConquestGeneraterG
|
||||
|
||||
Iterable<PaperCard> filtered= Iterables.filter(cards,
|
||||
Predicates.compose(CardRulesPredicates.IS_KEPT_IN_AI_DECKS, PaperCard::getRules)
|
||||
.and(Predicates.compose(CardRulesPredicates.Presets.IS_PLANESWALKER, PaperCard::getRules))
|
||||
//.and(Predicates.compose(CardRulesPredicates.Presets.IS_LEGENDARY, PaperCard::getRules))
|
||||
.and(Predicates.compose(CardRulesPredicates.IS_PLANESWALKER, PaperCard::getRules))
|
||||
//.and(Predicates.compose(CardRulesPredicates.IS_LEGENDARY, PaperCard::getRules))
|
||||
.and(gameFormat.getFilterPrinted())
|
||||
);
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ public class PlanarConquestGeneraterGA extends AbstractGeneticAlgorithm<Deck> {
|
||||
|
||||
Iterable<PaperCard> filtered= Iterables.filter(cards,
|
||||
Predicates.compose(CardRulesPredicates.IS_KEPT_IN_AI_DECKS, PaperCard::getRules)
|
||||
.and(Predicates.compose(CardRulesPredicates.Presets.IS_NON_LAND, PaperCard::getRules))
|
||||
.and(Predicates.compose(CardRulesPredicates.IS_NON_LAND, PaperCard::getRules))
|
||||
.and(gameFormat.getFilterPrinted())
|
||||
);
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ public class PlanarConquestTribalGeneraterGA extends PlanarConquestGeneraterGA {
|
||||
Iterable<PaperCard> filteredTribe= Iterables.filter(cards,
|
||||
Predicates.compose(CardRulesPredicates.IS_KEPT_IN_AI_DECKS, PaperCard::getRules)
|
||||
.and(Predicates.compose(CardRulesPredicates.hasCreatureType("Pirate"), PaperCard::getRules))
|
||||
.and(Predicates.compose(CardRulesPredicates.Presets.IS_CREATURE, PaperCard::getRules))
|
||||
.and(Predicates.compose(CardRulesPredicates.IS_CREATURE, PaperCard::getRules))
|
||||
.and(gameFormat.getFilterPrinted())
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user