From aaf5fdd2ff26864176481cb90dc2de6543fd64bd Mon Sep 17 00:00:00 2001 From: leriomaggio Date: Fri, 28 May 2021 16:02:35 +0100 Subject: [PATCH] This resolves an issue when hashing NON-existing cards. Hash code now considers collectorNumber, which is retrieved from card edition, if not available. For non existing cards, the edition won't be found (null return) which resulted in a NPE. This patch addresses this situation. In future, this method will be removed, and PaperCard created directly with corresponding collectorNumber from CardInSet. --- forge-core/src/main/java/forge/item/PaperCard.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/forge-core/src/main/java/forge/item/PaperCard.java b/forge-core/src/main/java/forge/item/PaperCard.java index 16e5d0ea8cb..7879089856c 100644 --- a/forge-core/src/main/java/forge/item/PaperCard.java +++ b/forge-core/src/main/java/forge/item/PaperCard.java @@ -308,6 +308,8 @@ public final class PaperCard implements Comparable, InventoryItemFro private String retrieveCollectorNumber() { CardEdition.Collection editions = StaticData.instance().getEditions(); CardEdition edition = editions.get(this.edition); + if (edition == null) // don't bother continuing - non-existing card! + return NO_COLLECTOR_NUMBER; int artIndexCount = 0; String collectorNumberInEdition = ""; for (CardEdition.CardInSet card : edition.getAllCardsInSet()) {