diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPicturesService.java b/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPicturesService.java index fa5820d135f..0e747148eb4 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPicturesService.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPicturesService.java @@ -48,6 +48,9 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements private static final String ALL_MODERN_IMAGES = "- MODERN images (can be slow)"; private static final String ALL_STANDARD_IMAGES = "- STANDARD images"; private static final String ALL_TOKENS = "- TOKEN images"; + private static final String ALL_BASICS = "- BASIC LAND images"; + + private static final List basicList = Arrays.asList("Plains", "Island", "Swamp", "Mountain", "Forest"); private static final int MAX_ERRORS_COUNT_BEFORE_CANCEL = 50; @@ -303,6 +306,7 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements setNames.add(ALL_IMAGES); setNames.add(ALL_MODERN_IMAGES); setNames.add(ALL_STANDARD_IMAGES); + setNames.add(ALL_BASICS); } if (selectedSource.isTokenSource()) { setNames.add(ALL_TOKENS); @@ -328,6 +332,7 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements // find selected sets selectedSets.clear(); boolean onlyTokens = false; + boolean onlyBasics = false; List formatSets; List sourceSets = selectedSource.getSupportedSets(); switch (selectedItem) { @@ -350,6 +355,11 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements .forEachOrdered(selectedSets::add); break; + case ALL_BASICS: + selectedSets.addAll(selectedSource.getSupportedSets()); + onlyBasics = true; + break; + case ALL_TOKENS: selectedSets.addAll(selectedSource.getSupportedSets()); onlyTokens = true; @@ -370,7 +380,8 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements int numberCardImagesAvailable = 0; for (CardDownloadData data : cardsMissing) { if (data.isToken()) { - if (selectedSource.isTokenSource() + if (!onlyBasics + && selectedSource.isTokenSource() && selectedSource.isTokenImageProvided(data.getSet(), data.getName(), data.getImageNumber()) && selectedSets.contains(data.getSet())) { numberTokenImagesAvailable++; @@ -381,8 +392,11 @@ public class DownloadPicturesService extends DefaultBoundedRangeModel implements && selectedSource.isCardSource() && selectedSource.isCardImageProvided(data.getSet(), data.getName()) && selectedSets.contains(data.getSet())) { - numberCardImagesAvailable++; - cardsDownloadQueue.add(data); + if (!onlyBasics + || basicList.contains(data.getName())) { + numberCardImagesAvailable++; + cardsDownloadQueue.add(data); + } } } }