After some experimentation, I finally found a halfway decent method of creating sprawling underground caverns that you could fit a city inside. Introducing...

CaveRealms

This mod, borrowing from the concepts of skylands, creates huge underground caverns that extend for hundreds of blocks. Within these caverns lie stalagmites of glowing crystals, small glowing gems littering the floor, and variable terrain. Further more, as of version 0.2, stalagmites and stalactites also spawn, and the texture as well as the structure of the crystal stalagmites has been improved. Not to mention plentiful lava and even water springs. Caves spawn between y = -700 and -33,000, and can be quite extensive. Works with stable Minetest as well, and currently chunk generation takes roughly 120 to 170 ms, LuaJIT. In version 0.2.9, chunk generation currently took about 180-250 ms, LuaJIT. (Some people have gotten as low as 90 ms, however, due to better hardware than a laptop :P )

Now, starting with version 0.3, the caves are much larger and more 3-dimensional, having no cutoff at chunk borders as in the old versions. This is largely thanks to a recode with paramat's subterrain mod as the base, which I thoroughly altered and overlaid with extra noise. Many of the bugs inherent in the old version have also been fixed, with far fewer irregularities.

Currently, the caves have four biomes: moss, fungi, algae, and glaciated. The moss biome has blue crystal stalagmites and small glowing crystals on the ground, and moss covers the ground. The fungi biome has green crystal stalagmites highlighting the lichen-covered landscape, and luminescent purple mushrooms as well as green mycena mushrooms dot the ground, while giant mushrooms loom about. The algae biome is the least developed right now, but it features yellow-green algae covering the ground, and, on a slightly rare chance, glowing mese crystal stalagmites and stalactites. The glaciated biome has ground covered with two layers of ice, and has thin ice around the edges. Stalagmites and stalactites can be made of this ice as well, and the stalactites can be lethal as well: every time you dig a node of ice from them, there's a chance that the whole stalactite will come crashing down, greatly hurting or killing anyone standing beneath. (Note that there is an option in the config.lua file to turn this off.) Additionally, all biomes have glow worms hanging from the ceiling. In version 0.4 onward, a whole extra realm also appears: the Dungeon Masters' Lair. Between y=-4000 and -5000 lies this treacherous place where nothing is hospitable. But exploring it is worth it, for the Fortresses found down there have chests full of somewhat valuable items within.

To control the rarity of the caves, adjust the TCAVE setting in the config file. In version 0.2.9, this setting was at the start of the init file, under the names CLUSAV and CLUSAM.

CLUSAV controls the rarity of the caves, ranging in value from -1 to 0, with -1 being the smallest and rarest and 0 being the most common. The default is -0.5, which still yields a fairly large amount of caverns of considerable size, close to what they were before.

CLUSAM is the size and density threshold of the caves. This value goes from 0 (least variation) to 1 (most variation). 0.5 is the default, which also works fairly well.

Now in version 0.5, a new option was added to the config file: CAVESPAWN. This option, disabled by default, allows for you to automatically spawn underground in the caverealms. In some cases, you may be spawned near the ceiling of the cave, so consider disabling damage the first time you spawn.

Version 0.8 introduces the Deep Realms, inspired by `Zeno's fork of CaveRealms. Once you cross the -7000 depth, these biomes replace the regular caves, now adding three new environments: the salt crystal biome, the glowing obsidian biome, and the coal dust biome. The salt crystal environment is marked by its translucent floors, salt crystal decorations, and large, cubic, and pink salt crystals. The glowing obsidian biome is just what it sounds like: two new kinds of obsidian that glow, although the reddish one has traces of lava in it. So if you get trapped in one of those blocks, you will take damage. Fires also dot the landscape. Finally, the coal dust biome is the cave variant of a desert, featuring both desert sand and stone mini-stalagmites. However, the biome gets its name from the black dust blocks and coal blocks that mottle the landscape. The coal dust can also be crafted into coal blocks by placing them 3x3 on the crafting grid.

Also, there are a few crafting recipes for this mod:

+
Spoiler

Mycena Mushroom > Mycena Essence:

Glow Mese Crystal > 8 Mese Crystal Fragments:

8 Mese Crystal Fragments + Mycena Essence > Glow Mese Crystal:

Thin Ice > Water Source[no image]

Coal Dust > CoalblockFill the craft grid with coal dust. [no image]

This mod is still in it's early development stages, but I expect to work on it somewhat steadily in the near future to improve it as much as possible. Note that having dungeons enabled can definitely add to the experience of these caverns.

Planned features:

More underground vegetation and biomes

More new stones

A "Center of the Earth" environment that goes beyond mere caves. THE cave.

^ That may be code copied from my lazy code that assumes 5x5x5 mapblock chunks. Sometimes i can't be bothered with the extra code.Good to see a mod like this, we need it because indev mapgen may be removed or changed soon, so we need a replacement for the big flat-sided caves. Perhaps fungus biomes would be better suited down here in the dark.

This mod adds a reason to explore the undergrounds. It would be nice to have different realms for every type of crystal. I would do something with the colors red, blue and yellow for main colors of the realm. The crystals look nice. They would look nicer if the shape was not a cube but something that looks more like a crystal. Plantlike or a nodebox could help. Yellow could be mese crystals.

Thank you for the feedback, and glad people like it so far. I have made a few small tweaks, mainly changing the grass to mossy stone and fixing the mapchunk error. I also fixed the sounds for breaking crystals.

@paramat: Yeah, I took some of the wave noise code from floatindev and stripped it down before rebuilding. I changed those lines to sidelen instead of 80, that should solve the issue. I agree, fungus biomes would be good. I'll make some of those for the next update and add an optional dependency for that one mushroom mod floating around out there.

@Bas080: I already had something like that in mind, just I had green in addition to the list of colors. Didn't think of yellow = mese though, good idea. However, making a shape other than a cube could be difficult for making stalagmite structures without introducing several different node types that only slow things down. I guess a slanted node with a facedir COULD work, although I'm not very good with nodeboxes and that would be much farther down the line.

Nam ex spatio, omnes res venire possunt.Why let the ground limit you when you can reach for the sky?Back to college now, yay for sophomore year schedules. :P

Bas080 wrote:... The crystals look nice. They would look nicer if the shape was not a cube but something that looks more like a crystal. Plantlike or a nodebox could help. ...

Although I know that "cubic" is actually a natural and very common class of crystal habit, I have to agree. Perhaps cubic nodeboxes in a variety of sizes could be employed, to give the impression that the cubic crystals are "growing" from the rock.

I'm currently doing more work on this, toning down the glow crystal texture a bit as well. I can't find much about how exactly to make nodeboxes, so that will have to be farther down the line. Hopefully fixing the textures will help until then. I may also experiment with plantlike drawtypes later, but for now I have a few other bugs to work out.

If cubes were found like that in nature, why did the photographer license it under creative commons...?

Nam ex spatio, omnes res venire possunt.Why let the ground limit you when you can reach for the sky?Back to college now, yay for sophomore year schedules. :P

That.... is crazy epic. It would be a serious challenge to implement that, but not impossible. ;) Perhaps I can implement that as a biome later on, or maybe make it spawn extra deep. I don't think I'll be able to do that particularly soon though, as I'm still trying to get other parts of the mod looking better.

On which note: I pushed some changes to GitHub earlier today, changing the crystal texture a bit to make it less in-your-face and a tad more natural. It still is a cube, sadly, but I can't find much on how to make nodeboxes from scratch. I also added stone stalagmites that range from 6 to 15 nodes high, with the upper limit being adjustable. I might change the glow crystal stalagmites to a similar design if it makes them look better. There was also a problem where large sections of the caves would have no decoration, particularly in higher elevations. This has been mostly fixed, but the flatlands that occur at vertical chunk borders remain. I know how to fix it, I just haven't gotten to it yet. :P

Currently working on creating stalactites. :D Things are not going smoothly with those, however. >:O

Nam ex spatio, omnes res venire possunt.Why let the ground limit you when you can reach for the sky?Back to college now, yay for sophomore year schedules. :P

Version 0.2 is now released! Following closely after stalagmites, stalactites now spawn as well! Additionally, the structure of the glow crystal stalagmites has been redone, so be sure to let me know if it's any better than before. Some code cleanup happened, despite massive amounts of coding, deleting, replacing, reorganizing, etc. Screenshots in the OP have also been updated.

This looks good, i'll try it soon. How do you spread the light of the light sources since voxelmanip doesn't do this? i have to either 'nodeupdate(pos)' or if that doesn't work 'remove node' then 'place node'.

paramat wrote:This looks good, i'll try it soon. How do you spread the light of the light sources since voxelmanip doesn't do this? i have to either 'nodeupdate(pos)' or if that doesn't work 'remove node' then 'place node'.

Believe it or not, nothing. Since there's lava more often than not, the abms from that and the flowing lava update the chunk and cause all the lighting to be fixed. There are times where the lighting needs to be fixed... I'll have to consider using one of the aforementioned methods to correct it.

Nam ex spatio, omnes res venire possunt.Why let the ground limit you when you can reach for the sky?Back to college now, yay for sophomore year schedules. :P

I tried v0.2 which has no lava and noticed the light seemed to be spread properly at generation, can't work out why it works here and not in some of my mods.In v0.2, if the player travels through the caves for a while, then places a torch, there's a huge lagspike (up to 10 sec), i'm thinking perhaps a chain reaction of lighting updates, because there are so many glowing nodes that are also within 16n of each other. So i can see how lava will be useful for updating light in hopefully smaller chain reactions.

So, thanks to a pull request from Zeno- on GitHub, a few things were changed that are rather nice. For one thing, a couple tiny bugs I missed were caught by him (a wrong description for moss that made it read as dirt, and more importantly, it was dropping dirt), he changed the texture for the little glow gems to make them a tad prettier, and he used a bit of kaeza's code to make a small config file that I will continue to expand as time goes on, making settings easier to tweak.

Those weren't the only changes however. I also listened, and added in crystal stalactites! :D Sadly no screenshots yet...

paramat wrote:I tried v0.2 which has no lava and noticed the light seemed to be spread properly at generation, can't work out why it works here and not in some of my mods.In v0.2, if the player travels through the caves for a while, then places a torch, there's a huge lagspike (up to 10 sec), i'm thinking perhaps a chain reaction of lighting updates, because there are so many glowing nodes that are also within 16n of each other. So i can see how lava will be useful for updating light in hopefully smaller chain reactions.

Actually, v0.2 does have lava, provided the cave lies in a way to cause a flow. (I assume you just mean you found a place where it didn't.) I tried doing what you said about the torch, but I didn't notice any extra lag... but then again, I was using LuaJIT and the latest dev build :P

Nam ex spatio, omnes res venire possunt.Why let the ground limit you when you can reach for the sky?Back to college now, yay for sophomore year schedules. :P

Began adding a second biome, the mushroom biome! With faintly glowing mushrooms, emerald green glowing crystals, and lichen covered cobblestone, this biome can look just a bit eerie. Next update will include giant 'shrooms as well. :D

Nam ex spatio, omnes res venire possunt.Why let the ground limit you when you can reach for the sky?Back to college now, yay for sophomore year schedules. :P

Giant mushrooms now spawn in the fungus biome, and glowing green mycena mushrooms have also been added. And in all biomes, glow worms now hang from the ceiling.

Zeno- from GitHub also chipped in a few welcome changes: by reworking a small section of code, generation time has been dropped to about 180-220 ms, although I've heard some people get 90 ms gen times(!) Mycena mushrooms and glow worms were also his ideas. :)

Enjoy!

EDIT: It has been brought to my attention that the mushroom texture is a little too dark to stand out. This will be fixed very soon.

Nam ex spatio, omnes res venire possunt.Why let the ground limit you when you can reach for the sky?Back to college now, yay for sophomore year schedules. :P