Bedrock and Java use different controls. In Bedrock Edition, disable village generation with a behavior pack that overrides the relevant biome JSON files and removes each biome’s minecraft:village_type component before you create the world. In Java Edition, the built-in Generate Structures switch turns off villages only as part of an all-structures shutdown; keeping temples, monuments, strongholds and other structures requires a version-matched datapack that changes village structure tags or structure-set data. Neither method deletes villages from chunks that have already been generated.
Prefer not to run the server on your own PC? Godlike.Host offers hosted Minecraft Java servers with free DDoS protection and up to three free backups a day.
Choose the result you actually want
There are three different goals that are often described as “turning off villages.” Decide which one applies before changing a world:
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →- Remove every generated structure. Java’s world-creation Generate Structures switch does this in one step, but villages, temples, monuments, strongholds-related generation and other structures are all disabled together.
- Remove villages while retaining other structures. Bedrock needs biome overrides in a behavior pack. Java needs a datapack that changes the village entries used by biome structure tags or village structure sets.
- Change only future terrain. Generation rules are applied as chunks are created. A village already present in an explored chunk is not retroactively removed, and changing a pack later does not rebuild that terrain.
The safest point to apply either edition’s selective method is before world creation. If you apply it to an existing world, keep a backup and understand that only newly generated, previously unvisited chunks can use the changed rules.
How village generation is represented
In Bedrock, a biome definition can contain a minecraft:village_type component. Microsoft describes that component as the control for village generation. A biome file with the component can produce a village of the specified type; removing the complete component stops that biome from generating villages under the behavior-pack override.
#1 Best Overall
- Play and share with friends on console, mobile and Windows 10
- discover community creations in the new in-game store
- access new mini games and game modes through servers
Java does not use the same Bedrock biome component. Java’s world-generation registries and data-pack data determine which structures are associated with biomes and how structure sets are placed. That is why a Bedrock behavior pack cannot be copied to Java and why Java datapack examples must be checked against the exact game release.
Bedrock Edition: remove villages with a behavior pack
What you need
- Bedrock Edition on the release for which you are preparing the files.
- A behavior pack containing a valid
manifest.jsonand abiomesdirectory. - Current copies of the vanilla biome definitions you intend to override.
- A text editor that preserves JSON syntax and file names.
The pack must be prepared for the target Bedrock release. Biome definitions can change between releases, so do not treat an old copied file as permanently correct. Keep everything in each file current except for the village component you deliberately remove.
Override every vanilla biome that can generate a village
For a complete block of village generation in a normal vanilla biome set, Microsoft’s tutorial identifies these ten files:
| Biome file | Biome covered |
|---|---|
cold_taiga.biome.json |
Cold taiga |
cold_taiga_hills.biome.json |
Cold taiga hills |
desert.biome.json |
Desert |
ice_plains.biome.json |
Ice plains |
meadow.biome.json |
Meadow |
plains.biome.json |
Plains |
savanna.biome.json |
Savanna |
sunflower_plains.biome.json |
Sunflower plains |
taiga.biome.json |
Taiga |
taiga_hills.biome.json |
Taiga hills |
These are configuration files, not a count of how many villages a world contains. If a custom world, add-on or later Bedrock release introduces another biome definition with a village component, that definition also needs to be reviewed.
Rank #2
Remove the complete component, not just its value
In each copied biome file, locate the village component. A representative entry looks like this:
"minecraft:village_type": {
"type": "taiga"
}
Delete the entire component block, including its property name and closing brace. Do not leave a dangling comma, and do not remove unrelated biome components. The resulting file should remain valid JSON and should otherwise match the current vanilla definition for that release.
Recommended Free Tools
Build and activate the pack
- Create the pack structure. Put
manifest.jsonat the pack root and place the overridden files in the pack’sbiomesdirectory, using the names expected by the current Bedrock behavior-pack format. - Validate every file. Check that each file parses as JSON, that the component is absent in all ten overrides, and that no file was accidentally saved with an extra extension such as
.json.txt. - Package or copy the pack. You can import it as an
.mcpack, or copy the unpacked behavior-pack folder into Bedrock’s behavior-packs location for your platform. - Create the world with the pack enabled. In Bedrock, use Play → Create New World → Behavior Packs, activate the pack, and then create the world. Enabling it after generation has already occurred cannot erase villages in existing chunks.
- Test in a fresh area. Create a new world for a clean test, or travel beyond the boundary of already generated chunks in an existing world. A village seen in an old chunk is expected and does not prove that the override failed.
For the strongest guarantee, enable the pack before the first world-generation operation. Microsoft specifically notes that the behavior-pack override is intended to be in place before world creation for full prevention.
Disable villages in only some biomes
You do not have to override all ten files. Leaving a biome file out of the pack leaves that biome’s normal village behavior intact. For example, omitting the desert file can preserve desert villages while the other overridden biomes stop producing them. This is useful when the goal is to make villages uncommon rather than remove every village.
Rank #3
The same component can also be changed instead of deleted when you want a different village style. The allowed village-type values identified in the tutorial are default, desert, ice, savanna and taiga. Changing the value is not a no-village setting; it changes the type associated with generation. Use deletion when the desired result is no village.
Bedrock maintenance and common errors
- Pack imports but villages still appear in new chunks: confirm the pack is enabled for that particular world, not merely imported, and check that the biome file names and paths exactly match the files being overridden.
- The world refuses to load: inspect JSON commas and braces, verify the manifest, and temporarily remove the pack to confirm it is the cause. Restore a backup before further edits.
- Only some villages disappear: compare the ten-file inventory with your pack. One untouched biome can still generate its normal village type.
- The pack worked in one release but not another: refresh the copied biome definitions from the newer release. Microsoft warns that overrides require maintenance as Minecraft changes.
- Old villages remain: this is expected. The pack changes generation rules; it is not an editor for already-generated terrain.
Java Edition: two levels of control
Option 1: turn off every generated structure
When losing all generated structures is acceptable, use the Java world-creation screen’s Generate Structures switch and set it to Off. This is the simple, built-in solution: villages are disabled along with temples, monuments, strongholds-related generation and the rest of the generated-structure system. It is not a village-only toggle.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsUse this option when the world concept specifically calls for natural terrain without generated structures, or when you want the least maintenance and do not need selective control. Because it is a world-generation setting, make the choice before creating the world. It does not remove structures from chunks that already exist.
Option 2: keep other structures with a selective datapack
To remove villages while retaining other generated structures, Java requires data-driven editing. A datapack must remove village entries from the relevant biome structure tags, or adjust the village structure-set data used by the target release. The exact identifiers, folder names and pack-format number are release-sensitive; a path copied from one Java version is not automatically valid in another.
Rank #4
- Play and share with friends on console, mobile and Windows 10
- discover community creations in the new in-game store
- access new mini games and game modes through servers
Java release notes continue to document changes to configured structures and world-generation data. Treat every example as version-specific rather than universal. The reliable approach is to start from the vanilla data for the exact version you will run and change only the village-related entries.
Version-matched datapack workflow
- Record the exact Java version. Include the full release number, not just “Java Edition,” because structure registries and datapack formats can change.
- Obtain a matching template. Start with that release’s vanilla data or a datapack template explicitly made for the same version. Do not mix folders from different releases.
- Identify village references. Find the biome structure tags and/or village structure-set data that list villages for generation. Keep all non-village entries unchanged.
- Remove only village entries. Edit the relevant JSON so village structures are no longer selected for placement, while temples, monuments, strongholds-related generation and other desired structures remain represented by their own data.
- Install and enable the datapack before generation. Put it in the world’s datapacks location and verify that the game recognizes it before creating the world, or before visiting any chunks where you need the new rules.
- Test with a disposable world. Check that the world loads and that the datapack is listed as enabled. Generate enough new terrain to verify that villages are absent without assuming that one seed or one explored region proves every biome case.
- Back up before using a valuable world. A malformed or incompatible datapack can prevent a world from loading. Keep an untouched copy so you can remove the pack and recover.
Do not copy Bedrock’s minecraft:village_type deletion method into Java. Java has no equivalent biome component to remove, so the datapack must target Java’s structure-tag or structure-set data instead.
What happens to worlds you have already played?
Village-generation controls affect terrain at generation time. A village in a chunk that has already been generated remains there. This applies to both editions and to both kinds of change: turning Java’s global setting off for a new world and installing a selective Bedrock or Java data pack.
In an existing world, newly generated chunks can use the new rules, but the boundary between old and new terrain may be obvious. On Bedrock, Microsoft’s wording is explicit: the behavior pack will not remove existing villages in previously generated chunks. On Java, a datapack likewise does not regenerate or rewrite old chunks.
Best Value
If you need a completely village-free map, create a new world with the chosen controls enabled before generation. If preserving your current build is more important, back it up, apply the change, and regard only unvisited terrain as subject to the new rules. Do not delete region files casually; that can destroy builds and other player data.
Bedrock and Java compared
| Edition | Method | Scope | When to apply | Maintenance | Existing chunks |
|---|---|---|---|---|---|
| Bedrock | Behavior pack overriding biome JSON and removing minecraft:village_type |
Villages only, or selected biomes if some files are omitted | Before world creation for complete prevention | Refresh copied biome files when releases change | Existing villages remain |
| Java | Generate Structures: Off | All generated structures, including villages | World creation | Built-in setting; no file maintenance | Existing structures are unaffected because the setting governs generation |
| Java | Version-matched datapack changing village biome tags or structure-set data | Villages can be removed while other structures remain | Before generating the chunks you care about | High; identifiers and pack format depend on the Java release | Existing villages remain |
A practical decision checklist
- Are you on Bedrock? Prepare the behavior pack and remove the village component from every biome file you want to block.
- Are you on Java and willing to lose every generated structure? Turn Generate Structures off when creating the world.
- Are you on Java but want temples, monuments or other structures? Use a datapack built for your exact release and edit only village data.
- Have you already explored the area? Expect existing villages to stay; test the change in a new world or unvisited chunks.
- Are you distributing the world or pack to others? Document the edition, exact version and required pack so another player does not load it with incompatible data.
Frequently encountered misconceptions
“I enabled a pack, so villages should vanish from my map.”
Generation settings are not a cleanup tool. They determine what happens when a chunk is first generated. A village that was generated earlier is part of that chunk’s saved terrain and remains there.
“Java’s Generate Structures switch is a village toggle.”
It is not selective. The switch disables the generated-structure system broadly. Choose it only when losing every generated structure is acceptable.
“One Bedrock biome file is enough.”
Not for a complete vanilla-world block. The documented inventory contains ten biome files. Leaving one relevant file unmodified can leave that biome’s villages enabled.
“A datapack made for another Java release should work.”
Do not assume that. Java’s world-generation data is version-sensitive, and a mismatched pack can fail to load or silently leave village references unchanged. Match the pack to the exact release and keep a backup.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallBottom line
Use a Bedrock behavior pack that removes minecraft:village_type from the appropriate biome overrides when you want village-only control. On Java, use Generate Structures: Off only for an all-structures shutdown; selective village removal requires a release-matched datapack. In every case, configure the world before chunks are generated, because no generation setting retroactively removes villages already saved in the world.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




