Phase 8: the quest book, generated from docs/quests.yaml
- tools/quests.py writes pack/config/ftbquests/quests/ in FTB Quests 2101's format (data.snbt, chapters/*.snbt, texts in lang/en_us.snbt) with ids derived from the YAML names, so progress survives regeneration. Flexible progression, no lock icons, no rewards (Adrian, 2026-11-03). tools/build.py runs it. - docs/quests.yaml: 18 chapters, 74 quests. Getting Started; one chapter per zone and the End from a zone template (reach it, catch three of its Pokemon, mine its ores, beat its guardian) plus chapter extras (Mire Waders, Eyes of Ender, Eternatus); Pokemon Machines; Base and Jobs. - Node positions: --pull reads them from an FTB Quests folder into the layout block (only moved nodes); tools/prism_instance.py pulls from the instance before each sync and rebuilds if something moved. - The pack's own events as hidden advancements (cobblesurvival:events/...), granted by QuestEvents: zone reached, guardian beaten, machine filled, End boss beaten. - Self-tests quest_book_loads and quest_events_mark_zones; the guardian and furnace tests check their events. Self-tests and island check pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9fb5e9895e
commit
c5d1cf93f4
70 files changed
+3665
-7
No files matched your search
+8
-5
@@ -304,11 +304,14 @@ Adrian's choices: Cobblemon tasks come from **Cobblemon Quests Reloaded** (a mai
|
||||
|
||||
**Add-ons checked** (2026-11-03). Quests Reloaded declares Cobblemon 1.8+ and FTB Quests 2101+, boots with the pack and adds the task type `cobblemon_tasks:cobblemon_task` (catch, defeat, evolve into, level up, obtain, seen, and more; filters by species, type, form, shiny, level, biome). Cobblemon Info reads the server's live spawn pool, so what it shows is the pack's own zone pools: right species, levels and rarity; the self-test compares every entry. It does not know the pack's zone rule and lists a spawn's biomes instead: a Southwold Pokémon reads as "plains", though it only spawns in Southwold's plains. Our own JEI pages add the zone. It must be on the server too (it is, side both): a client on a server without it falls back to Cobblemon's unmodified spawn files.
|
||||
|
||||
**Plan** (in progress):
|
||||
- `docs/quests.yaml` → `tools/quests.py` → `pack/config/ftbquests/quests/` (FTB Quests 2101 format: `data.snbt`, `chapter_groups.snbt`, `chapters/*.snbt`, texts in `lang/en_us.snbt`). Quest ids are derived from the YAML ids, so they stay the same across regenerations and players keep their progress. `tools/quests.py --pull <instance>` reads node positions back from an instance's quest files first.
|
||||
- Flexible progression everywhere and no lock icons, so dependencies show as lines but never block; check FTB Quests 2101.1.37 for the soft-lock a fix mod reports for 1.20.1.
|
||||
- Chapters: getting started, one per zone, base building and Pokémon jobs, machines, bosses and the End. Tasks: Cobblemon tasks (Quests Reloaded), items (drops, materials), and the pack's own events (zone reached, guardian beaten, machine built) as hidden advancements the companion mod grants.
|
||||
- JEI: our plugin adds, per item, every place on the island it comes from that Cobblemon Info doesn't cover: guardian and End boss rewards, Sacrifice Altar tiers, ore veins by zone, pasture mining and finder tables by zone; and per Pokémon its zone.
|
||||
**The quest book** is written in `docs/quests.yaml` and generated by `tools/quests.py` (run by `tools/build.py`) into `pack/config/ftbquests/quests/` in FTB Quests 2101's format (`data.snbt`, `chapter_groups.snbt`, `chapters/*.snbt`, every title and text in `lang/en_us.snbt`). Chapter, quest and task ids are derived from their names in the YAML, so they stay the same across regenerations and players keep their progress. The whole book is in flexible progression with lock icons off: dependencies show as lines but never block. No rewards.
|
||||
|
||||
- **Chapters** (18, 74 quests on 2026-11-03): Getting Started (welcome, first catch, Poké Balls, a full team, the Revival Charm and permadeath, healing, level 10, drops and JEI, evolution, on to Southwold); one per zone and the End; Pokémon Machines (how to build one, then each of the five); Base and Jobs (Pasture Block, PC). A zone chapter (`zone: <id>`) starts with the template quests `zone_chapter`, filled from the zone's data: reach it (levels, hazard), catch three of its Pokémon (any species of its spawn pool), mine its ores (one item task per vein), beat its guardian (species, level, drops, the boss bar). Chapters add their own quests (Mire Waders for the Mire; Eyes of Ender and Eternatus for the End).
|
||||
- **Tasks:** Cobblemon actions through Quests Reloaded (catch, defeat, evolve, level up), items, and the pack's own events: hidden advancements `cobblesurvival:events/zone/<zone>`, `guardian/<zone>`, `machine/<core>` and `end_boss` (no display, no toast; written by `tools/quests.py`), granted by the companion mod (`QuestEvents`: a player's zone once a second, a guardian's battle winners, a machine's owner when a Pokémon goes in, the End boss's winners). They unlock nothing.
|
||||
- **Node positions:** Adrian moves nodes in the in-game editor; `tools/quests.py --pull <folder>` records every node that isn't where the generator would put it in the `layout` block at the end of `docs/quests.yaml`. `tools/prism_instance.py` does that from the instance before each sync, and rebuilds if something moved, so a sync never undoes his layout (docs/quests.yaml then needs committing). Titles, texts, tasks and dependencies edited in game are overwritten.
|
||||
- **Self-tests:** `quest_book_loads` (FTB Quests on the server has the book in flexible mode, every task type is known, every item and advancement exists), `quest_events_mark_zones`, and the guardian and furnace tests check their events.
|
||||
- Still open: the flexible-mode soft-lock a fix mod reports for 1.20.1 (tasks done before their dependencies); checked in game for now.
|
||||
- JEI (next): our plugin adds, per item, every place on the island it comes from that Cobblemon Info doesn't cover: guardian and End boss rewards, Sacrifice Altar tiers, ore veins by zone, pasture mining and finder tables by zone; and per Pokémon its zone.
|
||||
|
||||
## Open decisions for Adrian (proceeding with the default, flagged)
|
||||
|
||||
|
||||
Reference in new issue
Block a user