-
Notifications
You must be signed in to change notification settings - Fork 15
Intro To Biome Injectors
Lithostitched introduces biome injectors, a modular system where datapacks and mods can inject biomes in the vanilla biome layout in a compat-friendly way.
Biome injectors are stored in the lithostitched/biome_injector folder of the data/(namespace) folder. This means that a biome injector with the identifier foo:bar is stored in data/foo/lithostitched/biome_injector/bar.json.
Biome injectors are automatically applied, you do not need to add them to a tag or worldgen modifier or anything of the sort.
Here's an example biome injector:
{
"type": "lithostitched:replace_partially",
"dimension": "minecraft:overworld",
"priority": 1500,
"targets": "minecraft:river",
"replacement": "terralith:warm_river",
"parameters": {
"temperature": {
"min_inclusive": 0.55
}
}
}All biome injectors have three fields:
-
type: The id of the biome injector type. -
priority: The priority of the injector. Injectors of a given type are applied in ascending order, meaning injectors with lowpriorityvalues will apply before injectors of higherpriorityvalues. -
dimension: The dimension to apply the biome injector to.
Further fields are defined based on the biome injector type.
A key advantage of Lithostitched's biome layout injection system compared to all others (Terrablender, Biolith, Blueprint) is being able to define arbitrary biome parameters. On top of using vanilla's erosion, temperature, etc. you can use arbitrary density functions as parameters.
Here's an example injector that replaces any Overworld biome with the Infection biome if the infection density function permits it:
{
"type": "lithostitched:force_placement",
"dimension": "minecraft:overworld",
"parameters": {
"my_mod:infection_noise": {
"min_inclusive": 0.5
}
},
"biome": "my_mod:infection"
}All json here can be generated using the Lithostitched generator website!