Modded Biomes
Opened this issue · 13 comments
Is there any way to add modded terrain to the biome listing? I've tried adjusting the biome provider to no avail in 1.20.1
I've tried adding biomes from regions unexplored to the voronoi point listings for the beta-vanilla worldtype and it generates, however upon trying to locate the biome the game stops updating, and won't allow you to close the game except by using task manager
Update: I have gotten modded biomes to place by editing (and abusing) the voronoi config in the biome provider, additionally I have figured out how to use the datapack system to add desert biomes to the sand.json and enable them to render with sand. My next question is this though, can I make custom surface configs so that a biome can have any specific block across its surface and if so, how? I've looked through the mod's jar file and haven't found where those are stored :/
Update: I have gotten modded biomes to place by editing (and abusing) the voronoi config in the biome provider, additionally I have figured out how to use the datapack system to add desert biomes to the sand.json and enable them to render with sand. My next question is this though, can I make custom surface configs so that a biome can have any specific block across its surface and if so, how? I've looked through the mod's jar file and haven't found where those are stored :/
Can you share the datapack in question and modded mod biome you're using? I might be able to figure something out
Biome mod is regions unexplored fabric 1.20.1, a lot of those biomes have custom grasses and such, so yeah
check out my example back:
i basically made a new minecraft\worldgen\biome\cherry_grove .
i then copied the same biome DNA from seasonal forest data and redefined each mention of beta_seasonal_forest to cherry_grove . however, i still want all the surface material from cherry grove so i kept it .
i'm making my own modpack so you may notice in modern_beta\worldgen\biome\beta_forest, beta_rainforest and pe_forest, pe_rainforest that i added enhancedfarming: entries for fruit trees. you can erase them, they're no good for you .
happy modding!
i added enhancedfarming: entries for fruit trees.
but this is basically how you add surface material to pre-existing modernbeta biomes and all other modded biomes.
you just need to figure out what their ID is to summon and it works quite well. once you remove all the entries from my example pack, you should be able to load into a modernbeta world and /locate biome minecraft:cherry_grove and it'll have all the good stuff whilst using beta noise.
i added enhancedfarming: entries for fruit trees.
but this is basically how you add surface material to pre-existing modernbeta biomes and all other modded biomes. you just need to figure out what their ID is to summon and it works quite well. once you remove all the entries from my example pack, you should be able to load into a modernbeta world and /locate biome minecraft:cherry_grove and it'll have all the good stuff whilst using beta noise.
hmmm ok this isn't quite answering my question. I've gotten modded biomes to actually load in properly without making new biomes, the issue is some of these biomes are meant to have custom grass and dirt blocks, something none of the modern beta biomes have, and something the mod isn't taking into account when palcing the biomes, instead, they use vanilla grass blocks. I've attached a photo, if you look close you can see in this biome there's regions_unexplored:plains_grass I think, which is why the dirt looks yellowy in hue. Just as some biomes in MB use podzol or snow, I want to know how to add plains dirt, forest dirt and frozen dirt to my placed biomes. I imagine this will use the same datapack system that allowed me to put podzol and sand in some biomes already.
Additionally, having issues w none of the croptopia crops showing up in biomes, custom or otherwise
By modifying the "data/modern_beta/worldgen/noise_settings/beta.json" file in my modern beta datapack, and adding the following in the "surface_rule" section, I have managed to make some really minor progress. Some silt-dirt is generating in small patches, but only appears to be overriding dirt blocks, not every block as specified in this script edit. Ultimately, I don't want it to modify all blocks (I'd rather not have trees made of dirt) so I am going to try and get more specific with it, and see where that gets me. Pics below, mostly updating this for documentation so that others facing my dilema may recieve some form of assistance <3 (PS. I know it says forge in the top left, this is on forge 1.20.1 using Sinytra to run a local fabric instance, hence how I've gotten this to run in the first place, just wanted to specify that it's not an error or anything)
"surface_rule": {
"type": "minecraft:sequence",
"sequence": [
{
![2023-09-22_07 55 37](https://github.com/b3spectacled/modern-beta-fabric/assets/57868183/1189944e-2b2d-4667-b933-cd233f42794e)
"type": "minecraft:condition",
"if_true": {
"type": "biome",
"biome_is":["regions_unexplored:prairie"]
},
"then_run": {
"type": "block",
"result_state": {
"Name": "regions_unexplored:silt_dirt"
}
}
}
]
}
oh very helpful! i’d love to see @b3spectacled integrate a more plug n’ play experience for modded biomes. though this guide is wonderful, many basic users wouldn’t deal with the trouble to all this.
for now, a example datapack would be appreciated to main cf post that aids modpack creators in integrating modded biomes manually. thanks luci!
for now, a example datapack would be appreciated to main cf post that aids modpack creators in integrating modded biomes manually. thanks luci!
So yeah, the datapacks aren't actually needed to get custom biomes up and running, mine is more to create the type of oceans and lakes I want, as well as get certain biomes generating with certain terrain features. All-in-all, adding custom biomes isn't some tremendously difficult thing, the hard part by far is getting them to generate in specific ways (IE custom top layers, which I have yet to figure out). With that being said, by and large the most helpful change @b3spectacled could make to the mod would be to allow default presets and custom presets to be implemented such that I could generate a new world without needing to copy and paste 3 text files, though IDK how doable that is as I still don't fully understand this enigma-machine of a mod, spectacular as it may be.
Here's the three generator files I've managed to come up with, they enable the vast majority of Region's Unexplored biomes in the beta 1.7.3 (or more accurately the Xbox-360) chunk style with a lowered sea level, continents, and seed-functionaliy (you can load up gargamel or glacier and the terrain will look the same, but feature new modded biomes) I'm also going to attach my datapack, which does a bit more under the hood to get oceans and water to play nicely, but does seem to be flooding all of the caves, no clue how to fix that one :/
EDIT: latest changes I had done made the datapack mandetory, and I attached the wrong version, fixing now.
[Legacy Redux] Modern Beta Tweaks.zip
Chunks.txt
Biomes.txt
CaveBiomes.txt
All of this is being done for personal and inter-personal use, so it likely won't be updated very regularly, but once I have a stable-ish version I'm satisfied with I'mma likely put it in my own Github repo
Posting here as I've had a new finding. Disabling the "modern_beta:freeze_top_layer" and replacing it with "minecraft:freeze_top_layer" seems to do nothing. That is, nothing except allow modded crops and grasses to spawn? confusing, I know, but the fix is there. Here's a datapack that (along other things) enables farmers-delight crops in most beta biomes. To use without Regions Unexplored, Geophillic and Lost Features, just delete the beta_swampland.json, beta_savannah.json, beta_seasonal_forest.json and beta_badlands.json (that should be it, idk no promises, warranty void upon opening etc.)
Unfortunately, modded biome support is not great and probably the biggest concession I had to make for the mod. A lot of the biome-related code in vanilla Minecraft are a lot more interlinked and complicated than in previous versions (like 1.16 for example), and so Modern Beta basically replaces most of it for custom (and admittedly lesser) implementations.
These systems are not like vanilla:
- Biome placement: Modern Beta uses a custom biome generator to enable layering ocean and cave biomes on the original Beta biomes. The vanilla-like biome preset uses a majorly simplified version of the multi-noise biome source (the 'voronoi' biome provider in the mod).
- Surface (topsoil) builder: The vanilla surface rules are not supported, so don't expect anything you put in the "surface_rule" field to work at all. Surface rules became tightly integrated with the vanilla noise sampler in 1.20 so that had to go.
I'd like to implement custom presets, but that's been a bit difficult to work out as well..