Tagged Villager Protection
Do you run a datapack that adds custom NPC villagers alongside Minecraft Comes Alive? Then you have probably watched those NPCs stop working the moment MCA takes over. This mod fixes that.
The problem
MCA replaces vanilla villagers with its own villager entities. It carries over the name, trades and tags — but it cannot keep the entity type. Datapacks address their NPCs with selectors like @e[type=minecraft:villager,tag=boris], and the moment MCA swaps the entity, every one of those selectors stops matching. Dialogue, trading and quest scripting built on those NPCs simply breaks.
What this mod does
It steps in before MCA claims a villager and tells it to leave the tagged ones alone. A villager that carries an entity tag is one a datapack is scripting, so it stays a plain vanilla villager and its selectors keep working. Villagers from ordinary villages carry no tags and are still converted by MCA as usual — nothing about MCA's normal behaviour changes.
It contains nothing from any datapack and works with all of them, not one in particular.
Configuration — config/taggedvillagers-common.toml
enabled — master switch.
requiredTags — leave empty to protect every tagged villager (the right setting for most datapacks). Fill it in only to protect specific named NPCs instead.
logDecisions — turn on to log every villager MCA offered and whether it was protected. For troubleshooting.
Compatibility
Client and server. Built for NeoForge 1.21.1. Requires Minecraft Comes Alive to do anything. Verified against MCA 7.7.x. Open source, MIT licensed.

