b3spectacled / modern-beta-fabric

https://www.curseforge.com/minecraft/mc-mods/modern-beta
MIT License
96 stars 15 forks source link

Modded Biomes #105

Open Its-Just-Luci opened 9 months ago

Its-Just-Luci commented 9 months ago

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

Its-Just-Luci commented 9 months ago

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 :/

Cixon commented 9 months ago

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

Its-Just-Luci commented 9 months ago

MBDatapack.zip

Biome mod is regions unexplored fabric 1.20.1, a lot of those biomes have custom grasses and such, so yeah

Cixon commented 9 months ago

check out my example back:

example_vanilla.zip

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!

Cixon commented 9 months ago

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.

Its-Just-Luci commented 9 months ago

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.

Regions-Unexplored-Mod-Screenshots-6

Its-Just-Luci commented 9 months ago

Additionally, having issues w none of the croptopia crops showing up in biomes, custom or otherwise

Its-Just-Luci commented 9 months ago

2023-09-22_04 24 53 Here's a higher quality example with peat dirt vs dirt

Its-Just-Luci commented 9 months ago

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"
            }
        }
    }
    ]
  }

2023-09-22_07 55 37

Cixon commented 9 months ago

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!

Its-Just-Luci commented 9 months ago

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

Its-Just-Luci commented 8 months ago

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.)

Modern Beta Tweaks - Crops not Clickbait.zip

b3spectacled commented 8 months ago

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:

I'd like to implement custom presets, but that's been a bit difficult to work out as well..