#Trying to create an extended world with cave generation below y=-64 to y=-512

1 messages · Page 1 of 1 (latest)

winged mango
#

Over the last few days, I’ve been designing a mod pack in 1.20.1 that’s centred around Made in Abyss and developing cave exploration. One of the key mods that I’m using is ‘Made in Abyss Curse’ which procs increasing levels of severity of debuffs when increasing your y level by a configurable amount (default is 5) and has different layers which have configurable y-ranges. However, the default range goes down to -512 and has 100 block gaps between levels. Therefore, the standard -64 world isn’t gonna cut it, so I found a mod called Shattered World Limits which, with the bare minimum coding, increases the chunk to have max of y=1024 (configurable in the json) and y=-512, by effectively stretching all the generation parameters across the larger chunk (Tectonic also can decrease world height but it syncs way worse with other mods so I gave up on it for that reason.) However, it comes with a lot of issues that aren’t easily rectifiable. Firstly, most cave generation mods are hardcoded to only introduce biomes above -64, except for Region’s Explored and Alex’s Caves. Secondly, the game’s spline factor continues to make caves thinner and thinner until most of them are either 1 block wide or completely pinch off before getting to the depths of y=-512. However, by editing overworld.json, and messing around with final density, I was able to allow for a lot more voluminous caves at deeper depths.

winged mango
#

Additionally, I used a structures json to move ancient cities to only spawn below y=-200 to make them more challenging to uncover and have more severe curses when trying to panic-nerdpole or leave the city. However, the 2 crushing issues that I’ve been facing are: SWL stretches ore generation such that, at levels like -60 to -200, ore generation is incredibly sparse, so finding a way to be able to customise that and increase the density of ores at those higher levels, and that trickling down to the lower levels. Secondly, aquifers seem to constantly plague my caves below -64. Disabling aquifers in overworld json had no effect; only changed the shape of the caves, but didn’t actually affect the fact that all air blocks are filled with water (or lava) at the lower depths, and I can’t for the life of me get it to work. I’ve been tinkering with fluid_level_floodedness, fluid_level_spread and the accompanying lava section, but to little avail.

One final hope is that I’m able to adapt mods so that they generate in the uncharted -64 to -512 range rather than there being a hotspot of generation around the 0 to -64 mark and virtually nothing below that until bedrock. I’ve also tried using kubejs scripts, but my kubejs skills are even more piss poor than my data pack skills, so that went as well as could be expected.

Incase this is useful, these are all the mods I’m using which may impact generation and have their own associated data packs:

  • tectonic
  • terralith
  • regions unexplored
  • terrablender
  • Alex’s caves
  • YUNG’s better caves
  • kubejs
  • paxi
  • shattered world limits
remote dragon
#

Our ability to help is gonna be greatly decreased by your use of mods

#

You seem to already know and be on the right track for the data pack configurable behavior

remote dragon
#

Well as a data pack server, we're primarily familiar with vanilla data pack behavior and configuration. Mods don't necessarily abide by the same mechanics even if they technically include their own support for data packs to modify their stuff

#

For example, your issue with the ores. Mods generally don't use the vanilla methods for getting features to generate in biomes, they do something different

winged mango
#

Does that apply to the mods used to increase the world limit?

I mean I’m happy to disable all the mods, get it working and then re-integrate them and see which ones are compatible in my own time, and I’m not using too many mods which introduce custom ores anyways, and a lot are vanilla+ and are using vanilla ores and materials. However, there needs to be a mechanism to keep the world limit at a value lower than -64 preferably in the |100|s; that one is indispensable

remote dragon
#

It may, I wouldn't have any idea, which is part of the problem

#

Vanilla can make the world go lower than -64, but I don't know how the mod(s) you're using has done it. It sounds like it's doing much more than just extending the world limit down, and that may influence how other things are behaving compared to a vanilla environment

#

Ultimately you've taken on a pretty substantial task and have found a way to make it quite a bit harder

winged mango
#

Didn’t know it was gonna be substantial but here we are

remote dragon
#

Of course yeah, you had no way of knowing

#

But this would be a big project in vanilla, much less for a modpack

winged mango
#

Suppose I scrapped all the mods including SWL (at least temporarily), is there a way to get the world down to -512 and also adjust the ore generation and keep the fix of the spline values and then also remove aquifers. If so, then there would be no reason to re-add SWL

#

The only mods actually affecting cave generation rather than just shoving in biomes to my knowledge are tectonic (and by extension terralith), shattered world limits and Alex’s caves

remote dragon
#

I don't know what you're meaning by spline values here, splines aren't really used for caves

#

But yes, all that can be done in vanilla

#

You change world height by:

  • Overwriting the dimension_type file to have a lower min_y, and increase the height and logical_height commensurately
  • Overwriting the noise_settings file to:
    • Have a min_y and height field matching the changes you made to the dimension_type
    • Change the respective Y values for the height ranges in final_density and all the density_functions it references, and so on

You can change ore distribution by:

  • Overwriting the placed_feature files for all the desired ore types to have a different count (representing number of spawn attempts per chunk) and height_range. If you want frequency to taper as you get lower, you'll probably use a trapezoid number provider

You can remove aquifers by:

  • Enabling aquifers in the noise_settings (Disabling them just floods all noise caves, as you experienced)
  • Setting the fluid_level_floodedness field in the noise_settings to a constant of -1
winged mango
#

Sorry I got my words mixed up with spline

#

I meant squeeze & add

winged mango
#

And the moment of truth....

#

If everything goes to hell, my reference is above ^, otherwise let's see... im generating as we speak

#

i was editing all of this in a temporary folder on accident...

#

yeah, so it emptied everything out, thats cool and its all gone

remote dragon
#

What?

winged mango
#

Basically I added my dummy folder data pack to "Open data pack folder" folder in minecraft creation screen

#

and it emptied out all the files in the temp folder after i clicked off the world generation screen

#

i mean i took pictures of my core changes but still... just a pain

remote dragon
#

Ah, yeah not a great idea

winged mango
#

wait where am I meant to actually put global data packs

remote dragon
#

There is no such vanilla thing

#

Data packs are per-world

winged mango
#

😭

#

So, does that mean I should make my data pack on my desktop per se and then just dump it in every time or resort to paxi which I don't exactly trust

remote dragon
#

Or somewhere else, yes

#

In theory once you get the world generated for the first time with these height settings, you should be able to just edit the data pack in that world and delete the dimension files every time you make a change, but some things like world height changes require a new world

winged mango
#

Man I hate myself I just poured all my energy into that and now it's all gone... and I don't remember the folder structures anymore

#

Ok redone

#

now to test

#

Is it correct to put my custom data pack at the very bottom of the data pack list when making the world @remote dragon

remote dragon
#

Probably

winged mango
#

:)))

#

Unfortunately it did not work

#

as in the world is still -64 deep

#

I'll do it on a totally vanilla world as a test as well

#

Ok tested on vanilla, and it did not work, as in it did not extend world border past y=-64

#

So yeah, I have absolutely no idea where it went wrong

#

............. help :P

remote dragon
#

You're gonna have to explain what you attempted instead of throwing the whole data pack at me

winged mango
#

My data pack has like 10 ish files of which 1 is dimension type, 1 is noise settings and like a bunch of ore generation files

winged mango
remote dragon
winged mango
#

Which part

#

I didn't take a picture of my final density since I had already changed that myself and it was working fine

#

but I already adjusted that one to same as min height

winged mango
#

I'm going to abandon this for now and attempt to instead use plugins to simulate depth rather than actually get depth through data packs

#

thanks for the help