How to make a player house spawn in mountains and stop spawning in deserts
Please read this first
As we’ve learned, we can configure biomes through tags within data-packs. We’ll use this option here to customize the biomes, where the player house can spawn.
Create a data-pack
This is very simple. First, open the directory where Minecraft stores its files: https://minecraft.fandom.com/wiki/.minecraft
If you have started Minecraft with Shrines already, it created a datapacks
directory here, otherwise create it yourself.
We’ll now add our own data-pack. Just replace MyDataPack
with a name for your data-pack:
Create a new directory named MyDataPack
. Next, we create a new text file called pack.mcmeta
and fill it with the following:
{
"pack": {
"description": "Customization Data-Pack to modify biome tags",
"pack_format": 9
}
}
As you might have guess, you can write whatever you want into the description. We’ll now create a couple of directories, so the following directory structure arises:
/data/shrines/tags/worldgen/biome/has_structure
.
As we want to modify the biomes for the player house, we create a file called player_house.json
. See a list of available tags here: https://github.com/Silverminer007/Shrines/tree/1.18.2%2B-4.x.x/src/main/resources/data/shrines/tags/worldgen/biome/has_structure
The default value of this tag looks like this (at the time of 4.0.0-alpha7)
{
"replace": false,
"values": [
"#shrines:is_plains",
"#minecraft:is_forest",
"#minecraft:is_taiga",
"#shrines:is_savanna",
"#minecraft:is_jungle",
"#shrines:is_mesa",
"#shrines:is_icy",
"#shrines:is_desert",
"#shrines:is_swamp",
"#shrines:is_mushroom"
]
}
If you wanted to add more biomes here for example #minecraft:is_mountain
(Please note #
means a tag itself), you
don’t need to override the values which improves compatibility with other data-packs. The file could look like this:
{
"replace": false,
"values": [
"#minecraft:is_mountain"
]
}
If you wanted to remove biomes, you have to override the file, there is no option to remove just a selected amount of biomes. To remove the desert biomes and add the mountain ones, the file could look like this:
{
"replace": true,
"values": [
"#shrines:is_plains",
"#minecraft:is_forest",
"#minecraft:is_taiga",
"#shrines:is_savanna",
"#minecraft:is_jungle",
"#shrines:is_mesa",
"#shrines:is_icy",
"#minecraf:is_mountain",
"#shrines:is_swamp",
"#shrines:is_mushroom"
]
}
If you want to add just one single biome, not a whole tag, you can do that too:
{
"replace": false,
"values": [
"minecraft:meadow"
]
}