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.
#Trying to create an extended world with cave generation below y=-64 to y=-512
1 messages · Page 1 of 1 (latest)
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
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
How come?
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
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
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
Didn’t know it was gonna be substantial but here we are
Of course yeah, you had no way of knowing
But this would be a big project in vanilla, much less for a modpack
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
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_typefile to have a lowermin_y, and increase theheightandlogical_heightcommensurately - Overwriting the
noise_settingsfile to:- Have a
min_yandheightfield matching the changes you made to the dimension_type - Change the respective Y values for the height ranges in
final_densityand all the density_functions it references, and so on
- Have a
You can change ore distribution by:
- Overwriting the
placed_featurefiles for all the desired ore types to have a differentcount(representing number of spawn attempts per chunk) andheight_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_floodednessfield in thenoise_settingsto a constant of -1
But ill try these 3 things
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
What?
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
Ah, yeah not a great idea
wait where am I meant to actually put global data packs
😭
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
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
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
Probably
:)))
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
You're gonna have to explain what you attempted instead of throwing the whole data pack at me
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
The pictures of what I did are here
If those pictures are all you did then you skipped a step of my explanation