#Help with World Generation basics

1 messages · Page 1 of 1 (latest)

queen stump
#

I'm completely new to datapacks, although I have experience with gamedev and programming so it's not entirely foreign to me. Most tutorials online are outdated by several versions, or they assume that I already know how datapacks work (which I don't).
I'm not trying to do anything fancy at the moment, just want to make this datapack functional. Eventually I'll add custom biomes, features, structures, etc. But atm I just want my noise settings file to work properly, as it seems to be doing nothing at all. I'm using the default floating islands noise settings, just for testing purposes. What am I missing here? I assume something has to reference this file in order to make it actually apply to my world.

olive parcelBOT
#

<@&1201956957406109788>

Someone will come and help soon!

💬 While you wait, take this time to provide more context and details.

🙇 After a while, hit the Summon Helpers button to ping the helper team. They'll be happy to help you

✅ Once your question has been resolved (or you no longer need it), please click Resolve Question or run /resolve

wild ruin
#

You're correct, something needs to reference the noise settings file

#

You need to make a folder directly in your namespace (not in the worldgen folder) called dimension. That is where you'll put a JSON file with the name of your desired dimension, which will reference both this noise settings file, as well as a dimension_type file (which goes in a dimension_type folder, the only other worldgen-related folder that just goes in the namespace rather than in the worldgen folder)

queen stump
#

I'm using terralith for refence, but it has the dimension folder in data\minecraft instead of data\terralith like the worldgen folder.

wild ruin
#

Right, because Terralith is overwriting the Overworld, so it needs to replace the Overworld dimension file in the vanilla data pack

#

If that's what you're doing too, then that's what you need to do too 😅

#

We have some worldgen documentation coming soon ™️, but in the meantime, this message in a different thread may be useful
#1246969016518447334 message

Please don't reply in that thread though

queen stump
#

that's my goal as well, so I'll do that

#

I won't reply to it

#

thanks for telling me

#

I got it to throw an error when trying to create the world instead of doing nothing, so I suppose that's progress

wild ruin
#

Absolutely, errors make the world go round

queen stump
#

I'll just do this in a custom dimension for now, like you mention in the other thread

#

and swap it for overworld once it's actually functional

queen stump
#

here's the current setup

#

still not entirely sure what most of this does but I'll figure that out later

#

the dimension_type file is unchanged

#

the noise settings file is a default one from the Misode generator

wild ruin
#

Great!

queen stump
#

well

#

if it worked, yeah

#

does it need all the configured carver and density stuff in order to function? I assumed that was all additonal and not required for the datapack to work on a fundamental level

wild ruin
#

Well it depends on what you define as functioning

queen stump
#

I don't really need to modify any of the terrain yet, I'm just trying to make it so the datapack generates the dimension without errors

wild ruin
#

Ok

#

Well density functions are something that's used elsewhere, not really a thing in themselves, so you don't need to make any for a dimension to work if you're just starting from a vanilla dimension

queen stump
#

good to know

wild ruin
#

Because the vanilla dimension is using vanilla density functions

queen stump
#

this is far as I can get atm

wild ruin
#

Output logs are a worldgen developer's best friend

queen stump
#

hmm

#

it doesn't like the dimension_type file

wild ruin
#

Worth a closer look then

queen stump
#

I haven't modified this one at all

wild ruin
#

But what do the logs say is the problem?

#

You may have grabbed the wrong default one for your version

queen stump
#

failed to parse

wild ruin
#

Hmm yeah, it's not being too specific here. It seems to think there's an empty field or object

queen stump
#

it was the version issue

#

forgot to switch it for this particular file

#

makes sense

#

Got past that error screen and was able to teleport into the new dimension

#

but it's just a copy of the overworld from what I can tell

#

maybe not actually

#

I assume it's using the world generation from the overworld, but the biomes from my dimension file

#

which is progress

wild ruin
#

Well that's to be expected, you said you didn't make any changes, right?

queen stump
#

yep

wild ruin
#

Great!

queen stump
#

so the noise_settings file is what actually changes the shape of the terrain, along with all the various carvers and such?

#

whereas the dimension handles biome settings

wild ruin
#

Just the noise_settings

queen stump
#

I always assumed that terrain was biome-specific

wild ruin
#

Carvers are only used for the legacy cave and canyons

wild ruin
queen stump
#

how do biomes like badlands handle all the wacky structures

wild ruin
#

The shape is handled by the noise_router, the block choice is handled by surface_rules

queen stump
#

interesting

#

it seems like the dimension file is ignoring my noise settings and just using the default overworld settings, because I changed it from default to floating islands but the world is the same

#

luckily it isn't throwing errors but it clearly isn't referencing it properly

wild ruin
#

Are you starting a new world or generating new chunks when you're testing the new noise settings? And are you exiting and reopening the world if the latter, not just doing a /reload?

queen stump
#

not just reloading

wild ruin
#

Hm

#

Try starting a new world altogether, not recreating

#

And otherwise just make sure the noise settings you're editing are actually the ones being referenced. It doesn't just "not reference it properly."

queen stump
#

well that's what I mean

#

I think I messed up and it's just pointing to the default overworld settings

wild ruin
#

It currently is, yes

#

If your noise settings file isn't called "overworld", then it's using the vanilla one

queen stump
#

ah

#

I assumed it had to be called noise_settings

wild ruin
#

Nope

queen stump
#

that'll do it

wild ruin
#

You can call it whatever you want

#

As long as you reference it by that name

queen stump
#

does that also apply to the dimension_type file

wild ruin
#

Of course

#

Pretty much the only files that have a specific name you need to use is the dimension files overworld, the_nether, and the_end, and only if you're replacing those dimensions. Other than that, you can name dimension_type files, noise_settings files, biome files, and anything else whatever you want, as long as they get referenced correctly. The only other time you need to use a specific name is if you're trying to replace a vanilla file in the minecraft namespace

queen stump
#

well it certainly doesn't like this

#

Failed to get element ResourceKey[minecraft:dimension_type / minecraft:west_type]

#

does it require the minecraft prefix?

#

because if I include the prefix I get the same error

wild ruin
#

It requires a prefix, that's the namespace. However, your west_type file is in your westerrain namespace, not the minecraft namespace

queen stump
#

isn't the noise file also in the minecraft namespace?

#

or are they both in my namespace

wild ruin
#

The noise settings you're currently using are minecraft:overworld, so yes

#

But west_noise is currently in your westerrain namespace, though it is not inside a noise_settings folder

#

You're not currently referencing west_noise, so that's why you're not getting any errors about it

queen stump
#

I mean

#

I'm trying to

#

what is line 4 doing if not referencing my noise file

#

what is the first line for then

#

I thought that was for the dimension type

wild ruin
#

Nope, I'm getting lost because your names are confusing

queen stump
#

yea they're just temp for now

#

I need to redo them

#

my bad

wild ruin
#

Like 4 is indeed trying to reference your west_noise file, but you're not including the namespace

#

(and that file is not in the right folder)

queen stump
#

worldgen\noise_settings[json file]?

wild ruin
#

That would be correct

queen stump
#

alright

#

so then referencing it would be westerrain:[file]?

wild ruin
#

Indeed

#

Although I'm realizing you've also confused yourself, line 4 needs to stay minecraft:noise. Like 5 is where you need to reference the noise_settings

#

Are you using Misode's generator?

queen stump
#

yes

wild ruin
#

That would help keep this straight

#

Well

#

Then you may need to pay closer attention to those fields and what they want 😅

queen stump
#

not very effectively

#

thanks for your patience btw

wild ruin
#

I try

queen stump
#

I know this is frustrating

#

I usually just make resource packs and 3D models

#

thats easy in comparison

#

got it to work with floating islands

#

need to rename some stuff to make this easier to navigate