[Mod] Magma conduits and volcanoes [magma_conduits]

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

[Mod] Magma conduits and volcanoes [magma_conduits]

by FaceDeer » Sun May 27, 2018 15:56

Image

A mapgen mod you can add to most existing mapgens. It adds magma conduits that thread through the ground like a second cave system.

It has two main mechanisms for doing this, which can be separately enabled and disabled. One approach is to use "veins" of lava, resulting in twisting passages interconnecting underground. The other is to build vertical lava "pipes" with volcanic cones on the surface.

The mod has settings to control the frequency and distribution of volcanoes, as well as the proportion of volcanoes that are "active" (have open calderas with exposed pools of lava), "dormant" (closed calderas but lava is near the surface) and "extinct" (the surface volcano is largely decorative, the lava could be hundreds of meters below ground under it). Dormant and extinct volcanoes will have material appropriate to their local biome decorating their surface, whereas active volcanoes will be decorated with gravelly volcanic ash.

It also has the following optional features, configurable via settings:

* Removes default mapgen lava (it leaves the empty caves behind)
* Adds an obsidian lining to magma conduits
* Adds "glowing rock" that forms from stone and obsidian adjacent to magma, providing a warning to miners that they're about to hit trouble.

This mod can make magma more sparsely distributed across the map, but where it is found it will be available in massive quantities. Since volcanoes can be a bit hard to find, there's a "/findvolcano" chat command (requiring a privilege of the same name) that will give a list of the locations of nearby volcanoes.

Dependencies: default
License: MIT

Links

Last edited by FaceDeer on Wed Dec 26, 2018 18:50, edited 5 times in total.
 

User avatar
RSLRedstonier
Member
 
Posts: 449
Joined: Wed May 10, 2017 21:00
Location: some were in middle earth
GitHub: RSL-Redstonier
In-game: RSLRedstonier

Re: [Mod] Magma conduits [0.5]

by RSLRedstonier » Sun May 27, 2018 19:53

finally no more boring lava pools!
"A programmer is just a tool which converts caffeine into code"

try out my skytest mod always being updated!
https://forum.minetest.net/viewtopic.php?f=9&t=17568
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits [0.5]

by FaceDeer » Sun May 27, 2018 20:51

I'm hoping to eventually put out a version that builds volcanic cones over the surface ends of vents, but at the moment I'm working on some other mods that are keeping that back-burnered. Hopefully the hole-in-the-ground-with-lava-inside appearance is fine for now.
 

User avatar
texmex
Member
 
Posts: 1272
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex

Re: [Mod] Magma conduits [0.5]

by texmex » Mon May 28, 2018 10:10

I like the idea of magma conduits alot but as it works now it burns down my forests when when generated in them. A setting for an y offset of the lava surface could solve that.

Another suggestion is a setting with a string of comma-separated biome names that controls in which biomes the conduits generate.

A third thing I noticed yesterday is that even though the lava reaches the surface, there was no obsidian generated around it and thus lava sat next to dirt-with-grass which didn’s look all too realistic.
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits [0.5]

by FaceDeer » Mon May 28, 2018 13:41

There's already a setting for limiting the lava's height, magma_conduits_remove_lava_above. It still leaves the empty conduit above that height, unfortunately - I tried creating a setting that'd prevent the lava :"ore" from spawning in the first place above that height but discovered an issue in Minetest itself that made me back off of that for the time being.

Currently lava's just an ore, so I don't think fine-grained control of where it spawns is possible. But I expect I'll eventually rewrite the vent-generating code from scratch when I get to making surface volcanoes, so I can take a look at doing that then.

The obsidian-generating code only replaces default:stone with obsidian currently, I'll add dirt and such to the list when I've got a bit of spare time.
 

twoelk
Member
 
Posts: 1279
Joined: Fri Apr 19, 2013 16:19
Location: northern Germany
GitHub: twoelk
IRC: twoelk
In-game: twoelk
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits [magma_conduits]

by FaceDeer » Sat Nov 03, 2018 21:54

My day job schedule is still pretty crazy so I don't know how quickly I can "finish" this, but I just roughed out a mapgen for adding large mountain-scale volcanoes to pretty much any map. See the following branch at Github:
magma_conduits volcano branch

It's not set up to be highly configurable yet, but if you crack open the volcanoes.lua file you can find a bunch of settings at the top that will eventually add flexibility to what sort of volcanoes are generated. Right now volcanoes are made in the following general patterns:

25% "extinct" (no lava, just an obsidian pipe), 25% "dormant" (obsidian plug in the caldera but there's a lava pipe below it), 50% "active" (an open throat leading right to lava, and slopes covered in gravel "ash" rather than soil). The steepness and heights of the volcanoes vary widely too.

Right now the code that is supposed to scatter volcanoes randomly across the map is in a primitive state, which is actually handy for testing; they're roughly in a 1-kilometer grid pattern starting at 500,0,500. Volcanoes can be up to 200 meters tall.

A word of warning: during my testing I've been getting an occasional crash that may be related to this mapgen, so don't use this in a world you care about just yet.

On my todo list is making volcanoes blend into their surrounding biomes a bit better, putting snow on the taller ones and maybe trees and stuff on the dormant or extinct ones. Haven't done mapgen work on the surface world before so that'll be a learning experience.
 

User avatar
texmex
Member
 
Posts: 1272
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits [magma_conduits]

by FaceDeer » Sun Nov 04, 2018 00:00

I've noticed that some of the volcanoes have weird horizontal slices missing, which can allow lava to spill out. So not ready for prime time just yet, though I'm going to see if I can come up with a way to make these things "erupt" in a more intentional manner once the basic stuff is working better. :)

Edit: The horizontal slices appear to be specific to mapgen v7, the same volcano generated in singlenode or in carpathian was intact. An interesting challenge, it looks like mapgen v7 is doing something *after* the volcano has been generated to cut slices into it.
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits [magma_conduits]

by FaceDeer » Fri Nov 09, 2018 07:33

Okay, I think the "volcanoes" branch of this mod is getting pretty close to merging back into the main branch now. I'm reasonably satisfied with how volcanoes look. Could perhaps use a bit more biome-specific vegetation on the dormant and extinct ones, but that's likely to be a lot of work so I'll save it for a future version.

Here's a screenshot of a typical volcano this mod can now generate:

Image

You can use the /findvolcano console command to seek out nearby volcanoes, since the might be scattered widely and take a while to track down by just flying around.

Any suggestions or requests before I merge?
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits [magma_conduits]

by FaceDeer » Fri Nov 16, 2018 07:18

Okay, I think I'm done. I've made extinct and dormant volcanoes use nodes from the biomes they're in to decorate their slopes (eg, a volcano in the desert gets desert sand on it, a volcano in the jungle gets jungle dirt) though active ones always get gravel "ash" instead. I've also added a large magma chamber down at the bottom end of each magma pipe - even extinct volcanoes have one. There's no trees and stuff like that, but eh, I figure this is good enough for now.

Unfortunately, I've been triggering Issue #7864 a lot as I've been flying around from volcano to volcano while testing. So I'm going to hold off merging the volcano branch into master for a little while to see if that issue gets traction.
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits and volcanoes [magma_conduits]

by FaceDeer » Wed Dec 26, 2018 09:19

I've found a workaround that seems reliable. It appears the bug is triggered by how my mapgen was placing light-emitting nodes near the surface, so I created a non-light-emitting temporary version of lava that gets immediately replaced with the regular stuff post-mapgen. The volcano branch has been merged into master.
 

User avatar
voxelproof
Member
 
Posts: 769
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: [Mod] Magma conduits and volcanoes [magma_conduits]

by voxelproof » Wed Dec 26, 2018 11:23

Well done.

Image

Image

Image
Attachments
volcano6.jpg
(62.75 KiB) Not downloaded yet
volcano5.jpg
(64.67 KiB) Not downloaded yet
volcano4.jpg
(62.78 KiB) Not downloaded yet
>>>there is life beyond the Cube>>>
 

Christian_Soldier
Member
 
Posts: 155
Joined: Thu Feb 08, 2018 17:36
In-game: Christian_Soldier

Re: [Mod] Magma conduits and volcanoes [magma_conduits]

by Christian_Soldier » Wed Dec 26, 2018 14:43

Awesome! :)

I have a suggestion, though:
Can you somehow incorporate the tides mod,
https://forum.minetest.net/viewtopic.php?f=9&t=21600, into it so the volcanoes can actually erupt?
plz see my map from The Stanley Parable. https://forum.minetest.net/viewtopic.php?f=12&t=19944&p=0&e=0
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits and volcanoes [magma_conduits]

by FaceDeer » Wed Dec 26, 2018 18:47

Heh. The original purpose of adding volcanoes to this mod was so that lava could be available on the surface without setting the surrounding forest on fire, so although I did think a bit about how to make volcanoes erupt I didn't dig very deeply.

The way Minetest liquid behaves you only need to place a single node of lava on the lip of the volcano's caldera and you'll get an impressive fan of flowing lava spread out down the side of the volcano. So to make a volcano "erupt" perhaps I could have it fill to the top of its caldera and then poke one or two holes in the lip? I wouldn't want that to happen "naturally" on account of the forest fires that would ensue, but I'll look into adding a chat command to trigger an active volcano that way. In a little bit, though - this mod release is actually just a prelude to releasing a rather big modpack in a couple more days so I'm focused on that right now. I'll file myself an issue to remind me.
 

User avatar
voxelproof
Member
 
Posts: 769
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: [Mod] Magma conduits and volcanoes [magma_conduits]

by voxelproof » Wed Dec 26, 2018 21:42

FaceDeer wrote:Heh. The original purpose of adding volcanoes to this mod was so that lava could be available on the surface without setting the surrounding forest on fire, so although I did think a bit about how to make volcanoes erupt I didn't dig very deeply.


This is a very benign sub-species of volcanoes you've implemented here ;) However to ensure greater fun for players I think that it would be feasible and interesting to make them slightly unpredictable (volcanoes, not players) and, well, posing substantial menace to surrounding environment.

The way Minetest liquid behaves you only need to place a single node of lava on the lip of the volcano's caldera and you'll get an impressive fan of flowing lava spread out down the side of the volcano. So to make a volcano "erupt" perhaps I could have it fill to the top of its caldera and then poke one or two holes in the lip? I wouldn't want that to happen "naturally" on account of the forest fires that would ensue, but I'll look into adding a chat command to trigger an active volcano that way. In a little bit, though - this mod release is actually just a prelude to releasing a rather big modpack in a couple more days so I'm focused on that right now. I'll file myself an issue to remind me.


1. You could avoid fully deterministic disastrous impact of volcanoes by associating the eruption procedure with certain probability (let's say 10^-6 per second or even less for eruption);
2. The eruption itself can be implemented by transforming random number of nodes in topmost part of the mountain into TNT nodes and making them explode (a player wouldn't even notice this small trick). Now one can admire wonderful natural disaster in full scale 8D
Last edited by voxelproof on Sat Dec 29, 2018 20:45, edited 1 time in total.
>>>there is life beyond the Cube>>>
 

markthesmeagol
Member
 
Posts: 15
Joined: Fri Dec 21, 2018 13:15
GitHub: smeagolthellama

Re: [Mod] Magma conduits and volcanoes [magma_conduits]

by markthesmeagol » Fri Dec 28, 2018 11:12

YEEY! df !!fun!!

What mapgens is this compatible with, and will there be any sea-volcanoes/volcanic islands?
 

FaceDeer
Member
 
Posts: 291
Joined: Sat Aug 29, 2015 19:01
GitHub: FaceDeer

Re: [Mod] Magma conduits and volcanoes [magma_conduits]

by FaceDeer » Fri Dec 28, 2018 17:47

It should work with pretty much any mapgen provided the volcano-generating code runs after the ground has been placed (otherwise the magma pipes could get "overwritten", depending on the mapgen). I've only tested it heavily with v7 but I think the other built-in mapgens should all work. Let me know if you run into any incompatibilities with other mapgens and I'll see what I can do.

There will indeed be volcanic islands. The mapgen is unaware of what the terrain is like when it selects locations to put volcanos, so if it puts one out in the ocean it'll make an island. There won't be trees on it, unfortunately - I just borrow the dirt type from the biome the volcano is in, I don't apply the biome's decorations. If you've got oceans deeper than about 30 meters I may need to do some tweaking of the profile of volcanic cones, otherwise divers might notice some oddities if they go down there (the volcano narrows back down to the size of the central lava pipe below that depth).

If you're a fan of Dwarf Fortress you might be pleased to know that I'm just a few days away from a major new release of dfcaverns. Let me know if you'd like to do some beta testing, I can direct you to the branches and dependencies you'll need.
 

markthesmeagol
Member
 
Posts: 15
Joined: Fri Dec 21, 2018 13:15
GitHub: smeagolthellama

Re: [Mod] Magma conduits and volcanoes [magma_conduits]

by markthesmeagol » Sat Dec 29, 2018 19:28

Christian_Soldier wrote:Awesome! :)

I have a suggestion, though:
Can you somehow incorporate the tides mod,
https://forum.minetest.net/viewtopic.php?f=9&t=21600, into it so the volcanoes can actually erupt?


As the author of the tides mod, I can say two things:
1) Thanks very much for the recommendation,cool idea, however:
2) I disagree with it. At the moment, the tides mod needs a lot more work in order to be considered for incorporation into other mods, and... it doesn't work(at the moment that is. Any help is welcome).
 


Return to Mod Releases



Who is online

Users browsing this forum: No registered users and 9 guests