diff --git a/src/main/java/forge/card/CardDb.java b/src/main/java/forge/card/CardDb.java index c3cde519b04..06aa99db463 100644 --- a/src/main/java/forge/card/CardDb.java +++ b/src/main/java/forge/card/CardDb.java @@ -105,9 +105,9 @@ public final class CardDb { String cardName = name; if (pipePos >= 0) { cardName = name.substring(0, pipePos); - String setName = name.substring(pipePos + 1); + String setName = name.substring(pipePos + 1).trim(); // only if set is not blank try to load it - if (StringUtils.isNotBlank(setName)) { + if (StringUtils.isNotBlank(setName) && !"???".equals(setName)) { return getCard(cardName, setName); } } diff --git a/src/main/java/forge/deck/DeckManager.java b/src/main/java/forge/deck/DeckManager.java index 6a3aaea5d13..ee9085bb954 100644 --- a/src/main/java/forge/deck/DeckManager.java +++ b/src/main/java/forge/deck/DeckManager.java @@ -507,7 +507,13 @@ public class DeckManager { List> main2sort = pool.getOrderedList(); Collections.sort(main2sort, TableSorter.byNameThenSet); for (Entry e : main2sort) { - out.write(format("%d %s|%s%n", e.getValue(), e.getKey().getName(), e.getKey().getSet())); + CardPrinted card = e.getKey(); + boolean hasBadSetInfo = "???".equals(card.getSet()) || StringUtils.isBlank(card.getSet()); + if (hasBadSetInfo) { + out.write(format("%d %s%n", e.getValue(), card.getName())); + } else { + out.write(format("%d %s|%s%n", e.getValue(), card.getName(), card.getSet())); + } } }