diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/table/TableModel.java b/Mage.Client/src/main/java/mage/client/deckeditor/table/TableModel.java index 8407881d40c..3eded527004 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/table/TableModel.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/table/TableModel.java @@ -87,7 +87,7 @@ public class TableModel extends AbstractTableModel implements ICardGrid { private boolean displayNoCopies = false; private UpdateCountsCallback updateCountsCallback; - private final String column[] = {"Qty", "Name", "Cost", "Color", "Type", "Stats", "Rarity", "Set"}; + private final String column[] = {"Qty", "Name", "Cost", "Color", "Type", "Stats", "Rarity", "Set", "#"}; private SortSetting sortSetting; private int recentSortedColumn; @@ -271,6 +271,8 @@ public class TableModel extends AbstractTableModel implements ICardGrid { return c.getRarity().toString(); case 7: return c.getExpansionSetCode(); + case 8: + return c.getCardNumber(); default: return "error"; } diff --git a/Mage/src/main/java/mage/cards/CardImpl.java b/Mage/src/main/java/mage/cards/CardImpl.java index ff215efa6ac..b20ea4a28fe 100644 --- a/Mage/src/main/java/mage/cards/CardImpl.java +++ b/Mage/src/main/java/mage/cards/CardImpl.java @@ -186,8 +186,7 @@ public abstract class CardImpl extends MageObjectImpl implements Card { if (setInfo == null) { Constructor con = clazz.getConstructor(UUID.class); card = (Card) con.newInstance(new Object[]{null}); - } - else { + } else { Constructor con = clazz.getConstructor(UUID.class, CardSetInfo.class); card = (Card) con.newInstance(null, setInfo); } @@ -559,7 +558,7 @@ public abstract class CardImpl extends MageObjectImpl implements Card { @Override public final Card getSecondCardFace() { - if (secondSideCardClazz == null) { + if (secondSideCardClazz == null && secondSideCard == null) { return null; } diff --git a/Mage/src/main/java/mage/cards/CardSetInfo.java b/Mage/src/main/java/mage/cards/CardSetInfo.java index a9a4b27e6f3..a17907a9922 100644 --- a/Mage/src/main/java/mage/cards/CardSetInfo.java +++ b/Mage/src/main/java/mage/cards/CardSetInfo.java @@ -1,10 +1,10 @@ package mage.cards; +import java.io.Serializable; import mage.constants.Rarity; -import java.io.Serializable; - public final class CardSetInfo implements Serializable { + private final String name; private final String cardNumber; private final String expansionSetCode; @@ -20,16 +20,31 @@ public final class CardSetInfo implements Serializable { this.expansionSetCode = expansionSetCode; this.cardNumber = cardNumber; this.rarity = rarity; - this.graphicInfo = graphicInfo; + if (graphicInfo == null && Rarity.LAND.equals(rarity)) { + // Workaround to get images of basic land permanents loaded + this.graphicInfo = new CardGraphicInfo(null, true); + } else { + this.graphicInfo = graphicInfo; + } } - public String getName() { return this.name; } + public String getName() { + return this.name; + } - public String getExpansionSetCode() { return this.expansionSetCode; } + public String getExpansionSetCode() { + return this.expansionSetCode; + } - public String getCardNumber() { return this.cardNumber; } + public String getCardNumber() { + return this.cardNumber; + } - public Rarity getRarity() { return this.rarity; } + public Rarity getRarity() { + return this.rarity; + } - public CardGraphicInfo getGraphicInfo() { return this.graphicInfo; } + public CardGraphicInfo getGraphicInfo() { + return this.graphicInfo; + } } diff --git a/Mage/src/main/java/mage/cards/ExpansionSet.java b/Mage/src/main/java/mage/cards/ExpansionSet.java index a87e45f90ba..f69dabcdb6e 100644 --- a/Mage/src/main/java/mage/cards/ExpansionSet.java +++ b/Mage/src/main/java/mage/cards/ExpansionSet.java @@ -33,8 +33,6 @@ import java.util.Date; import java.util.EnumMap; import java.util.Iterator; import java.util.List; - -import mage.ObjectColor; import mage.cards.repository.CardCriteria; import mage.cards.repository.CardInfo; import mage.cards.repository.CardRepository; @@ -46,7 +44,9 @@ import mage.util.RandomUtil; * @author BetaSteward_at_googlemail.com */ public abstract class ExpansionSet implements Serializable { + public class SetCardInfo implements Serializable { + private final String name; private final String cardNumber; private final Rarity rarity; @@ -71,21 +71,37 @@ public abstract class ExpansionSet implements Serializable { this.cardNumber = cardNumber; this.rarity = rarity; this.cardClass = cardClass; - this.usesVariousArt = false; + if (graphicInfo != null) { + this.usesVariousArt = graphicInfo.getUsesVariousArt(); + } else { + usesVariousArt = false; + } this.graphicInfo = graphicInfo; } - public String getName() { return this.name; } + public String getName() { + return this.name; + } - public String getCardNumber() { return this.cardNumber; } + public String getCardNumber() { + return this.cardNumber; + } - public Rarity getRarity() { return this.rarity; } + public Rarity getRarity() { + return this.rarity; + } - public Class getCardClass() { return this.cardClass; } + public Class getCardClass() { + return this.cardClass; + } - public boolean getUsesVariousArt() { return this.usesVariousArt; } + public boolean getUsesVariousArt() { + return this.usesVariousArt; + } - public CardGraphicInfo getGraphicInfo() { return this.graphicInfo; } + public CardGraphicInfo getGraphicInfo() { + return this.graphicInfo; + } } protected final List cards = new ArrayList<>(); @@ -153,7 +169,9 @@ public abstract class ExpansionSet implements Serializable { return blockName; } - public List getSetCardInfo() { return cards; } + public List getSetCardInfo() { + return cards; + } @Override public String toString() {