- 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>
114 lines
1.9 KiB
SNBT
114 lines
1.9 KiB
SNBT
{
|
|
default_hide_dependency_lines: false
|
|
default_quest_shape: ""
|
|
filename: "machines"
|
|
group: ""
|
|
icon: {
|
|
id: "cobblesurvival:heat_core"
|
|
}
|
|
id: "5170190C30A58C4C"
|
|
order_index: 16
|
|
quest_links: [ ]
|
|
quests: [
|
|
{
|
|
icon: {
|
|
id: "cobblesurvival:heat_core"
|
|
}
|
|
id: "0416CE46FDF992CF"
|
|
tasks: [
|
|
{
|
|
id: "2B27F35809CBDD44"
|
|
type: "checkmark"
|
|
}
|
|
]
|
|
x: 0.0d
|
|
y: 0.0d
|
|
}
|
|
{
|
|
dependencies: ["0416CE46FDF992CF"]
|
|
icon: {
|
|
id: "cobblesurvival:heat_core"
|
|
}
|
|
id: "19F164637025FA56"
|
|
tasks: [
|
|
{
|
|
advancement: "cobblesurvival:events/machine/heat_core"
|
|
criterion: ""
|
|
id: "1E88C490A11841C2"
|
|
type: "advancement"
|
|
}
|
|
]
|
|
x: 2.0d
|
|
y: -2.25d
|
|
}
|
|
{
|
|
dependencies: ["0416CE46FDF992CF"]
|
|
icon: {
|
|
id: "cobblesurvival:dynamo_core"
|
|
}
|
|
id: "6B424DADFF959A58"
|
|
tasks: [
|
|
{
|
|
advancement: "cobblesurvival:events/machine/dynamo_core"
|
|
criterion: ""
|
|
id: "29BC1DB51DDFA453"
|
|
type: "advancement"
|
|
}
|
|
]
|
|
x: 2.0d
|
|
y: -0.75d
|
|
}
|
|
{
|
|
dependencies: ["6B424DADFF959A58"]
|
|
icon: {
|
|
id: "cobblesurvival:synthesis_core"
|
|
}
|
|
id: "035E43CC5E263118"
|
|
tasks: [
|
|
{
|
|
advancement: "cobblesurvival:events/machine/synthesis_core"
|
|
criterion: ""
|
|
id: "1DC91BD8BFFFEDA9"
|
|
type: "advancement"
|
|
}
|
|
]
|
|
x: 4.0d
|
|
y: 0.0d
|
|
}
|
|
{
|
|
dependencies: ["0416CE46FDF992CF"]
|
|
icon: {
|
|
id: "cobblesurvival:altar_core"
|
|
}
|
|
id: "3B64655619EB4CD4"
|
|
tasks: [
|
|
{
|
|
advancement: "cobblesurvival:events/machine/altar_core"
|
|
criterion: ""
|
|
id: "6EC304EEC3D8E6C3"
|
|
type: "advancement"
|
|
}
|
|
]
|
|
x: 2.0d
|
|
y: 0.75d
|
|
}
|
|
{
|
|
dependencies: ["0416CE46FDF992CF"]
|
|
icon: {
|
|
id: "cobblesurvival:rebirth_core"
|
|
}
|
|
id: "1DE944B24F006EB2"
|
|
tasks: [
|
|
{
|
|
advancement: "cobblesurvival:events/machine/rebirth_core"
|
|
criterion: ""
|
|
id: "3733FBDB6C485FA5"
|
|
type: "advancement"
|
|
}
|
|
]
|
|
x: 2.0d
|
|
y: 2.25d
|
|
}
|
|
]
|
|
}
|