kreezxil / Lava-Dynamics

Adding Vulcanism to Minecraft via Block Update Detection (BUD)
3 stars 3 forks source link

Lava cooling into other blocks? #14

Open duckwagon opened 5 years ago

duckwagon commented 5 years ago

Man. Just found this thing again. SO glad it's moving forward. I need to be better about following mods I like.

Not sure if this was suggested before, but I think it'd be really nice if lava would cool over time, or maybe just when converting other blocks, into another block like magma, stone, netherrack (as silly as that is, thematically it works IMO), or obsidian. For performance, but also aesthetics, and so it doesn't take over the whole world... Like so an eruption is a temporary thing?

Repeat eruptions would be a really cool possible thing, in that case, too. It makes sense for the generated volcanos you have planned, you can set how 'active' a volcano is, and then the magma will re-melt and flow all over again in intervals? Something like that.

Is triggering an eruption area-specific, or is it just mining too deep/far, ir what? I can just imagine going down to bedrock, finding a 'vein' of magma/obsidian, mining it up, and triggering an eruption. That would be cool.

duckwagon commented 5 years ago

...Cooling blocks would add some nice/accurate effects to sea-vents, instead of just a bunch of stone generating.

kreezxil commented 5 years ago

Right now we're working on making it work right with minimal lag to a massive multiplayer server. Cooling blocks is a good suggestion and we'll put it on our backboard for making this mod into something truly magnificent.

On Thu, Jun 20, 2019 at 12:09 AM duckwagon notifications@github.com wrote:

...Cooling blocks would add some nice/accurate effects to sea-vents, instead of just a bunch of stone generating.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kreezxil/Lava-Dynamics/issues/14?email_source=notifications&email_token=AA5TJCBPKWQ4M7SUYYHVYH3P3MGHZA5CNFSM4HZPJA42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYEIXZY#issuecomment-503876583, or mute the thread https://github.com/notifications/unsubscribe-auth/AA5TJCFTBSGKLP7IP6PW4PDP3MGHZANCNFSM4HZPJA4Q .

jtgibson01 commented 4 years ago

I think the cooling should be the primary means of building up the volcanoes, rather than the current ejecta. Aside from the realism factor, it also would help volcanoes form a caldera instead of forming the current exponentiating normal distribution. Well-developed volcanoes at present do look "good", but they look more like the asteroid spires from the movie Armageddon rather than genuine igneous flows. =)

I think the best way to do it would be to do an inverse Gaussian throw on both the X and Z to choose a coordinate to cool (inverse means it is more likely to produce results on the edges than in the middle, but can rarely produce results in the middle), constrain or lerp it to a maximum range from the volcano, raytrace down from max Z until it runs into magma (even through stone), and convert that flow block to smooth stone. Repeat at random intervals.

This has a few predictable results:

kreezxil commented 4 years ago

Feel free to modify the code and submit a pull request help speed along the project.

On Wed, Aug 21, 2019 at 8:17 PM jtgibson01 notifications@github.com wrote:

I think the cooling should be the primary means of building up the volcanoes, rather than the current ejecta. Aside from the realism factor, it also would help volcanoes form a caldera instead of forming the current exponentiating normal distribution. Well-developed volcanoes at present do look "good", but they look more like the asteroid spires from the movie Armageddon rather than genuine igneous flows. =)

I think the best way to do it would be to do an inverse Gaussian throw on both the X and Z to choose a coordinate to cool (inverse means it is more likely to produce results on the edges than in the middle, but can rarely produce results in the middle), constrain or lerp it to a maximum range from the volcano, raytrace down from max Z until it runs into magma (even through stone), and convert that flow block to smooth stone. Repeat at random intervals.

This has a few predictable results:

  • volcanoes will cool from the outside in, producing a natural caldera and a more mounded volcano than a spire.
  • magma that cools level with another magma block will cause cliffs and wider magma flows.
  • cooling can form random "shells" over magma, interspersing pockets of hot magma with smooth stone, making it much more dangerous to mine volcanoes once they've built up.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kreezxil/Lava-Dynamics/issues/14?email_source=notifications&email_token=AA5TJCEU3IZIWH2FLB2N23LQFXSL5A5CNFSM4HZPJA42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD43SINI#issuecomment-523707445, or mute the thread https://github.com/notifications/unsubscribe-auth/AA5TJCEU7C6OSI5TGF5OW53QFXSL5ANCNFSM4HZPJA4Q .