# The quest book (roadmap Phase 8). tools/quests.py turns this file into pack/config/ftbquests/quests/. # # Adrian, 2026-11-03: quests give no rewards; they point the way and never block (flexible progression, no lock # icons). Titles, texts, tasks and dependencies live only here: edits to them in game are overwritten. Node # positions are different: move nodes in the in-game editor, then `tools/quests.py --pull ` # (tools/prism_instance.py does it before each sync) copies them into the `layout` block at the end of this file. # # A chapter lists quests: id (unique in its chapter), title, optional subtitle, text (blank line = new paragraph), # icon, after (quests it builds on: an id in the chapter, or chapter/id), and tasks, each one of: # item: , count: have the item # cobblemon: catch|defeat|evolve|level_up_to|..., amount: , optional pokemon: [ids], types: [types], # zone_species: a Cobblemon action (Cobblemon Quests Reloaded); zone_species = any # Pokémon of that zone's spawn pool # event: zone/ | guardian/ | machine/ | end_boss the pack's own events (hidden advancements) # checkmark: true the player ticks it # A task may also have a title. A chapter with `zone: ` starts with the quests of `zone_chapter`, where # {zone}, {low}, {high}, {hazard_text}, {guardian}, {guardian_level}, {drops} and {ore_names} come from the # zone's data; a template quest with `when:` is left out of zones that lack the thing named. book: title: Cobblemon Survival icon: cobblemon:poke_ball zone_chapter: - id: arrive title: "{zone}" subtitle: "Lv {low}–{high}" icon: minecraft:filled_map text: | Wild Pokémon in {zone} are level {low} to {high}. Bring a team that can hold its own there. {hazard_text} A Pokémon far above a zone's levels learns less from battles there; Exp. Candy always works in full. tasks: - event: "zone/{zone_id}" title: "Reach {zone}" - id: locals when: [species] title: "Locals of {zone}" icon: cobblemon:poke_ball after: [arrive] text: | Each kind of Pokémon lives in one zone of the island. Catch three that call {zone} home. Their drops are what this zone adds to your crafting: look an item up in JEI to see who drops it. tasks: - cobblemon: catch zone_species: "{zone_id}" amount: 3 - id: ores when: [ores] title: "Ores of {zone}" icon: minecraft:iron_pickaxe after: [arrive] text: | There is no ore anywhere except in each zone's own veins, and they grow back after you mine them. {zone} has {ore_names}. tasks: - each: ores count: 8 - id: guardian when: [guardian] title: "Guardian of {zone}" icon: minecraft:netherite_sword after: [locals] text: | {guardian}, Lv {guardian_level}, guards {zone}: a giant that takes at most a quarter of its health from any one attack. Within 128 blocks its bar shows how far away it is. In the fight, watch the ground and step out of its area attacks; leaving the arena or dying loses the fight. Beat it for {drops}. It returns 5 hours later. tasks: - event: "guardian/{zone_id}" title: "Beat {guardian}" chapters: - id: getting_started title: Getting Started subtitle: The island, your first partner, and the rules that matter icon: cobblemon:poke_ball quests: - id: welcome title: Welcome to the Island icon: minecraft:filled_map size: 1.5 text: | This island has no zombies, no creepers and no cows: only Pokémon. Their drops are your food, string, leather and much more. The island is split into zones, each with its own Pokémon, levels, ores and a guardian. You start on Button Isle; the further out you go, the stronger everything gets. This book suggests what to do next. Nothing in it is locked and it gives no rewards: do things in any order you like. tasks: - checkmark: true title: Read this - id: first_partner title: A Partner icon: cobblemon:poke_ball after: [welcome] text: | Weaken a wild Pokémon in battle, then throw a Poké Ball at it. tasks: - cobblemon: catch amount: 1 - id: poke_balls title: Poké Balls icon: cobblemon:poke_ball after: [welcome] text: | Poké Balls are crafted from apricorns, which grow on apricorn trees around the island. Look the recipe up in JEI. tasks: - item: cobblemon:poke_ball count: 16 - id: full_team title: A Full Team icon: cobblemon:great_ball after: [first_partner] text: | Six Pokémon of different types handle more than one strong one. tasks: - cobblemon: catch amount: 6 - id: permadeath title: A Second Chance icon: cobblesurvival:revival_charm after: [first_partner] text: | A Pokémon that faints is gone for good once the battle ends. Revives only help within that battle. A Pokémon holding a Revival Charm is saved once instead: the charm is used up and the Pokémon is healed. Give one to your most valuable partner. tasks: - item: cobblesurvival:revival_charm - id: healing title: Healing icon: cobblemon:healing_machine after: [first_partner] text: | Sleeping doesn't heal your Pokémon. A Healing Machine does, but it is expensive and recharges slowly; potions and berries help in between. tasks: - item: cobblemon:healing_machine - id: level_10 title: Growing Up icon: cobblemon:exp_candy_s after: [first_partner] text: | Raise a Pokémon to level 10 by battling. Wild Pokémon stronger than your team may come after you; weaker ones keep their distance. tasks: - cobblemon: level_up_to amount: 10 - id: drops title: What Pokémon Leave Behind icon: minecraft:string after: [first_partner] text: | Defeated Pokémon drop items. Look any item up in JEI (Cobblemon Info pages) to see which Pokémon drop it and where they live. tasks: - cobblemon: defeat amount: 5 - id: evolve title: Evolution icon: cobblemon:fire_stone after: [level_10] text: | Evolve a Pokémon. Some need a level, some an evolution stone: the stones come from ore veins in particular zones. tasks: - cobblemon: evolve amount: 1 - id: beyond title: Beyond Button Isle icon: minecraft:compass after: [level_10, full_team] text: | Southwold, north of Button Isle, is the next step: Pokémon up to level 18 and the island's copper. tasks: - event: zone/southwold title: Reach Southwold - id: button_isle zone: button_isle title: Button Isle icon: cobblemon:poke_ball - id: shallows zone: shallows title: Shallows icon: minecraft:kelp - id: southwold zone: southwold title: Southwold icon: minecraft:raw_copper - id: lush_caves zone: lush_caves title: Lush Caves icon: minecraft:glow_berries - id: westmarch zone: westmarch title: Westmarch icon: cobblemon:thunder_stone - id: jungle zone: jungle title: Verdant Jungle icon: cobblemon:leaf_stone - id: dripstone zone: dripstone title: Dripstone Depths icon: minecraft:pointed_dripstone - id: highlands zone: highlands title: Highland Meadows icon: cobblemon:sun_stone - id: mire zone: mire title: Mangrove Mire icon: cobblesurvival:mire_waders hazard_text: "The Mire's water poisons you unless you wear Mire Waders: the guardians of Westmarch and the Verdant Jungle drop them." quests: - id: waders title: Mire Waders icon: cobblesurvival:mire_waders text: | Waders keep the Mire's poison off. Beat the guardian of Westmarch or the Verdant Jungle for a pair. tasks: - item: cobblesurvival:mire_waders - id: sunscorch zone: sunscorch title: Sunscorch icon: cobblemon:fire_stone hazard_text: "The desert heat hurts without heat insulation on your armor (Cold Sweat): look up insulation in JEI." - id: deep_sea zone: deep_sea title: Deep Sea icon: cobblemon:mystic_water - id: frostpeak zone: frostpeak title: Frostpeak Range icon: cobblemon:ice_stone hazard_text: "The cold hurts without wool insulation on your armor (Cold Sweat): look up insulation in JEI." - id: deep_dark zone: deep_dark title: Deep Dark icon: minecraft:sculk hazard_text: "Sculk darkens your sight down here. There is no Warden, but the ancient colossus sleeps in the ruins." - id: basalt zone: basalt title: Basalt Furnace icon: minecraft:magma_block hazard_text: "The heat of the furnace hurts without heat insulation on your armor (Cold Sweat)." - id: the_end zone: the_end title: The End icon: minecraft:end_stone quests: - id: eyes title: Eyes of Ender icon: minecraft:ender_eye text: | The way to the End is through a stronghold's portal. Ender pearls come from Abra and its evolutions; blaze powder from Fire types such as Magmar. tasks: - item: minecraft:ender_eye count: 12 - id: eternatus title: Eternatus icon: minecraft:dragon_egg after: [arrive] text: | Eternatus has taken the dragon's place: a Lv 80 giant whose bar shows its health. Like the guardians, it takes at most a quarter of its health from any one attack. Beating it opens the way home and leaves the dragon egg the first time. tasks: - event: end_boss title: Beat Eternatus - id: machines title: Pokémon Machines subtitle: Five machines, each powered by a Pokémon inside it icon: cobblesurvival:heat_core quests: - id: about title: Building a Machine icon: cobblesurvival:heat_core text: | Each machine is a 3×3×3 shell with its core in the middle of one wall and an empty chamber in the centre for the Pokémon. Place the core: glowing ghost blocks show where the shell goes. Send your Pokémon out near the core and use the core with an empty hand: it walks in. Use the core again to take it back; sneak-use to see what the machine is doing. tasks: - checkmark: true title: Read this - id: furnace title: Large Furnace icon: cobblesurvival:heat_core after: [about] text: | A Fire-type Pokémon in a Heat Core shell of bricks heats furnaces placed against the shell: they burn without fuel and cook much faster. Hoppers work as usual. tasks: - event: machine/heat_core title: Put a Fire type into a Large Furnace - id: generator title: Generator icon: cobblesurvival:dynamo_core after: [about] text: | An Electric-type Pokémon in a Dynamo Core shell of copper makes Forge Energy for cables and other machines. tasks: - event: machine/dynamo_core title: Put an Electric type into a Generator - id: synthesizer title: Drop Synthesizer icon: cobblesurvival:synthesis_core after: [generator] text: | Feed energy into a Synthesis Core shell: the Pokémon inside makes its own drops, as if defeated. Gold, diamond or netherite shells add looting. tasks: - event: machine/synthesis_core title: Put a Pokémon into a Drop Synthesizer - id: altar title: Sacrifice Altar icon: cobblesurvival:altar_core after: [about] text: | A Pokémon of level 20 or more in an Altar Core shell of obsidian can be given up for rare rewards: rare candies, ability items, even a nether star. It is gone for good. tasks: - event: machine/altar_core title: Put a Pokémon on a Sacrifice Altar - id: rebirth title: Rebirth Chamber icon: cobblesurvival:rebirth_core after: [about] text: | A level 100 Pokémon in a Rebirth Core shell of amethyst is reborn after two hours as a shiny level 1 of its first stage, with better IVs and every move it knew. tasks: - event: machine/rebirth_core title: Start a rebirth - id: base title: Base and Jobs subtitle: Pokémon that work while you're away icon: cobblemon:pasture quests: - id: pasture title: A Pasture icon: cobblemon:pasture text: | Pokémon in a Pasture Block live at your base. With Cobblebase they work there: harvesting, mining, finding items, breeding. A job needs the Pokémon to be strong enough for the zone its work belongs to, or to hold one of that zone's materials. tasks: - item: cobblemon:pasture - id: pc title: A PC icon: cobblemon:pc text: | Your PC holds every Pokémon not in your party. There is no remote access: you have to stand at a PC block. tasks: - item: cobblemon:pc