- 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>
100 lines
2.6 KiB
SNBT
100 lines
2.6 KiB
SNBT
{
|
|
default_hide_dependency_lines: false
|
|
default_quest_shape: ""
|
|
filename: "southwold"
|
|
group: ""
|
|
icon: {
|
|
id: "minecraft:raw_copper"
|
|
}
|
|
id: "39B2B675E1F194C2"
|
|
order_index: 3
|
|
quest_links: [ ]
|
|
quests: [
|
|
{
|
|
icon: {
|
|
id: "minecraft:filled_map"
|
|
}
|
|
id: "4C0B4F1365903D23"
|
|
tasks: [
|
|
{
|
|
advancement: "cobblesurvival:events/zone/southwold"
|
|
criterion: ""
|
|
id: "58EAEDE25DA7FDA3"
|
|
type: "advancement"
|
|
}
|
|
]
|
|
x: 0.0d
|
|
y: 0.0d
|
|
}
|
|
{
|
|
dependencies: ["4C0B4F1365903D23"]
|
|
icon: {
|
|
id: "cobblemon:poke_ball"
|
|
}
|
|
id: "35B82AF57D59FD63"
|
|
tasks: [
|
|
{
|
|
action: "catch"
|
|
amount: 3L
|
|
biome: ""
|
|
dex_progress: ""
|
|
dimension: ""
|
|
form: ""
|
|
gender: ""
|
|
id: "0642427B02A6BC0C"
|
|
max_level: 0
|
|
min_level: 0
|
|
natures: ""
|
|
poke_ball_used: ""
|
|
pokemon: "cobblemon:audino,cobblemon:azumarill,cobblemon:azurill,cobblemon:bunnelby,cobblemon:burmy,cobblemon:chansey,cobblemon:chingling,cobblemon:corsola,cobblemon:drifloon,cobblemon:dunsparce,cobblemon:eevee,cobblemon:farfetchd,cobblemon:furfrou,cobblemon:furret,cobblemon:gastly,cobblemon:glameow,cobblemon:goldeen,cobblemon:grimer,cobblemon:grubbin,cobblemon:happiny,cobblemon:hawlucha,cobblemon:heracross,cobblemon:herdier,cobblemon:koffing,cobblemon:lillipup,cobblemon:lombre,cobblemon:lotad,cobblemon:magnemite,cobblemon:marill,cobblemon:minccino,cobblemon:minun,cobblemon:noibat,cobblemon:patrat,cobblemon:pidove,cobblemon:pinsir,cobblemon:plusle,cobblemon:porygon,cobblemon:pumpkaboo,cobblemon:relicanth,cobblemon:sentret,cobblemon:shuppet,cobblemon:squawkabilly,cobblemon:swablu,cobblemon:taillow,cobblemon:tentacool,cobblemon:timburr,cobblemon:toxel,cobblemon:tynamo,cobblemon:venonat,cobblemon:voltorb,cobblemon:whismur,cobblemon:wimpod,cobblemon:yamask,cobblemon:yamper,cobblemon:yungoos,cobblemon:zigzagoon"
|
|
pokemon_type: ""
|
|
region: ""
|
|
shiny: false
|
|
time_max: 0L
|
|
time_min: 0L
|
|
type: "cobblemon_tasks:cobblemon_task"
|
|
}
|
|
]
|
|
x: 2.0d
|
|
y: -0.75d
|
|
}
|
|
{
|
|
dependencies: ["4C0B4F1365903D23"]
|
|
icon: {
|
|
id: "minecraft:iron_pickaxe"
|
|
}
|
|
id: "1154E278D871A8CA"
|
|
tasks: [
|
|
{
|
|
count: 8L
|
|
id: "2BA8271FAADE7352"
|
|
item: {
|
|
count: 1
|
|
id: "minecraft:raw_copper"
|
|
}
|
|
type: "item"
|
|
}
|
|
]
|
|
x: 2.0d
|
|
y: 0.75d
|
|
}
|
|
{
|
|
dependencies: ["35B82AF57D59FD63"]
|
|
icon: {
|
|
id: "minecraft:netherite_sword"
|
|
}
|
|
id: "7F9137726771D1B4"
|
|
tasks: [
|
|
{
|
|
advancement: "cobblesurvival:events/guardian/southwold"
|
|
criterion: ""
|
|
id: "643C68559D41888A"
|
|
type: "advancement"
|
|
}
|
|
]
|
|
x: 4.0d
|
|
y: 0.0d
|
|
}
|
|
]
|
|
}
|