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:
claudeandClaude Opus 5.5 committed 2026-11-03 10:57:35 +01:00
1 parent 9fb5e9895e
commit c5d1cf93f4
70 files changed
+3665 -7

No files matched your search

+84
View File
@@ -28,6 +28,90 @@ hash = "fbc8a858d5cfe978ed48a6a5f564b9d0a7b540e12b5f481c4eb797021a9f6078"
file = "config/fightorflight.json5"
hash = "d1f8daadc8e34c41950e8f439ca089e8820142e57767459cbe1eb2a250ee4441"
[[files]]
file = "config/ftbquests/quests/chapter_groups.snbt"
hash = "e57d8311aec9f524911ed1313cabf138bb7fa5a2d3ba985a00a2a267ff35ef78"
[[files]]
file = "config/ftbquests/quests/chapters/basalt.snbt"
hash = "7e1b74aebae51bf0433bdd422b3ad9097e58abaf25cabaa5fcf03ca78d417bfd"
[[files]]
file = "config/ftbquests/quests/chapters/base.snbt"
hash = "46710212af0c6bf3f39e97b95d2a5e0dfdfb312470fbfab5f24b6d95764032c9"
[[files]]
file = "config/ftbquests/quests/chapters/button_isle.snbt"
hash = "ce24fccd748e805ec617f7b571263c1af91377644a3fc17146bf38963e8b54ab"
[[files]]
file = "config/ftbquests/quests/chapters/deep_dark.snbt"
hash = "45a3992afb773ea5442dc536d18a6c7b2ed20befe1daf31f170e27d2b1c67324"
[[files]]
file = "config/ftbquests/quests/chapters/deep_sea.snbt"
hash = "6c01131b458060cf69e11dae1f08ac9944ac77e2d6abcfb58a630137579cf9c3"
[[files]]
file = "config/ftbquests/quests/chapters/dripstone.snbt"
hash = "6de9aff416df5c916f00065c90ce64c57422ae4de4c415522178e090e5a5f830"
[[files]]
file = "config/ftbquests/quests/chapters/frostpeak.snbt"
hash = "e0f380185bc9cb53c993e86d6fcb9a82ea14723bf211c5ad7d046aaeadd7c468"
[[files]]
file = "config/ftbquests/quests/chapters/getting_started.snbt"
hash = "829aa67db8a39f6f43aa6076090c0040e4324be70abe0b30e0edcce48d924ab9"
[[files]]
file = "config/ftbquests/quests/chapters/highlands.snbt"
hash = "ed7e66df09969ac69acc0f12648c7fb71589c37a14f4530714c1a97ffb5dab17"
[[files]]
file = "config/ftbquests/quests/chapters/jungle.snbt"
hash = "bdfd541303d72bcfa0b8a28cf1a9277701be2f7d75edd5a95175e6cf3915fc39"
[[files]]
file = "config/ftbquests/quests/chapters/lush_caves.snbt"
hash = "cd7dd0f47b33063d867f9f55c8b4307935ceda64509701886da75dbfb2ab92be"
[[files]]
file = "config/ftbquests/quests/chapters/machines.snbt"
hash = "dbeb43e993d27656f75e7a64a118e3592c40b5cbfc089bdf6a02069edae57011"
[[files]]
file = "config/ftbquests/quests/chapters/mire.snbt"
hash = "95bc5a97874794dff8d19cff04bfebe984c1d2fcefabcba15fc3b36a14e0880a"
[[files]]
file = "config/ftbquests/quests/chapters/shallows.snbt"
hash = "1f3829f5f40e853673645d7ea250e646f97bbd79b3235bc6f2b119defb573423"
[[files]]
file = "config/ftbquests/quests/chapters/southwold.snbt"
hash = "7bec07cf30f2b218e7d89b617fb61f7077f692fe570694bb70aef8067052511a"
[[files]]
file = "config/ftbquests/quests/chapters/sunscorch.snbt"
hash = "a975e58e4576456b574da8b51e76dc9f7f2e2c148c2c98a1af35469c522528b2"
[[files]]
file = "config/ftbquests/quests/chapters/the_end.snbt"
hash = "4a3aa5f1e3bed52e6c844284dec549367af01d4341aeefa460cdc135e2fba660"
[[files]]
file = "config/ftbquests/quests/chapters/westmarch.snbt"
hash = "d37a2c7743a9f38993c8d0d38f2f9c056bc760b68d04ea8bd91cc122e52e5d99"
[[files]]
file = "config/ftbquests/quests/data.snbt"
hash = "35b6760d4c56b02f2ff77dd5ba2f0e634c7f68238ce2809cddb22d9c61c6f943"
[[files]]
file = "config/ftbquests/quests/lang/en_us.snbt"
hash = "bce591f1d3b03bd1b4fe5a49a6153e06b825b41c3fc17fba23ac6b262afb0d50"
[[files]]
file = "config/lootr-common.toml"
hash = "b13f8c4e4211b698b9e680c99dcdd2b77ab06806dd597ad94dd8e753b6f571de"