- 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>
265 lines
4.3 KiB
SNBT
265 lines
4.3 KiB
SNBT
{
|
|
default_hide_dependency_lines: false
|
|
default_quest_shape: ""
|
|
filename: "getting_started"
|
|
group: ""
|
|
icon: {
|
|
id: "cobblemon:poke_ball"
|
|
}
|
|
id: "3016E46A8F77F347"
|
|
order_index: 0
|
|
quest_links: [ ]
|
|
quests: [
|
|
{
|
|
icon: {
|
|
id: "minecraft:filled_map"
|
|
}
|
|
id: "692C224D099307BA"
|
|
size: 1.5d
|
|
tasks: [
|
|
{
|
|
id: "1EB647481990638E"
|
|
type: "checkmark"
|
|
}
|
|
]
|
|
x: 0.0d
|
|
y: 0.0d
|
|
}
|
|
{
|
|
dependencies: ["692C224D099307BA"]
|
|
icon: {
|
|
id: "cobblemon:poke_ball"
|
|
}
|
|
id: "662D0BC3B032EA6A"
|
|
tasks: [
|
|
{
|
|
action: "catch"
|
|
amount: 1L
|
|
biome: ""
|
|
dex_progress: ""
|
|
dimension: ""
|
|
form: ""
|
|
gender: ""
|
|
id: "5D508D8465BB3D2E"
|
|
max_level: 0
|
|
min_level: 0
|
|
natures: ""
|
|
poke_ball_used: ""
|
|
pokemon: ""
|
|
pokemon_type: ""
|
|
region: ""
|
|
shiny: false
|
|
time_max: 0L
|
|
time_min: 0L
|
|
type: "cobblemon_tasks:cobblemon_task"
|
|
}
|
|
]
|
|
x: 2.0d
|
|
y: -0.75d
|
|
}
|
|
{
|
|
dependencies: ["692C224D099307BA"]
|
|
icon: {
|
|
id: "cobblemon:poke_ball"
|
|
}
|
|
id: "05B922BE6CEBAAC2"
|
|
tasks: [
|
|
{
|
|
count: 16L
|
|
id: "60E85755B62E0639"
|
|
item: {
|
|
count: 1
|
|
id: "cobblemon:poke_ball"
|
|
}
|
|
type: "item"
|
|
}
|
|
]
|
|
x: 2.0d
|
|
y: 0.75d
|
|
}
|
|
{
|
|
dependencies: ["662D0BC3B032EA6A"]
|
|
icon: {
|
|
id: "cobblemon:great_ball"
|
|
}
|
|
id: "4E95F2B6B144DACB"
|
|
tasks: [
|
|
{
|
|
action: "catch"
|
|
amount: 6L
|
|
biome: ""
|
|
dex_progress: ""
|
|
dimension: ""
|
|
form: ""
|
|
gender: ""
|
|
id: "77EB6E4496784340"
|
|
max_level: 0
|
|
min_level: 0
|
|
natures: ""
|
|
poke_ball_used: ""
|
|
pokemon: ""
|
|
pokemon_type: ""
|
|
region: ""
|
|
shiny: false
|
|
time_max: 0L
|
|
time_min: 0L
|
|
type: "cobblemon_tasks:cobblemon_task"
|
|
}
|
|
]
|
|
x: 4.0d
|
|
y: -3.0d
|
|
}
|
|
{
|
|
dependencies: ["662D0BC3B032EA6A"]
|
|
icon: {
|
|
id: "cobblesurvival:revival_charm"
|
|
}
|
|
id: "6603239BE6012B1F"
|
|
tasks: [
|
|
{
|
|
id: "409E1983A3EA5E2A"
|
|
item: {
|
|
count: 1
|
|
id: "cobblesurvival:revival_charm"
|
|
}
|
|
type: "item"
|
|
}
|
|
]
|
|
x: 4.0d
|
|
y: -1.5d
|
|
}
|
|
{
|
|
dependencies: ["662D0BC3B032EA6A"]
|
|
icon: {
|
|
id: "cobblemon:healing_machine"
|
|
}
|
|
id: "4CCE497681B71AB5"
|
|
tasks: [
|
|
{
|
|
id: "33E4D851DCC35B04"
|
|
item: {
|
|
count: 1
|
|
id: "cobblemon:healing_machine"
|
|
}
|
|
type: "item"
|
|
}
|
|
]
|
|
x: 4.0d
|
|
y: 0.0d
|
|
}
|
|
{
|
|
dependencies: ["662D0BC3B032EA6A"]
|
|
icon: {
|
|
id: "cobblemon:exp_candy_s"
|
|
}
|
|
id: "734F4C633D8946E3"
|
|
tasks: [
|
|
{
|
|
action: "level_up_to"
|
|
amount: 10L
|
|
biome: ""
|
|
dex_progress: ""
|
|
dimension: ""
|
|
form: ""
|
|
gender: ""
|
|
id: "4D6E1C7B66413D13"
|
|
max_level: 0
|
|
min_level: 0
|
|
natures: ""
|
|
poke_ball_used: ""
|
|
pokemon: ""
|
|
pokemon_type: ""
|
|
region: ""
|
|
shiny: false
|
|
time_max: 0L
|
|
time_min: 0L
|
|
type: "cobblemon_tasks:cobblemon_task"
|
|
}
|
|
]
|
|
x: 4.0d
|
|
y: 1.5d
|
|
}
|
|
{
|
|
dependencies: ["662D0BC3B032EA6A"]
|
|
icon: {
|
|
id: "minecraft:string"
|
|
}
|
|
id: "4D8A9AAC3492BF6A"
|
|
tasks: [
|
|
{
|
|
action: "defeat"
|
|
amount: 5L
|
|
biome: ""
|
|
dex_progress: ""
|
|
dimension: ""
|
|
form: ""
|
|
gender: ""
|
|
id: "01AE5D898D38E9EF"
|
|
max_level: 0
|
|
min_level: 0
|
|
natures: ""
|
|
poke_ball_used: ""
|
|
pokemon: ""
|
|
pokemon_type: ""
|
|
region: ""
|
|
shiny: false
|
|
time_max: 0L
|
|
time_min: 0L
|
|
type: "cobblemon_tasks:cobblemon_task"
|
|
}
|
|
]
|
|
x: 4.0d
|
|
y: 3.0d
|
|
}
|
|
{
|
|
dependencies: ["734F4C633D8946E3"]
|
|
icon: {
|
|
id: "cobblemon:fire_stone"
|
|
}
|
|
id: "7B60BB7EF06BE4E4"
|
|
tasks: [
|
|
{
|
|
action: "evolve"
|
|
amount: 1L
|
|
biome: ""
|
|
dex_progress: ""
|
|
dimension: ""
|
|
form: ""
|
|
gender: ""
|
|
id: "3EFBBA3B25149DCF"
|
|
max_level: 0
|
|
min_level: 0
|
|
natures: ""
|
|
poke_ball_used: ""
|
|
pokemon: ""
|
|
pokemon_type: ""
|
|
region: ""
|
|
shiny: false
|
|
time_max: 0L
|
|
time_min: 0L
|
|
type: "cobblemon_tasks:cobblemon_task"
|
|
}
|
|
]
|
|
x: 6.0d
|
|
y: -0.75d
|
|
}
|
|
{
|
|
dependencies: ["734F4C633D8946E3", "4E95F2B6B144DACB"]
|
|
icon: {
|
|
id: "minecraft:compass"
|
|
}
|
|
id: "0830DA072B96D6A8"
|
|
tasks: [
|
|
{
|
|
advancement: "cobblesurvival:events/zone/southwold"
|
|
criterion: ""
|
|
id: "44B70BA974514E63"
|
|
type: "advancement"
|
|
}
|
|
]
|
|
x: 6.0d
|
|
y: 0.75d
|
|
}
|
|
]
|
|
}
|