From eea9890f9d71472f1732c1b79c166a49445c6786 Mon Sep 17 00:00:00 2001 From: Jetz Date: Wed, 2 Jul 2025 08:57:19 -0400 Subject: [PATCH] Change allowedJumpstart to override default selection. --- .../adventure/data/AdventureEventData.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/data/AdventureEventData.java b/forge-gui-mobile/src/forge/adventure/data/AdventureEventData.java index d1dc0a99830..efff7e2c473 100644 --- a/forge-gui-mobile/src/forge/adventure/data/AdventureEventData.java +++ b/forge-gui-mobile/src/forge/adventure/data/AdventureEventData.java @@ -396,23 +396,29 @@ public class AdventureEventData implements Serializable { private CardBlock pickJumpstartCardBlock() { Iterable src = FModel.getBlocks(); //all blocks List legalBlocks = new ArrayList<>(); - for (CardBlock b : src) { // for each block - //I hate doing this, but it seems like the simplest way to reliably filter out prereleases - if (b.getName().toUpperCase().contains("JUMPSTART")) { - legalBlocks.add(b); - } - } ConfigData configData = Config.instance().getConfigData(); if (configData.allowedJumpstart != null) { Set allowed = Set.of(configData.allowedJumpstart); - legalBlocks.removeIf(q -> !allowed.contains(q.getName())); + for (CardBlock b : src) { // for each block + if (allowed.contains(b.getName())) { + legalBlocks.add(b); + } + } } - else if (configData.allowedEditions != null) { - Set allowed = Set.of(configData.allowedEditions); - legalBlocks.removeIf(q -> !allowed.contains(q.getName())); - } else { - for (String restricted : configData.restrictedEditions) { - legalBlocks.removeIf(q -> q.getName().equals(restricted)); + else { + for (CardBlock b : src) { // for each block + //I hate doing this, but it seems like the simplest way to reliably filter out prereleases + if (b.getName().toUpperCase().contains("JUMPSTART")) { + legalBlocks.add(b); + } + } + if (configData.allowedEditions != null) { + Set allowed = Set.of(configData.allowedEditions); + legalBlocks.removeIf(q -> !allowed.contains(q.getName())); + } else { + for (String restricted : configData.restrictedEditions) { + legalBlocks.removeIf(q -> q.getName().equals(restricted)); + } } } return legalBlocks.isEmpty() ? null : Aggregates.random(legalBlocks);