
Description
MCA: Quests
An RPG-style, datapack-driven quest system for Minecraft Comes Alive: 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 items, XP, status effects — and a meaningful boost to your MCA hearts with that specific villager.
Server-authoritative, dup-proof, and fully data-driven: every quest is a JSON file, so modpacks and players can add their own without writing code.
Looking to add your own quests? Read the DATAPACK.md for more information on GitHub.
Features
- π¨οΈ Integrated menu — a Quests button is injected directly into MCA's villager interaction screen (no extra steps, no separate UI to learn).
- π 150+ built-in quests spanning every villager profession — farmer, fisherman, shepherd, librarian, cleric, armorer, weaponsmith, toolsmith, mason, butcher, fletcher, leatherworker, cartographer — plus jobless/nitwit villagers and MCA's guard (with bonus content for archers, adventurers, and mercenaries).
- π Multi-offer conversation UI — villagers present several quests at once, each with flavor dialogue, objectives, and a reward summary; Accept / Decline / Complete / Abandon inline.
- π Relationship quest chains — link quests into multi-stage arcs that remember what you did: a farmer asks for wheat, then to expand the farm, then to help an apprentice, then invites you to a feast. Chains branch on whether you completed, failed, or abandoned earlier steps, and the UI shows the arc name and "Part 2 of 4". All datapack-driven — no code required (4 sample arcs included).
- πΎ Living Village situations — villages react to what happens in the world. Raids, deaths, zombie infections, missing kin, famine, and nightfall open transient situations that surface dynamic, time-limited quest offers on nearby villagers — "drive back the raid", "cure the infected", "find the missing child", "fill the empty granary" — and resolve into village reputation when you help (or fail to). Server-authoritative, throttled so they never spam, and persisted in the world save. Fully datapack-driven (
situations/) and backward compatible; 6 example situations included. - ποΈ Village projects — shared, multi-stage community goals that the whole server works on together. A sponsor villager rallies the town — repair the well, restock the guardhouse, restore the library — and any player can contribute: progress is shared and lives in the world save, so donations, kills, and builds all bank into one common pool. Pick a scope (player, villager, family, profession, or village), and phases hand out shared rewards (to contributors, the top contributor, everyone who helped, or the village) plus mod-side village reputation. Fully datapack-driven and backward compatible; 6 example projects included.
- π
Progression: reputation tiers & titles — village reputation now climbs a named ladder (Stranger → Acquaintance → Friend → Honored → Revered), with a tier-up toast and auto-earned titles. Gate quests on a player's standing with the
reputation_tiercondition, award titles with thegrant_titlereward, and track it all in a new Journal screen (village reputation, tiers, titles, and a completed-quest archive). Fully datapack-driven (reputation_tiers/,titles/) and backward compatible. - π― 10 objective types — deliver items, gather, craft, fish, kill mobs, break/place blocks, visit biomes or dimensions, and talk to professions.
- π 7 reward types — items, XP, XP levels, status effects, loot tables, commands (off by default), and MCA hearts.
- π 25 condition types +
all_of/any_of/notcomposites — gate offers by hearts, profession, biome, dimension, time, weather, held item, advancement, level, random chance, and quest history (completed / not-completed / failed / abandoned). - π MCA-aware conditions — gate quests on the villager's life-sim state: whether they're your spouse or family, their relationship status, age, personality, mood, village/home, health, or infection, and even whether a relative is missing or has died. All optional, datapack-driven, and fail-safe; 6 sample quests included (spouse errand, child's request, sick-villager remedy, guard patrol, missing-child search, memorial).
- π§ Quest tracking — a keybind-toggled Quest Log, a fully repositionable HUD tracker that names the giver, and a toast + sound when a quest is ready to turn in.
- π‘οΈ Server-authoritative & exploit-resistant — all selection, validation, and reward granting happen on the server; turn-in is atomic and idempotent, so packet-spam can't duplicate rewards.
- π§© Extensible — a public Java API lets add-ons register their own objective/reward/condition types, and five Forge events (
QuestAccepted/Ready/Completed/Abandoned/Failed) let other mods react. - π¬ MCA: Conversations integration (optional) — with the MCA: Conversations add-on installed, villagers speak a quest's offer / progress / completion / failure line in their own personality instead of the static text, and "talk to this villager" objectives progress from an actual conversation. MCA: Quests ships only the hooks and safe fallbacks — without the add-on, dialogue stays as written and nothing else changes.
Requirements
| Minecraft | 1.20.1 |
| Mod loader | Forge 47.4.10 or newer |
| MCA Reborn | Required — 7.6.x |
| Architectury API | Required (Forge) — MCA Reborn depends on it |
| MCA: Conversations | Optional — enables voiced quest dialogue & conversation-driven objectives |
MCA: Quests does nothing on its own — it is an add-on for MCA Reborn.
Installation
- Install Forge for Minecraft 1.20.1.
- Drop MCA Reborn, Architectury API, and MCA: Quests into your
mods/folder. - Launch. Right-click an adult MCA villager and click Quests.
How it works
Right-click a villager → Quests → pick an offer → Accept. Track it via the HUD or the Quest Log keybind (bind "Open Quest Log" in Controls). When the objective is done you'll get a toast; return to an eligible villager and Complete it to claim your rewards and earn hearts.
Configuration
Two files are generated in config/ on first run:
mcaquests-common.toml— gameplay rules (offer counts, cooldowns, hearts scaling, turn-in rules, the villager-follow toggle, …).mcaquests-client.toml— visuals (HUD position, toasts, sounds, the menu button).
See CONFIG.md for every option and its default.
Add your own quests
Quests load from any datapack at data/<namespace>/mcaquests/quests/**.json. Run /mcaquests export-schema in-game for a working example, and see DATAPACK.md for the full field reference and a step-by-step datapack walkthrough. Useful commands: /mcaquests list, /mcaquests validate, /mcaquests reload.
Shared village projects load alongside them from data/<namespace>/mcaquests/projects/**.json — see the Village projects section of DATAPACK.md and the /mcaquests project list|info|validate commands.
Emergent situations load from data/<namespace>/mcaquests/situations/**.json — pair a world-event trigger (raid, death, infection, missing kin, famine, night) with a time-limited offer. See the Situations section of DATAPACK.md and the /mcaquests situation list|info|validate|debug commands.
Building from source
Requires JDK 17.
./gradlew build
The jar lands in build/libs/. MCA Reborn and Architectury are pulled automatically (MCA via the Modrinth Maven). Note: gradle.properties pins org.gradle.java.home to a local JDK 17 path — adjust it to your own JDK 17 install, or remove it and run Gradle with JAVA_HOME pointed at JDK 17.
Compatibility note
MCA Reborn exposes no public API, so MCA: Quests links against its internal classes and is therefore pinned to the 7.6.x line. A future MCA major version may require an update here. All MCA access is isolated behind a single McaCompat adapter to make that easy.
The MCA: Conversations integration is a soft dependency: MCA: Quests exposes the dialogue and objective hooks (QuestDialogueHooks, ExternalSignalObjective) and the add-on registers itself against them. When it isn't installed the hooks simply no-op — quest dialogue falls back to the static datapack text and objectives progress through their normal detectors.
License & credits
Licensed under GPL-3.0, matching MCA Reborn (whose internals this mod links against).
- Minecraft Comes Alive: Reborn by Luke100000 and contributors — the mod this builds on.
- Created by otectus.






