Skip to content

Instantly share code, notes, and snippets.

@jumpinjackie
Last active August 12, 2025 11:32
Show Gist options
  • Select an option

  • Save jumpinjackie/a8a01b1d245a1c6a5a71477af50f6db9 to your computer and use it in GitHub Desktop.

Select an option

Save jumpinjackie/a8a01b1d245a1c6a5a71477af50f6db9 to your computer and use it in GitHub Desktop.
Forge Adventure mode config without Alchemy and other fluff

Custom Forge Adventure mode config

This is a custom config.json for Forge Adventure mode without any of the following:

  • Any Alchemy set
  • Any Alchemy card
  • 30th Anniversary Edition
  • Any Heroes of the Realm
  • Any San Diego Comic Con
  • Any Masters Edition
  • Any Duel Decks
  • Any Historic Anthology
  • Any Explorer Anthology
  • Any Friday Night Magic
  • Any From the Vault
  • Any Game Day/Night
  • Happy Holidays
  • Global Series Jiang Yanggu & Mu Yanling
  • Grand Prix Promos
  • Any Magic Online
  • Mystery Booster Playtest Cards
  • Any Un Set
  • M15 Prerelease Challenge
  • Hobby Japan Promos
  • IDW Comic Inserts
  • Japan Junior Tournament
  • Japan Standard Cup
  • Any Judge Gift Cards
  • Any Love Your LGS
  • Any Magic Player Rewards
  • Magic x Duel Masters Promos
  • Any MagicFest
  • Modern Event Deck
  • Any Signature Spellbook
  • Spotlight Series
  • Starter Commander Decks
  • Store Championships
  • Secret Lair
  • Vintage Masters

How the Alchemy card list is produced

Alchemy cards always start with A- in their card names, thus a simple grep/awk combination can extract out all Alchemy cards from all the affected edition txt files like so:

grep -hoP 'A-[^@]*?(?= @)' *.txt | sed 's/ $//' | awk '{print "\"" $0 "\","}' | sort

The result can then be pasted directly into the restrictedCards array

Hopefully in the future, Forge Adventure mode will have an explicit "No Alchemy" and "No Promos" setting so we don't have to do this.

{
"screenWidth": 480,
"screenHeight": 270,
"skin": "skin/ui_skin.json",
"playerBaseSpeed": 32,
"minDeckSize": 40,
"colorIds":["W","U","B","R","G"],
"colorIdNames":["tr(lblWhite) [+W]","tr(lblBlue) [+U]","tr(lblBlack) [+B]","tr(lblRed) [+R]","tr(lblGreen) [+G]"],
"restrictedCards": [
"A-Acererak the Archlich",
"A-Akki Ronin",
"A-Alrund, God of the Cosmos",
"A-Alrund's Epiphany",
"A-Ancestral Katana",
"A-Ardent Dustspeaker",
"A-Armory Veteran",
"A-Asari Captain",
"A-Baba Lysaga, Night Witch",
"A-Baleful Beholder",
"A-Base Camp",
"A-Binding Geist",
"A-Blessed Hippogriff",
"A-Blood Artist",
"A-Bretagard Stronghold",
"A-Briar Hydra",
"A-Brine Comber",
"A-Bruenor Battlehammer",
"A-Buy Your Silence",
"A-Cabaretti Charm",
"A-Canopy Tactician",
"A-Capenna Express",
"A-Carnelian Orb of Dragonkind",
"A-Case the Joint",
"A-Cauldron Familiar",
"A-Celebrity Fencer",
"A-Celestial Regulator",
"A-Circle of the Land Druid",
"A-Circuit Mender",
"A-Civil Servant",
"A-Cloister Gargoyle",
"A-Cobbled Lancer",
"A-Cosmos Charger",
"A-Cosmos Elixir",
"A-Dawnbringer Cleric",
"A-Deal Gone Bad",
"A-Death-Priest of Myrkul",
"A-Demilich",
"A-Demon's Due",
"A-Devoted Grafkeeper",
"A-Divide by Zero",
"A-Dokuchi Silencer",
"A-Dorothea, Vengeful Victim",
"A-Dragonborn Looter",
"A-Dragon's Rage Channeler",
"A-Dreamshackle Geist",
"A-Druid Class",
"A-Druidic Ritual",
"A-Dueling Coach",
"A-Dungeon Descent",
"A-Dwarfhold Champion",
"A-Earthquake Dragon",
"A-Eiganjo Exemplar",
"A-Elderfang Ritualist",
"A-Elderleaf Mentor",
"A-Ellywick Tumblestrum",
"A-Elven Bow",
"A-Emerald Dragon",
"A-Esika's Chariot",
"A-Excavation Explosion",
"A-Exhibition Magician",
"A-Eyes of the Beholder",
"A-Faceless Haven",
"A-Falcon Abomination",
"A-Fall of the Impostor",
"A-Fates' Reversal",
"A-Find the Path",
"A-Fires of Invention",
"A-Forge Boss",
"A-Futurist Operative",
"A-Galvanic Discharge",
"A-Geological Appraiser",
"A-Geology Enthusiast",
"A-Glamorous Outlaw",
"A-Glittermonger",
"A-Gnarlid Colony",
"A-Goggles of Night",
"A-Goldspan Dragon",
"A-Goma Fada Vanguard",
"A-Graveyard Shift",
"A-Guide of Souls",
"A-Guildsworn Prowler",
"A-Gutter Skulker",
"A-Hagra Constrictor",
"A-Hall of Tagsin",
"A-Harald, King of Skemfar",
"A-Harald Unites the Elves",
"A-Haywire Mite",
"A-Heartfire Hero",
"A-High-Rise Sawjack",
"A-Hobbling Zombie",
"A-Hullbreaker Horror",
"A-Imperial Subduer",
"A-Incriminate",
"A-Iridescent Hornbeetle",
"A-Jackhammer",
"A-Jade Orb of Dragonkind",
"A-Kargan Intimidator",
"A-Kargan Warleader",
"A-Karn, Living Legacy",
"A-Kenku Artificer",
"A-Knockout Blow",
"A-Krydle of Baldur's Gate",
"A-Kumano Faces Kakkazan",
"A-Lantern Bearer",
"A-Lantern of Revealing",
"A-Lapis Orb of Dragonkind",
"A-Leyline of Resonance",
"A-Lier, Disciple of the Drowned",
"A-Llanowar Greenwidow",
"A-Llanowar Loamspeaker",
"A-Luminarch Aspirant",
"A-Maelstrom Muse",
"A-Manticore",
"A-Masked Bandits",
"A-Master of Winds",
"A-Mentor's Guidance",
"A-Meria's Outrider",
"A-Metropolis Angel",
"A-Midnight Assassin",
"A-Mightstone's Animation",
"A-Minsc & Boo, Timeless Heroes",
"A-Mischievous Catgeist",
"A-Mishra, Excavation Prodigy",
"A-Monster Manual",
"A-Moon-Circuit Hacker",
"A-Moss-Pit Skeleton",
"A-Most Wanted",
"A-Mr. Orfeo, the Boulder",
"A-Nadu, Winged Wisdom",
"A-Nael, Avizoa Aeronaut",
"A-Nahiri, Heir of the Ancients",
"A-Narfi, Betrayer King",
"A-Nashi, Moon Sage's Scion",
"A-Navigation Orb",
"A-Nezumi Prowler",
"A-Ocelot Pride",
"A-Ochre Jelly",
"A-Ominous Parcel",
"A-Omnath, Locus of Creation",
"A-Oran-Rief Ooze",
"A-Orcish Bowmasters",
"A-Paragon of Modernity",
"A-Patrician Geist",
"A-Peerless Samurai",
"A-Phantom Carriage",
"A-Phylath, World Sculptor",
"A-Plate Armor",
"A-Precipitous Drop",
"A-Prosperous Thief",
"A-Pseudodragon Familiar",
"A-Psionic Snoop",
"A-Public Enemy",
"A-Pyre-Sledge Arsonist",
"A-Queza, Augur of Agonies",
"A-Radha, Coalition Warlord",
"A-Radha's Firebrand",
"A-Raiyuu, Storm's Edge",
"A-Rakish Revelers",
"A-Ready to Rumble",
"A-Return Upon the Tide",
"A-Revel Ruiner",
"A-Riveteers Initiate",
"A-Rockslide Sorcerer",
"A-Rowan, Scholar of Sparks",
"A-Rulik Mons, Warren Chief",
"A-Saheeli, Filigree Master",
"A-Satoru Umezawa",
"A-Scout the Wilderness",
"A-Security Rhox",
"A-Sepulcher Ghoul",
"A-Sepulcher Ghoul",
"A-Sewer Crocodile",
"A-Shattered Seraph",
"A-Shessra, Death's Whisper",
"A-Shipwreck Sifters",
"A-Sigardian Paladin",
"A-Sigil of Myrkul",
"A-Silver-Fur Master",
"A-Sizzling Soloist",
"A-Skemfar Avenger",
"A-Skemfar Elderhall",
"A-Skull Skaab",
"A-Skyclave Shadowcat",
"A-Social Climber",
"A-Sorcerer Class",
"A-Soul of Windgrace",
"A-Spara's Adjudicators",
"A-Speakeasy Server",
"A-Spell Satchel",
"A-Split the Spoils",
"A-Splitting the Powerstone",
"A-Sprouting Goblin",
"A-Steadfast Unicorn",
"A-Stimulus Package",
"A-Stitched Assistant",
"A-Sunbathing Rootwalla",
"A-Symmetry Sage",
"A-Syndicate Infiltrator",
"A-Tanazir Quandrix",
"A-Tatyova, Steward of Tides",
"A-Teferi, Time Raveler",
"A-Tenured Inkcaster",
"A-The Meathook Massacre",
"A-The One Ring",
"A-Thornmantle Striker",
"A-Thousand-Faced Shadow",
"A-Thran Portal",
"A-Thran Spider",
"A-Tome Shredder",
"A-Triumphant Adventurer",
"A-Tyvar Kell",
"A-Umara Mystic",
"A-Unholy Heat",
"A-Urza, Powerstone Prodigy",
"A-Urza's Command",
"A-Uurg, Spawn of Turg",
"A-Vampire Scrivener",
"A-Vega, the Watcher",
"A-Visions of Phyrexia",
"A-Warm Welcome",
"A-Winota, Joiner of Forces",
"A-Wizard Class",
"A-You Come to a River",
"A-Young Blue Dragon",
"A-Young Red Dragon",
"A-Zar Ojanen, Scion of Efrava",
"Black Lotus",
"Mox Emerald",
"Mox Pearl",
"Mox Ruby",
"Mox Sapphire",
"Mox Jet",
"Ancestral Recall",
"Timetwister",
"Time Walk",
"Command Tower",
"Arcane Signet",
"Opal Palace",
"Path of Ancestry",
"War Room",
"Commander's Plate",
"Campfire",
"Cloudkill",
"Command Beacon",
"Commander's Insignia",
"Forge of Heroes",
"Imposing Grandeur",
"Jeweled Lotus",
"Myth Unbound",
"Netherborn Altar",
"Sanctum of Eternity",
"Stinging Study",
"Study Hall",
"Witch's Clinic",
"Time Vault",
"Sol Ring",
"Mana Crypt",
"Tolarian Academy",
"Tinker",
"Demonic Tutor",
"Vampiric Tutor",
"Bazaar of Baghdad",
"Library of Alexandria",
"Mana Vault",
"Fastbond",
"Mishra's Workshop",
"Yawgmoth's Bargain",
"Gaea's Cradle",
"Commander's Sphere",
"Drake Stone",
"Wrenn and One",
"Under-Construction Skyscraper",
"Temur Elevator",
"Slumbering Waterways",
"Omenpath to Naya",
"The Heron Moon",
"Gobland",
"Fetching Garden",
"Mox Poison",
"Wisedrafter's Will",
"New Master of Arms",
"Halving Season",
"Questing Cosplayer",
"Teferi, Druid of Argoth",
"Anax and Cymede & Kynaios and Tiro",
"Call from the Grave",
"Mise"
],
"restrictedEditions": [
"HTR",
"HTR17",
"HTR18",
"HTR19",
"HTR20",
"PCEL",
"HHO",
"CMB1",
"UST",
"UGL",
"UNH",
"PPC1",
"UND",
"PUST",
"DA1",
"UNF",
"30A",
"YDFT",
"YBLB",
"YDMU",
"YDSK",
"YWOE",
"HBG",
"YMID",
"YLCI",
"YNEO",
"YMKM",
"YSNC",
"YONE",
"YTDM",
"YBRO",
"YOTJ",
"DDH",
"DVD",
"EVG",
"GVL",
"JVC",
"DDQ",
"DDC",
"DDO",
"DDF",
"DD1",
"DDU",
"DDD",
"DDL",
"DDJ",
"DD2",
"DDM",
"DDG",
"DDT",
"DDS",
"TD2",
"DDR",
"DDE",
"DDK",
"DDN",
"DDI",
"DDP",
"EA1",
"EA2",
"EA3",
"FNM",
"F01",
"F02",
"F03",
"F04",
"F05",
"F06",
"F07",
"F08",
"F09",
"F10",
"F11",
"F12",
"F13",
"F14",
"F15",
"F16",
"F17",
"V15",
"V14",
"DRB",
"FVE",
"FVL",
"V16",
"V12",
"FVR",
"V17",
"V13",
"GDY",
"GN2",
"GN3",
"GNT",
"GS1",
"PGPX",
"HA1",
"HA2",
"HA3",
"HA4",
"HA5",
"HA6",
"HA7",
"JP1",
"PIDW",
"PJJT",
"PJSC",
"JGP",
"G99",
"G00",
"G01",
"G02",
"G03",
"G04",
"G05",
"G06",
"G07",
"G08",
"G09",
"G10",
"G11",
"J12",
"J13",
"J14",
"J15",
"J16",
"J17",
"J18",
"J19",
"J20",
"PJ21",
"P22",
"P23",
"PLG20",
"PLG21",
"PLG22",
"PLG23",
"PLG24",
"PLG25",
"TD1",
"PRM",
"TD0",
"CP3",
"MPR",
"P03",
"P04",
"P05",
"P06",
"P07",
"P08",
"P09",
"P10",
"P11",
"PMPS",
"PMPS06",
"PMPS07",
"PMPS08",
"PMPS09",
"PMPS10",
"PMPS11",
"PMDA",
"PF19",
"PF20",
"PF23",
"PF24",
"PF25",
"PBOOK",
"MD1",
"PSDC",
"PS14",
"PS15",
"PS16",
"PS17",
"PS18",
"PS19",
"SS3",
"SS2",
"SS1",
"PSPL",
"SCD",
"SCH",
"SLD",
"VMA"
],
"restrictedEvents": [
"LEA",
"LEB",
"2ED",
"30A",
"CNS",
"CN2",
"CMR",
"CLB",
"CMM"
],
"difficulties": [
{
"name": "Easy",
"startingLife": 16,
"startingShards": 5,
"startingMoney": 500,
"enemyLifeFactor": 0.8,
"spawnRank": 0,
"goldLoss": 0.02,
"lifeLoss": 0.1,
"rewardMaxFactor" : 1.5,
"sellFactor": 0.6,
"shardSellRatio": 0.95,
"starterDecks": {
"W":"decks/starter/white_e.json",
"B":"decks/starter/black_e.json",
"U":"decks/starter/blue_e.json",
"R":"decks/starter/red_e.json",
"G":"decks/starter/green_e.json"
},
"constructedStarterDecks": {
"W":"decks/starter/Adventure - Low White.dck",
"B":"decks/starter/Adventure - Low Black.dck",
"U":"decks/starter/Adventure - Low Blue.dck",
"R":"decks/starter/Adventure - Low Red.dck",
"G":"decks/starter/Adventure - Low Green.dck"
},
"pileDecks": {
"W":"decks/starter/pile_white_e.json",
"B":"decks/starter/pile_black_e.json",
"U":"decks/starter/pile_blue_e.json",
"R":"decks/starter/pile_red_e.json",
"G":"decks/starter/pile_green_e.json"
},
"startItems": [
"Manasight Amulet",
"Leather Boots"
]
},{
"name": "Normal",
"startingLife": 12,
"startingShards": 2,
"startingMoney": 250,
"startingDifficulty": true,
"enemyLifeFactor": 1.0,
"rewardMaxFactor" : 1.0,
"spawnRank": 1,
"goldLoss": 0.1,
"lifeLoss": 0.2,
"sellFactor": 0.5,
"shardSellRatio": 0.8,
"starterDecks": {
"W":"decks/starter/white_n.json",
"B":"decks/starter/black_n.json",
"U":"decks/starter/blue_n.json",
"R":"decks/starter/red_n.json",
"G":"decks/starter/green_n.json"
},
"constructedStarterDecks": {
"W":"decks/starter/Adventure - Low Azorius.dck",
"B":"decks/starter/Adventure - Low Rakdos.dck",
"U":"decks/starter/Adventure - Low Dimir.dck",
"R":"decks/starter/Adventure - Low Gruul.dck",
"G":"decks/starter/Adventure - Low Selesnya.dck"
},
"pileDecks": {
"W":"decks/starter/pile_white_n.json",
"B":"decks/starter/pile_black_n.json",
"U":"decks/starter/pile_blue_n.json",
"R":"decks/starter/pile_red_n.json",
"G":"decks/starter/pile_green_n.json"
},
"startItems": [
"Leather Boots"
]
},{
"name": "Hard",
"startingLife": 8,
"startingShards": 0,
"startingMoney": 125,
"enemyLifeFactor": 1.5,
"rewardMaxFactor" : 0.5,
"spawnRank": 2,
"goldLoss": 0.3,
"lifeLoss": 0.3,
"sellFactor": 0.25,
"shardSellRatio": 0.6,
"starterDecks": {
"W":"decks/starter/white_h.json",
"B":"decks/starter/black_h.json",
"U":"decks/starter/blue_h.json",
"R":"decks/starter/red_h.json",
"G":"decks/starter/green_h.json"
},
"constructedStarterDecks": {
"W":"decks/starter/Adventure - Low Orzhov.dck",
"B":"decks/starter/Adventure - Low Golgari.dck",
"U":"decks/starter/Adventure - Low Izzet.dck",
"R":"decks/starter/Adventure - Low Boros.dck",
"G":"decks/starter/Adventure - Low Simic.dck"
},
"pileDecks": {
"W":"decks/starter/pile_white_h.json",
"B":"decks/starter/pile_black_h.json",
"U":"decks/starter/pile_blue_h.json",
"R":"decks/starter/pile_red_h.json",
"G":"decks/starter/pile_green_h.json"
}
},{
"name": "Insane",
"startingLife": 7,
"startingShards": 0,
"startingMoney": 0,
"enemyLifeFactor": 2.5,
"rewardMaxFactor" : 0.0,
"spawnRank": 2,
"goldLoss": 0.5,
"lifeLoss": 0.3,
"sellFactor": 0.05,
"shardSellRatio": 0.3,
"starterDecks": {
"W":"decks/starter/white_h.json",
"B":"decks/starter/black_h.json",
"U":"decks/starter/blue_h.json",
"R":"decks/starter/red_h.json",
"G":"decks/starter/green_h.json"
},
"constructedStarterDecks": {
"W":"decks/starter/Adventure - Low Orzhov.dck",
"B":"decks/starter/Adventure - Low Golgari.dck",
"U":"decks/starter/Adventure - Low Izzet.dck",
"R":"decks/starter/Adventure - Low Boros.dck",
"G":"decks/starter/Adventure - Low Simic.dck"
},
"pileDecks": {
"W":"decks/starter/pile_white_h.json",
"B":"decks/starter/pile_black_h.json",
"U":"decks/starter/pile_blue_h.json",
"R":"decks/starter/pile_red_h.json",
"G":"decks/starter/pile_green_h.json"
}
}
],
"starterEditions": [
"JMP",
"DMU",
"BRO",
"J22",
"ONE",
"MOM",
"LTR",
"J25",
"(All)"
],
"starterEditionNames": [
"Jumpstart",
"Dominaria United",
"The Brothers' War",
"Jumpstart 22",
"Phyrexia: ONE",
"March of the Machine",
"Lord of the Rings",
"Jumpstart 25",
"(All)"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment