[Mod] Magma conduits and volcanoes [magma_conduits]
[Mod] Magma conduits and volcanoes [magma_conduits]
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.
If you install namegen and named_waypoints then names and HUD markers will be automatically generated for volcanoes, players will "discover" the volcano when they climb to its peak.
Dependencies: default
License: MIT
Links
Last edited by FaceDeer on Sun Jan 26, 2020 03:47, edited 6 times in total.
- TechNolaByte
- Member
- Posts: 465
- Joined: Wed May 10, 2017 21:00
- GitHub: TechNolaByte
Re: [Mod] Magma conduits [0.5]
finally no more boring lava pools!
The great quest of alchemy neither failed nor attained gold; programmers are those great alchemists who transmute caffeine into code.
Re: [Mod] Magma conduits [0.5]
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.
- texmex
- Member
- Posts: 1753
- Joined: Mon Jul 11, 2016 21:08
- GitHub: tacotexmex
- In-game: tacotexmex
Re: [Mod] Magma conduits [0.5]
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.
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.
Re: [Mod] Magma conduits [0.5]
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.
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.
-
- Member
- Posts: 1482
- Joined: Fri Apr 19, 2013 16:19
- GitHub: twoelk
- IRC: twoelk
- In-game: twoelk
- Location: northern Germany
Re: [Mod] Magma conduits [0.5]
cool idea ...
and
some old code you might want to study:
volcano by paramat and vulkane by HybridDog
and
some old code you might want to study:
volcano by paramat and vulkane by HybridDog
Re: [Mod] Magma conduits [magma_conduits]
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.
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.
- texmex
- Member
- Posts: 1753
- Joined: Mon Jul 11, 2016 21:08
- GitHub: tacotexmex
- In-game: tacotexmex
Re: [Mod] Magma conduits [magma_conduits]
Wow, looking forward to try this branch!
Re: [Mod] Magma conduits [magma_conduits]
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.
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.
Re: [Mod] Magma conduits [magma_conduits]
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:
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?
Here's a screenshot of a typical volcano this mod can now generate:
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?
Re: [Mod] Magma conduits [magma_conduits]
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.
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.
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
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.
- voxelproof
- Member
- Posts: 1087
- Joined: Sat Aug 05, 2017 08:13
- Location: Europe
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
Well done.
- Attachments
-
- volcano6.jpg (62.75 KiB) Viewed 3610 times
-
- volcano5.jpg (64.67 KiB) Viewed 3610 times
-
- volcano4.jpg (62.78 KiB) Viewed 3610 times
To miss the joy is to miss all. Robert Louis Stevenson
-
- Member
- Posts: 162
- Joined: Thu Feb 08, 2018 17:36
- In-game: Christian_Soldier
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
Awesome! :)
I have a suggestion, though:
Can you somehow incorporate the tides mod,
viewtopic.php?f=9&t=21600, into it so the volcanoes can actually erupt?
I have a suggestion, though:
Can you somehow incorporate the tides mod,
viewtopic.php?f=9&t=21600, into it so the volcanoes can actually erupt?
plz see my map from The Stanley Parable. viewtopic.php?f=12&t=19944&p=0&e=0
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
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.
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.
- voxelproof
- Member
- Posts: 1087
- Joined: Sat Aug 05, 2017 08:13
- Location: Europe
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
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.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.
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);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.
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.
To miss the joy is to miss all. Robert Louis Stevenson
- markthesmeagol
- Member
- Posts: 34
- Joined: Fri Dec 21, 2018 13:15
- GitHub: smeagolthellama
- In-game: haivets
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
YEEY! df !!fun!!
What mapgens is this compatible with, and will there be any sea-volcanoes/volcanic islands?
What mapgens is this compatible with, and will there be any sea-volcanoes/volcanic islands?
I am not very good at lua. I am learning though.
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
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.
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: 34
- Joined: Fri Dec 21, 2018 13:15
- GitHub: smeagolthellama
- In-game: haivets
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
As the author of the tides mod, I can say two things:Christian_Soldier wrote:Awesome! :)
I have a suggestion, though:
Can you somehow incorporate the tides mod,
viewtopic.php?f=9&t=21600, into it so the volcanoes can actually erupt?
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).
I am not very good at lua. I am learning though.
-
- Member
- Posts: 407
- Joined: Sat Dec 29, 2018 19:21
- GitHub: KaylebJay
- IRC: KaylebJay
- In-game: CalebJ
- Location: Tunnelers' Abyss
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
Sorry for bumping, but this looks really nice. I'm testing it!
EDIT: Some of the extinct volcanos spawn underground instead of above. Other than that: +1
EDIT: Some of the extinct volcanos spawn underground instead of above. Other than that: +1
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
Do you mean underground as in the whole cinder cone is beneath the surface? I currently don't adjust the height of the volcano based on the local elevation (at least, I don't remember doing so - it's been a while since I made that code. It'd be hard to do, though, since the peak of the volcano is usually located in a mapblock other than the one that's currently generating), so it's possible that a volcano will randomly spawn whose peak elevation is below the local surface of the ground. The lava's still there, it's just less obvious from the surface. There are actually formations like that in real life, volcanic "dikes" where magma squeezed into cracks in the crust but never erupted onto the surface before solidifying, though I'm not explicitly modeling that kind of thing here.CalebJ wrote:Sorry for bumping, but this looks really nice. I'm testing it!
EDIT: Some of the extinct volcanos spawn underground instead of above. Other than that: +1
-
- Member
- Posts: 324
- Joined: Sun Jun 16, 2019 20:17
- Location: x=123, y=120, z=534
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
Cool mod. I recommend exploring volcanos with molten_sailor.
Currently working on new mods.
- Diamond knight
- Member
- Posts: 475
- Joined: Sun Apr 19, 2015 19:50
- GitHub: Diamondknight
- In-game: Ferrumprinceps
- Location: Chilling in Constantinople
- Contact:
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
Is there any way I can mod these to actually erupt? I am working on a subgame that features a post-apocalyptic scenario and I am trying to find good mods to simulate the natural disasters that are supposed to present a massive challenge to the player. Also, would be best if the eruption method I could mod in would be compatible with dynamic_liquids as the subgame uses that mod.
My modding team: https://github.com/basilea-rhomaion
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
Tricky. I did a little fiddling once with the concept "what happens when one of these volcanoes overflows?" and the results were catastrophic; due to the way Minetest's fluid dynamics worked a single lava node overflowing the top of one of these volcanic mountains ended up covering the entire circumference of the volcano's base with flowing lava. I stopped investigating at that point because I figured most servers wouldn't appreciate a mod that randomly set large sections of the map on fire like that.Diamond knight wrote:Is there any way I can mod these to actually erupt? I am working on a subgame that features a post-apocalyptic scenario and I am trying to find good mods to simulate the natural disasters that are supposed to present a massive challenge to the player. Also, would be best if the eruption method I could mod in would be compatible with dynamic_liquids as the subgame uses that mod.
However, if you do want to set large sections of the map on fire, I can think of a possible way to accomplish this in conjunction with dynamic_liquid. I could create a special "eruption manager" node, maybe disguised as an air node located just above the peak of the mountain, and when it came time to ruin everything it would start spawning lava nodes as if it were a magical lava spring. It'd fill the volcano up to the brim and then start spilling over. Eventually it'd hit some spawn limit and stop adding new lava. I'd need to make it check whether the lava vent below it was open, players could roof the volcano over to prevent eruptions.
I think the most complex parts will be adding this to the mapgen and making it run autonomously. It'd be fairly straightforward to whip up an air-like lava spring that could be placed manually by a server admin to spawn a big mess of lava, though, would that be useful for starters? I've got a lot on my to-do list so I don't want to devote a lot of time to this right now, unfortunately.
Re: [Mod] Magma conduits and volcanoes [magma_conduits]
I just added optional support for two of my newer library mods, namegen and named_waypoints. If those mods are installed then names and HUD markers will be automatically generated for volcanoes, players will "discover" the volcano when they climb to its peak.
Who is online
Users browsing this forum: rudzik8 and 39 guests