promotional bannermobile promotional banner

MCA: Quests

An RPG-style, datapack-driven quest system for MCA:Reborn villagers. Right-click a villager, open the new Quests menu, accept a job, complete it out in the world, and turn it in for sweet rewards and hearts.
Back to Files

MCA: Quests 0.8.0 (Forge 1.20.1)

File namemcaquests-0.8.0.jar
Uploader
OtectusOtectus
Uploaded
Jul 6, 2026
Downloads
332
Size
859.6 KB
Mod Loaders
Forge
File ID
8383477
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:mca-quests-1579993:8383477")

Learn more about Curse Maven

What's new

[0.8.0] - 2026-06-22

Built for Minecraft 1.20.1 / Forge, requiring MCA Reborn 7.6.x and Architectury API. The Living Village phase: villages now react to what actually happens in the world and ask for help. Instead of only standing, author-authored offers, gameplay events open transient Situations that surface dynamic, time-limited quest offers on nearby villagers and resolve into reputation outcomes. Saves remain forward/backward compatible (new data loads as empty when absent). Network protocol bumped to v4 — client and server must run matching versions.

Added

  • Situations — a new, fully datapack-driven system of emergent, world-driven quests loaded from data/<ns>/mcaquests/situations/**.json. A situation pairs a trigger (what world event opens it) with lifetime/throttle metadata, a scope, resolution outcomes, and the dynamic offer surfaced while it is open. Open situations are stored in the world save (mcaquests_situations.dat), so they survive logout, chunk/villager unload, and restart; everything is server-authoritative.
    • Six trigger types, registry-driven like objectives/conditions/rewards: mcaquests:raid, villager_death, infection (min_progress), missing_kin (relation), low_food (threshold, read from MCA village storage), and night (require_full_moon). Detection is player-proximity-driven (a periodic sweep of villages near players) plus event-driven on villager death; all MCA access stays behind McaCompat.
    • Three scopes decide who surfaces the offer and where the outcome lands: village, villager (the focal one), and family (an MCA lineage).
    • Dynamic offers reuse the entire existing quest lifecycle. A situation's offer block is the body of a quest (objectives, rewards, dialogue, turn-in, templates, offer shaping) and is surfaced through the same selection/shaping pipeline as static quests, defaulting to a higher priority so the village's needs stand out (situationDefaultPriority). The offer is time-limited: its deadline is anchored to the situation's open time, so the existing HUD countdown and failure machinery apply.
    • Resolution & outcomes — the first participant to complete the offer resolves the situation as a success (village reputation, routed through the single ReputationService, plus optional hearts to the focal villager); its deadline expiring resolves a failure (a reputation penalty, and any still-active copies fail with the new SITUATION_CLOSED reason); a condition lifting on its own (the raid ends, food recovers) closes it cleared, usually neutral.
    • Throttling — a per-village concurrency cap, a per-definition cooldown, and a global anti-spam cooldown gate how often situations open; every suppression is logged (caps are never silent).
    • "Village needs help" toast to nearby players when a situation opens (client showSituationToast) and a card tag marking situation offers in the menu.
    • Six built-in example situations: after_raid_recovery, cure_the_infected, find_missing_child, avenge_the_fallen, famine_relief, and night_watch.
    • New commands/mcaquests situation list|info <id>|validate|debug (list/info/debug at op level 2, validate at op level 3).
    • Config — a new situations block: enableSituations (master switch), maxConcurrentSituationsPerVillage, situationGlobalCooldownTicks, situationDetectionIntervalTicks, maxSituationOffersPerMenu, situationDefaultPriority, and client showSituationToast.

Changed

  • Network protocol bumped v3 → v4 for the situation toast packet. The handshake rejects mismatched client/server; save data is unaffected.
  • All active-quest definition lookups now route through a single resolver so dynamic situation offers reuse the quest lifecycle (accept, track, turn in, fail) unchanged alongside static quests.

Compatibility

  • Fully save backward/forward compatible: open situations and the new optional ActiveQuest situation link load as empty/absent on pre-0.8.0 saves, and existing quests, projects, conditions, and rewards are unchanged. When enableSituations is off, nothing is detected, opened, or surfaced.

This mod has no additional files