Checking player status…
View all
Browse Afterfall articles
reference / Afterfall

Campaign objectives and rewards — spoilers

Follow all thirteen ordered campaign chains with printed detectors, gates, rewards and contribution caveats.

Afterfall 0.14.0Java 1.21.1NeoForge
Story spoilers ahead

Campaign spoiler boundary

This page reveals every campaign objective, detector, gate and reward. Objectives are normally ordered and server-detected. Earlier/later actions usually do not count retroactively; explicit polled fallbacks and remembered reactor facts are exceptions. Possession does not consume an item; delivery does.

Joining a party alone does not establish once-per-account reward eligibility: the account must have joined a campaign before the relevant event and contributed. Availability also follows configuration, prior campaign and site/region predicates. NPC side jobs have their own bound targets and payout ledger.

Follow the active journal objective rather than relying on an earlier action to count. First Shelter’s rest hint and Independent Power’s maintained-power threshold do not have fully confirmed timing here; their exact recorded checks are in the reference below.

QUEST-001 First Shelter

Reward: 10 tokens. Gate: Always; auto-start.

StepObjective / hint
1Get inside a building Any house, shop or shelter counts. Use an ordinary door or window; you do not need to break walls.
2Drink 250 mL of clean water Bottled or boiled water. Rain and pond water can make you sick.
3Rest in a bed Use a bed and rest for at least an hour. Infected nearby will keep you awake.
4Barricade a door or window Nail boards across an opening of your shelter.

QUEST-002 Working Wheels

Reward: 20 tokens; Mechanics 100 XP. Gate: Always; manual start.

StepObjective / hint
1Find a vehicle wreck Parked and abandoned vehicles line the roads near towns.
2Install a battery A charged vehicle battery goes into the wreck from the maintenance screen.
3Bring an engine to 40% condition Repair the engine with a wrench, plates and oil.
4Drive 250 blocks Any route counts. Roads are faster than open ground.

QUEST-003 Independent Power

Reward: 20 tokens; Electrical 100 XP. Gate: Always; manual start.

StepObjective / hint
1Start a generator Portable generators need fuel and an open-air exhaust.
2Add 1 L of fuel Pour fuel from a fuel can into the generator.
3Power a refrigerator or freezer Link it to the generator with insulated wire.
4Keep the power on for one survival hour Do not let the fuel run dry while the hour passes.

QUEST-004 Regional Restoration

Reward: 50 tokens; regional restoration outcome. Gate: Region not previously restored; bind survey/kill/restore to same region.

StepObjective / hint
1Survey a utility control station Inspect a control station in a region that has not been restored before.
2Kill 10 infected in that region Clear the roads and yards around the station.
3Carry the restoration parts 20 steel plates, 10 insulated wire, 4 circuit boards and 2 electric motors, all at once.
4Restore water or power in that region Run the restoration job at the control station with a generator.

QUEST-005 Antiviral Production

Reward: 40 tokens; Research 200 XP. Gate: Always; manual start.

StepObjective / hint
1Extract an infected sample Use a scalpel and an empty sample vial on an infected corpse.
2Read a Research Beginner Manual Libraries and schools keep research manuals.
3Synthesize 2 antiviral doses The chemical lab can manufacture antiviral doses from samples.
4Treat an infection with an antiviral Treat yourself or a clinic survivor with an antiviral course.

QUEST-006 Evacuation Corridor

Reward: 50 tokens; evacuation badge/ending. Gate: Always; bound refugee deliveries.

StepObjective / hint
1Reach an emergency shelter Emergency shelters are large public buildings near towns.
2Repair a bus to 50 integrity Weld plates onto the bus at a vehicle workbench or in the field.
3Stock the bus: 10 rations and 10 L of water Stand next to the vehicle and deliver 10 emergency rations and 20 clean water bottles from the journal.
4Transport 4 refugees Carry four different survivors to safety by vehicle.

QUEST-007 Rebuild the District

Reward: 50 tokens; community badge/ending. Gate: Always; own-team claim and seven-survival-day hold.

StepObjective / hint
1Stand in land your team has claimed Claim chunks for your team from the settlement manager.
2Gather 6 survivors in the claim Players of your party and recruited survivors within 48 blocks all count.
3Stockpile 3 days of supplies Inside the claim, deliver 18 food items and 18 clean water bottles from the journal.
4Bring utilities to the claim Restored grid power or mains water, or finish Independent Power with your party.
5Hold the district for 7 days Seven survival days must pass with the district standing.

QUEST-008 Nether Field Expedition

Reward: 40 tokens; research badge. Gate: Nether profile enabled.

StepObjective / hint
1Enter the Nether Build or find a portal. Carry sealed water and thermal gear.
2Reach a Nether expedition station The stations are heat refuges with safe exits.
3Extract 3 Nether samples Ash-touched infected yield Nether samples.
4Return to the Overworld Go back through a portal.

QUEST-009 End Stabilization

Reward: 50 tokens; survey badge. Gate: End profile enabled.

StepObjective / hint
1Enter the End Travel through an End portal.
2Carry a stabilizer module Stabilizer modules are built at the electrical bench from an anchor crystal.
3Survey 3 different rifts Get close enough to a rift to take readings.
4Return to the Overworld Use the vanilla exit portal.

QUEST-010 Treatment Research

Reward: 50 tokens; treatment badge/outcome. Gate: Prior campaign: Antiviral Production.

StepObjective / hint
1Complete Antiviral Production Your party must have finished the antiviral campaign.
2Extract samples: 3 infected, 1 Nether, 1 End Samples from all three worlds are needed for comparison.
3Run 1000 energy of lab research Run research jobs at a powered chemical lab.

QUEST-011 Airborne Rescue

Reward: 50 tokens; Piloting 200 XP. Gate: Aircraft enabled.

StepObjective / hint
1Repair an aircraft Helicopters and planes are found at airfields; parts can come from the ground.
2Land at a helipad or runway Land safely within reach of a helipad or runway.
3Carry 2 refugees Deliver two different survivors as passengers.
4Land near an emergency shelter Bring the aircraft down near a relief shelter.

QUEST-012 Trade Route

Reward: 30 tokens; Road Traders +20 reputation. Gate: Always; manual start.

StepObjective / hint
1Visit 3 communities Shelters and survivor camps count when you stand within 24 blocks of them.
2Deliver 5 food and 2 medical items Stand next to a survivor and deliver from the journal.
3Drive 512 blocks along the route One region of road travel.

QUEST-013 Restart the Reactor

Reward: 60 tokens; Electrical 500 XP; reactor outcome. Gate: Always; remembered reactor facts.

StepObjective / hint
1Clear the plant of infected Every infected inside the plant must be down. The reactor hall is radioactive: carry a counter.
2Repair the reactor console Circuit boards, insulated wire, an electric motor and steel plate, and some Electrical skill. The repair can be resumed.
3Load fuel rods into the fuel port Fuel rods are found in the plant and at a few industrial or military sites.
4Bring the reactor online It needs cooling water at the intake: a pump, a pipe network or a river beside the plant. Without it, it stops safely.
5Link a transformer to the reactor output A transformer takes one input. If you strung the line before the reactor ran, reconnect the first transformer.
6Power an electric panel from the reactor Wire a panel to the transformer chain. Every appliance in its building comes on.

Outcomes and story endings

Treatment Research reports an extra antiviral dose per later batch. Its treatment outcome is separate from the recipe’s Virology specialization bonus. Regional Restoration can apply once to its bound eligible region. Reactor completion requires distribution, not merely startup.

The campaign-level evacuation/community ending flags are distinct from The Long Light’s four principal endings and road/air codas. The report does not establish eight unrelated ending plots. No objective chain or party reward path was newly playtested here.

Admin & server owner reference

Exact identifiers, original fields and source locators are preserved below. These records describe the documented mod version; they are not commands to run or proof of a new gameplay test.

StepObjective / hintReported detector and gates / PDF page
1Get inside a building Any house, shop or shelter counts. Use an ordinary door or window; you do not need to break walls.count(“enter_building”, “enter_building”, 1) (p. 48)
2Drink 250 mL of clean water Bottled or boiled water. Rain and pond water can make you sick.sum(“clean_water”, “drink_clean_water”, 250) (p. 48)
3Rest in a bed Use a bed and rest for at least an hour. Infected nearby will keep you awake.sum(“rest”, “sleep_in_bed”, 1) (p. 48)
4Barricade a door or window Nail boards across an opening of your shelter.count(“barricade”, “place_barricade”, 1) (p. 48)
StepObjective / hintReported detector and gates / PDF page
1Find a vehicle wreck Parked and abandoned vehicles line the roads near towns.count(“find_wreck”, “wreck_found”, 1) (p. 48)
2Install a battery A charged vehicle battery goes into the wreck from the maintenance screen.count(“battery”, “part_installed”, 1, “vehicle_battery”, ” aircraft_battery”) (p. 48)
3Bring an engine to 40% condition Repair the engine with a wrench, plates and oil.threshold(“engine”, “engine_condition”, 40) (p. 48)
4Drive 250 blocks Any route counts. Roads are faster than open ground.sum(“drive”, “drive_distance”, 250) (p. 48)
StepObjective / hintReported detector and gates / PDF page
1Start a generator Portable generators need fuel and an open-air exhaust.count(“generator”, “generator_started”, 1) (p. 49)
2Add 1 L of fuel Pour fuel from a fuel can into the generator.sum(“fuel”, “fuel_added”, 1000) (p. 49)
3Power a refrigerator or freezer Link it to the generator with insulated wire.count(“refrigerator”, “device_powered”, 1, “refrigerator”, ” freezer”) (p. 49)
4Keep the power on for one survival hour Do not let the fuel run dry while the hour passes.sum(“maintain”, “power_maintained”, 50) (p. 49)
StepObjective / hintReported detector and gates / PDF page
1Survey a utility control station Inspect a control station in a region that has not been restored before.count(“survey”, “utility_surveyed”, 1).when((p, prog, detail) -> { String region = Detect.regionKey(p); if (CampaignData.get(p.server).restoredRegions.contains(region)) return false; prog.bound = region; prog.flags.remove(FLAG_DARK); observeBoundRegion(p, prog); return true; }) (p. 49)
2Kill 10 infected in that region Clear the roads and yards around the station.count(“clear_approach”, “kill_infected”, 10).when((p, prog, d) -> Detect.regionKey(p).equals(prog.bound)) (p. 49)
3Carry the restoration parts 20 steel plates, 10 insulated wire, 4 circuit boards and 2 electric motors, all at once.possess(“restoration_parts”, new ItemReq(“afterfall:steel_plate”, 20), new ItemReq(“afterfall:insulated_wire”, 10), new ItemReq(“afterfall:circuit_board”, 4), new ItemReq(“afterfall:electric_motor”, 2)) (p. 49)
4Restore water or power in that region Run the restoration job at the control station with a generator.count(“restore”, “utility_restored”, 1).when((p, prog, d) -> Detect.regionKey(p).equals(prog.bound) && ! CampaignData.get(p.server).restoredRegions.contains(prog.bou nd)) .orPoll((p, prog) -> { Boolean live = observeBoundRegion(p, prog); return live != null && live && prog.flags.contains(FLAG_DARK) && ! CampaignData.get(p.server).restoredRegions.contains(prog.bou nd) ? “restored” : null; }) (p. 49)
StepObjective / hintReported detector and gates / PDF page
1Extract an infected sample Use a scalpel and an empty sample vial on an infected corpse.count(“sample”, “sample_extracted”, 1) (p. 50)
2Read a Research Beginner Manual Libraries and schools keep research manuals.count(“study”, “manual_read”, 1, “research/beginner”) (p. 50)
3Synthesize 2 antiviral doses The chemical lab can manufacture antiviral doses from samples.sum(“synthesize”, “craft”, 2, “antiviral_dose”) (p. 50)
4Treat an infection with an antiviral Treat yourself or a clinic survivor with an antiviral course.count(“treat”, “treat_infection”, 1).when((p, prog, d) -> ! d.isEmpty()) (p. 50)
StepObjective / hintReported detector and gates / PDF page
1Reach an emergency shelter Emergency shelters are large public buildings near towns.count(“relief_shelter”, “enter_building”, 1, “emergency_shelter”) (p. 50)
2Repair a bus to 50 integrity Weld plates onto the bus at a vehicle workbench or in the field.threshold(“repair_bus”, “vehicle_repaired”, 50, “bus”) (p. 50)
3Stock the bus: 10 rations and 10 L of water Stand next to the vehicle and deliver 10 emergency rations and 20 clean water bottles from the journal.deliver(“stock_bus”, (p, prog, d) -> Detect.nearVehicle(p, 8), new ItemReq(“afterfall:emergency_ration”, 10), new ItemReq(“afterfall:clean_water_bottle”, 20)) (p. 50)
4Transport 4 refugees Carry four different survivors to safety by vehicle.distinct(“transport”, “passenger_delivered”, 4) (p. 50)
StepObjective / hintReported detector and gates / PDF page
1Stand in land your team has claimed Claim chunks for your team from the settlement manager.poll(“claim”, (p, prog) -> Detect.inOwnClaim(p) ? “claim” : null) (p. 50)
2Gather 6 survivors in the claim Players of your party and recruited survivors within 48 blocks all count.poll(“survivors”, (p, prog) -> Detect.inOwnClaim(p) && survivorsNear(p) >= 6 ? “survivors” : null) (p. 50)
3Stockpile 3 days of supplies Inside the claim, deliver 18 food items and 18 clean water bottles from the journal.deliver(“supplies”, (p, prog, d) -> Detect.inOwnClaim(p), new ItemReq(“#afterfall:food”, 18), new ItemReq(“afterfall:clean_water_bottle”, 18)) (p. 50)
4Bring utilities to the claim Restored grid power or mains water, or finish Independent Power with your party.poll(“utilities”, (p, prog) -> { if (!Detect.inOwnClaim(p)) return null; BlockPos pos = p.blockPosition(); boolean grid = utilities.hasGridPower(p.serverLevel(), pos) || utilities.hasMainsWater(p.serverLevel(), pos); boolean own = CampaignData.get(p.server).progress(prog.party, INDEPENDENT_POWER).map(PartyProgress::isComplete).orElse( false); return grid || own ? “utilities” : null; }) (p. 51)
5Hold the district for 7 days Seven survival days must pass with the district standing.timerDays(“hold”, 7) (p. 51)
StepObjective / hintReported detector and gates / PDF page
1Enter the Nether Build or find a portal. Carry sealed water and thermal gear.count(“enter”, “dimension_entered”, 1, “the_nether”) (p. 51)
2Reach a Nether expedition station The stations are heat refuges with safe exits.count(“refuge”, “enter_building”, 1, “nether_expedition_station”) (p. 51)
3Extract 3 Nether samples Ash-touched infected yield Nether samples.sum(“samples”, “sample_extracted”, 3, “nether_sample”) (p. 51)
4Return to the Overworld Go back through a portal.count(“return”, “dimension_entered”, 1, “overworld”) (p. 51)
StepObjective / hintReported detector and gates / PDF page
1Enter the End Travel through an End portal.count(“enter”, “dimension_entered”, 1, “the_end”) (p. 51)
2Carry a stabilizer module Stabilizer modules are built at the electrical bench from an anchor crystal.possess(“stabilizer”, new ItemReq(“afterfall:stabilizer_module”, 1)) (p. 51)
3Survey 3 different rifts Get close enough to a rift to take readings.distinct(“rifts”, “rift_surveyed”, 3) (p. 51)
4Return to the Overworld Use the vanilla exit portal.count(“return”, “dimension_entered”, 1, “overworld”) (p. 51)
StepObjective / hintReported detector and gates / PDF page
1Complete Antiviral Production Your party must have finished the antiviral campaign.campaignDone(“antiviral_chain”, ANTIVIRAL_PRODUCTION) (p. 52)
2Extract samples: 3 infected, 1 Nether, 1 End Samples from all three worlds are needed for comparison.multi(“samples”, “sample_extracted”, Map.of(“infected_sample”, 3, “nether_sample”, 1, ” end_sample”, 1)) (p. 52)
3Run 1000 energy of lab research Run research jobs at a powered chemical lab.sum(“lab”, “lab_research”, 1000) (p. 52)
StepObjective / hintReported detector and gates / PDF page
1Repair an aircraft Helicopters and planes are found at airfields; parts can come from the ground.count(“repair_aircraft”, “vehicle_repaired”, 1, “light_helicopter”, ” utility_helicopter”, “bush_plane”, “cargo_plane”) (p. 52)
2Land at a helipad or runway Land safely within reach of a helipad or runway.count(“landing_pad”, “aircraft_landed”, 1).when((p, prog, d) -> Detect.nearMarker(p, “helipad”, 48).isPresent() || Detect.nearMarker(p, “runway”, 96).isPresent()) (p. 52)
3Carry 2 refugees Deliver two different survivors as passengers.distinct(“refugees”, “passenger_delivered”, 2) (p. 52)
4Land near an emergency shelter Bring the aircraft down near a relief shelter.count(“relief_hub”, “aircraft_landed”, 1).when((p, prog, d) -> Detect.nearMarker(p, “shelter”, 96).isPresent()) (p. 52)
StepObjective / hintReported detector and gates / PDF page
1Visit 3 communities Shelters and survivor camps count when you stand within 24 blocks of them.pollDistinct(“communities”, 3, (p, prog) -> { var m = Detect.nearMarker(p, “shelter”, 24).or(() -> Detect.nearMarker(p, “npc_camp”, 24)); return m.map(pos -> p.level().dimension().location() + ”@” + pos.asLong()).orElse(null); }) (p. 52)
2Deliver 5 food and 2 medical items Stand next to a survivor and deliver from the journal.deliver(“deliver”, (p, prog, d) -> Detect.nearNpc(p, 6), new ItemReq(“#afterfall:food”, 5), new ItemReq(“#afterfall:medicine”, 2)) (p. 52)
3Drive 512 blocks along the route One region of road travel.sum(“escort”, “drive_distance”, 512) (p. 52)
StepObjective / hintReported detector and gates / PDF page
1Clear the plant of infected Every infected inside the plant must be down. The reactor hall is radioactive: carry a counter.reactorStep(“clear”, 0) (p. 53)
2Repair the reactor console Circuit boards, insulated wire, an electric motor and steel plate, and some Electrical skill. The repair can be resumed.reactorStep(“repair”, 1) (p. 53)
3Load fuel rods into the fuel port Fuel rods are found in the plant and at a few industrial or military sites.reactorStep(“fuel”, 2) (p. 53)
4Bring the reactor online It needs cooling water at the intake: a pump, a pipe network or a river beside the plant. Without it, it stops safely.reactorStep(“online”, 3) (p. 53)
5Link a transformer to the reactor output A transformer takes one input. If you strung the line before the reactor ran, reconnect the first transformer.reactorStep(“link”, 4) (p. 53)
6Power an electric panel from the reactor Wire a panel to the transformer chain. Every appliance in its building comes on.reactorStep(“panel”, 5) (p. 53)

Original fields and wording

Raw detector expressions below are evidence, not commands to execute. Hint text can differ from a literal threshold: First Shelter says rest for an hour but its printed detector is sum("rest", "sleep_in_bed", 1); Independent Power uses power_maintained threshold 50 for one survival hour. The underlying event units have not been independently audited here. Use the installed journal and report the discrepancy if observed.

Sources & verification

Evidence: pdf-derived. Feature status: implemented-static. Article coverage: ready.

Afterfall_0.14.0_Extensive_Mod_Breakdown.pdf

PDF pages 48–53 · 19 All thirteen campaigns and objective chains · Afterfall 0.14.0 report: E090, E126–E128

Reported static findings and packaged-guide behavior. Underlying source/JAR and gameplay have not been rechecked for this wiki; pack overrides are unknown.

The wiki has not independently playtested report-derived instructions. Your server or modpack settings may change them.

Editor setupEditing guide →