- 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>
Ore veins: make_world.py loads the island again row by row until
Regenerating Ore Veins has filled every chunk (/cobblesurvival veins
unfilled), cave tiers sit at their biome's depths, small zones get denser
veins, showcase veins are full size. The world report checks surface
tiers against the zone grid, cave tiers within two biome cells of their
cave, and fails on unfilled chunks; the template passes (37,689 chunks).
Drops: tools/drop_audit.py checks every creature drop a recipe or brewing
needs (docs/pokemon-drops.md). Blaze rods, ghast tears, breeze rods,
shulker shells and nether stars now drop from Pokemon through species
additions (self-test drop_additions_apply). The field guide counts vanilla
mobs as absent, applies species additions and reads the veins as sources.
Cobblebase tried (loads, self-tests pass) and left out until Adrian
decides its scope. Phase 4 checklist with the open questions.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Free NeoForge 1.21.1 modpack on Cobblemon 1.8.4 built with packwiz, plus
the Kotlin companion mod (cobblesurvival) and its built-in data pack.
- Phase 0: packwiz pack with Modrinth/CurseForge cross-links, build and
export tooling, Prism instance sync, test server with smoke checks.
- Phase 1: Poke Ball shaped island (WorldGen Editor preset, seed isle-26),
Adrian's biome list, no natural ore, structures without ore or vanilla
mobs, no Nether portals, world template builder and world report.
- Phase 2: permadeath (CobbleHardcoreMon plus the companion mod's gap
fixes), Revival Charm, expensive Healing Machine, Lootr refreshing
loot, in-game self-tests on Minecraft's GameTest framework.
- Phase 3 so far: 14 zones with their own spawn pools and level bands
(tools/zone_layout.py, tools/zone_spawns.py, "zone" spawn condition),
Cold Sweat heat and cold as gates with boss-drop insulation recipes,
spawn survey and hazard self-tests in tools/quick_check.py.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>