MCA: Quests 0.8.0 (Forge 1.20.1)
Curse Maven Snippet
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), andnight(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 behindMcaCompat. - Three scopes decide who surfaces the offer and where the outcome lands:
village,villager(the focal one), andfamily(an MCA lineage). - Dynamic offers reuse the entire existing quest lifecycle. A situation's
offerblock 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 newSITUATION_CLOSEDreason); 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, andnight_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
situationsblock:enableSituations(master switch),maxConcurrentSituationsPerVillage,situationGlobalCooldownTicks,situationDetectionIntervalTicks,maxSituationOffersPerMenu,situationDefaultPriority, and clientshowSituationToast.
- Six trigger types, registry-driven like objectives/conditions/rewards:
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
ActiveQuestsituation link load as empty/absent on pre-0.8.0 saves, and existing quests, projects, conditions, and rewards are unchanged. WhenenableSituationsis off, nothing is detected, opened, or surfaced.
This mod has no additional files

