CurseForge · Minecraft mod
Data Driven Villagers
Create new villager professions and change existing ones, including textures, workstations, day plans, behaviours and village buildings, from simple JSON files or directly in the in-game editor GUI, no coding required.
Quick answer
Which Data Driven Villagers release should I use?
Data Driven Villagers 1.0.0 (Neoforge) 1.21.8 targets 1.21.8 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is Data Driven Villagers required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does Data Driven Villagers 1.0.0 (Neoforge) 1.21.8 need?
Data Driven Villagers 1.0.0 (Neoforge) 1.21.8. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
3 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.
Before you install it
Add Data Driven Villagers without breaking your instance.
Built for Data Driven Villagers 1.0.0 (Neoforge) 1.21.8. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use Data Driven Villagers 1.0.0 (Neoforge) 1.21.8. It targets 1.21.8 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside Data Driven Villagers 1.0.0 (Neoforge) 1.21.8. It opens that exact file at the source.
About this project
What does Data Driven Villagers add?
Create new villager professions and change existing ones, including textures, workstations, day plans, behaviours and village buildings, from simple JSON files or directly in the in-game editor GUI, no coding required.
No Java, no fork, no resource pack. One file per profession.
Versions: 1.20.1, 1.21.1, 1.21.8
Loader: Fabric, NeoForge (1.21.1, 1.21.8), Forge (1.20.1)
Support my work on
Requirements
- On Fabric you need Fabric API. On Forge and NeoForge you do not.
- For trades, install VillagersTradingPlus. Without it your professions work, but they have nothing to sell.
What you can do with it
- New professions bound to a block of your choice, from vanilla or from other mods.
- Your own look: a profession texture, a zombie-villager texture and the hat setting. You need no resource pack. On a server, the images go to every player automatically.
- Change vanilla professions with
overrides. For example, put the farmer on the night shift in four lines. - Day plans:
"schedule": "night"or your own switch-over times for work, idle, meet and rest. - Behaviour:
farmwork: harvest, replant and use bone meal like the farmer.flees_from: extra mobs to run from.attacks: guards that fight zombies and skeletons.health: more health for the profession.villages: keep a job in desert or snowy villages only.
- Village buildings: your own
.nbthouse appears in generated villages. Or give only a workstation, and the mod builds a stall in each village style: oak, sandstone, acacia or spruce. - Custom villager types, tied to biomes, with their own clothing.
- Hero of the Village gifts from your own loot table.
- In-game editor:
/ddv editopens a GUI with every field. Save writes the file and reloads it. - Live reload:
/ddv reloadapplies textures, hats, gifts, workstations, behaviour and day plans without a restart. New day plans reach villagers that already stand in the world.
Quick start
- Start the game once. The mod writes an example into
config/datadrivenvillagers/professions/. - Edit
example_baker.json(or open/ddv edit), then restart. - Get a structure block with
/give @s minecraft:structure_blockand place it next to an unemployed villager. The villager becomes a baker. The example uses a structure block so it takes no block away from a normal world.
{
"workstation": "minecraft:structure_block",
"display_name": "Baker",
"texture": "example_baker.png",
"hat": "none",
"work_sound": "minecraft:entity.villager.work_farmer",
"gatherable_items": ["minecraft:wheat", "minecraft:bread"],
"secondary_job_sites": ["minecraft:cake"]
}
The file name is the id: baker.json becomes datadrivenvillagers:baker. Put baker.png next to the json and the texture loads at runtime.
Why a config folder and not a datapack? Professions and job sites are registries that Minecraft freezes before any datapack loads. Everything that can be a datapack still is one: trades, gifts, tags and translations.
On a server, every player needs the mod and the same profession files, because the game refuses a client that does not know a registered profession. /ddv export <name> packs one profession into a zip that you can give to your players.
Commands
| Command | Does |
|---|---|
/ddv edit [<name>] |
Opens the editor GUI on a profession, or on a new one. |
/ddv why <name> |
Checks the complete chain for one profession and shows where it breaks. |
/ddv why villager |
The same for the villager in front of you: job, station, bed, plan, why it does not work or sleep. |
/ddv blocks [text] |
Shows which blocks are still free to be a workstation. |
/ddv reload |
Reads the config folder again without a restart. |
/ddv scaffold <name> |
Writes the trade file, gift loot table, language file and a village stall, ready to edit. |
/ddv export <name> |
Packs a profession with its files into one zip that you can share. |
/ddv doctor |
Writes every report into doctor.txt, to paste into a bug report. |
/ddv list / /ddv errors |
All loaded professions / every rejected file and why. |
/ddv help |
Shows this table in the chat. |
list, errors, why, blocks and help need permission level 2. edit, reload, scaffold, export and doctor write files and need level 3. In a singleplayer or LAN world, only the host can use them.
Trades
Trades come from VillagersTradingPlus. Put a trade file into a datapack at data/<namespace>/default_villager_trades/baker.json with "profession": "datadrivenvillagers:baker". Or press Create default trades in /ddv edit, and the mod writes a starting file into the world's datapacks for you. The full trade format is on the VillagersTradingPlus page.
Good to know
- Minecraft allows one job site per block. The thirteen vanilla workstation blocks, such as the composter and the lectern, are taken.
/ddv blocksshows what is still free. - On Fabric, blocks from mods that register after DataDrivenVillagers are skipped with a warning. Vanilla blocks are always available.
- Blocks that world generation places in bulk (stone, dirt, sand, logs, leaves, ores and a few more) are refused as workstations, because every natural one would become a job site. Set
"allow_natural_block": trueto use one anyway. Air, fluids and blocks without collision are never allowed. - If a file has an error, the mod does not load it and does not crash.
/ddv errorsand/ddv whytell you what is wrong.
More mods by LithiumPlus
- VillagersPlus: new villager types, trades and new workstations. Forge version: VillagersPlus (Forge).
- VillagersTradingPlus: add, replace or delete the trades of any villager, change the currency and gate trades behind conditions, all from a datapack.
- Nyctophobia: dark, foggy biomes for the Overworld. Forge version: Nyctophobia (Forge).
- The Graveyard (Fabric) and The Graveyard (Forge/NeoForge): structures, mobs, bosses and blocks with a graveyard theme.
Project description from CurseForge.
Pick your setup
Data Driven Villagers by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
1.21.8
2 loader builds1.21.1
2 loader builds1.20.1
3 loader buildsCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Data Driven Villagers versions and loaders
Data Driven Villagers 1.0.0 (Neoforge) 1.21.8
datadrivenvillagers-neoforge-mc1.21.8-1.0.0.jar
27 Sept 2026
Data Driven Villagers 1.0.0 (Neoforge) 1.21.1
datadrivenvillagers-neoforge-mc1.21.1-1.0.0.jar
27 Sept 2026
Data Driven Villagers 1.0.0 (Forge/Neoforge) 1.20.1
datadrivenvillagers-forge-mc1.20.1-1.0.0.jar
27 Sept 2026
Data Driven Villagers 1.0.0 (Fabric) 1.21.8
datadrivenvillagers-fabric-mc1.21.8-1.0.0.jar
27 Sept 2026
Data Driven Villagers 1.0.0 (Fabric) 1.21.1
datadrivenvillagers-fabric-mc1.21.1-1.0.0.jar
27 Sept 2026
Data Driven Villagers 1.0.0 (Fabric) 1.20.1
datadrivenvillagers-fabric-mc1.20.1-1.0.0.jar
27 Sept 2026
Looking for an older file? The official CurseForge project page is in Resources.

