From d53af083f23f395e874da4ab14425dcb7fa81f04 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sat, 28 Oct 2023 08:14:27 +0300 Subject: [PATCH] - Implement a fallback mechanism in case getting a card by name and edition fails for whatever reason. (#4008) --- forge-gui-mobile/src/forge/adventure/util/CardUtil.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/forge-gui-mobile/src/forge/adventure/util/CardUtil.java b/forge-gui-mobile/src/forge/adventure/util/CardUtil.java index 9585951f155..2be8d81ee99 100644 --- a/forge-gui-mobile/src/forge/adventure/util/CardUtil.java +++ b/forge-gui-mobile/src/forge/adventure/util/CardUtil.java @@ -755,6 +755,11 @@ public class CardUtil { List validCards = Arrays.asList(Iterables.toArray(Iterables.filter(getFullCardPool(Config.instance().getSettingData().useAllCardVariants), input -> input.getCardName().equals(cardName) && input.getEdition().equals(edition)), PaperCard.class)); + if (validCards.isEmpty()) { + System.err.println("Unexpected behavior: tried to call getCardByNameAndEdition for card " + cardName + " from the edition " + edition + ", but didn't find it in the DB. A random existing instance will be returned."); + return getCardByName(cardName); + } + return validCards.get(Current.world().getRandom().nextInt(validCards.size())); }