While the mod ~can~ deal with these things without too many serious issues (block setting is done directly in the block storage, and distant caves will not need re-rendering, hence no lag; the only issue is that it messes up the nice and smooth ocean surface lol), it's not something that I like, and I will probably address it at some point.
Both of the solutions I can think of ~do~ require core mods, but whatever. First is modifying cave gen; when in ocean biomes, it would place stone under any sand, dirt, or gravel which it undermines. The second is to preflood oceanic caves and ravines, working under the assumption that they will eventually be flooded, and that the ocean would eventually be refilled by rain.
However, since the cave flooding is not a game breaker (and while testing: gives me a higher standard to try and reach through optimization), I probably won't bother doing anything about it for a while.
UPDATE:
Fluids can now save their data to an array in NBT, meaning a little bit more size needed on your hard drive (a few kb per chunk with fluid in it before compression, probably much much less after compression since integer arrays get compressed really well when filled half with zeroes), and also store the flagged updates and so on as well (for consistency and stuff).
Anyway, this means that I can have much more fun with fluid viscosity outside of the 1/8 of a block thing, and am one step closer to an alpha release
Now all that's left is to finish redesigning the "other stuff" thread, making it perform both equalizations and random tick calculations and everything all in one go
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Hmmmmmmmmmmmmmm, I take some of that stuff about cave flooding and pressure back. I just got around to testing in deep oceans with pressure enabled, and I'm not sure about anything anymore. Hmmm. Let me play around with some optimizations... I might be able to reduce the performance cost of the pressure by about half if I do some hacky things... (it's already about 3x faster than the initial implementation lol).
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Mr. HeadTiger, do you ever stream your development time?
I can't say I've ever done so... I might make tutorials for Java one day, but... idk. If you need help with anything code related, drop me a PM and I'll see if I can help
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I can't say I've ever done so... I might make tutorials for Java one day, but... idk. If you need help with anything code related, drop me a PM and I'll see if I can help
Oh no, I just wanted to watch and occasionally see how it's looking in game. I'm very excited about your work.
I think I found a free screen recorder earlier... I need to do some really irritating structural theory assignment tomorrow, but when I've done that and fixed some of the pressure bugs which I accidentally created while shredding and rewriting large chunks of code, I will see if I can't work out how to use Youtube or something
On that note, pressure is working much much faster (again) now, and I fixed how the worker threads distribute load over time, so now the mod is smoother than ever, although I accidentally introduced some bugs which like.. make oceans rise infinitely under their own pressure, so... yeah... not good
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Well, I'm still looking forward to the release. Just looked a few minutes into it and looks really cool. I just hope it will not depend on windows as there is at least one try to start cmd.exe.
Well, I'm still looking forward to the release. Just looked a few minutes into it and looks really cool. I just hope it will not depend on windows as there is at least one try to start cmd.exe.
It's a regular Forge mod, so in theory it should run on any system that can play Minecraft in the first place...
Also, finished writing new queue objects, so for all those people who know a little bit about Java/computer science, I'm now using a special non-blocking no-duplicates ListStackMapSetThing for updates, which can actually be a little faster because I'm just that good it never iterates over an entire 4096 index array that may have as little as one update within it, but more importantly; lets me schedule updates with a little more freedom. Now I just have to rewrite the scheduling system... then the chunk distribution system... man... that'll teach me to do it right the first time lol.
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Aaaand the scheduling changes are now done, so like, now I can mark updates way more freely and stuff. Just a few more changes before I can get to a public release, with only three tasks left for the closed alpha (namely, fixing a couple of things that broke when I re-added pressure calculations {equalization, displacement}, fixing a heap of scheduling errors that emerged when I rewrote the scheduling system, and fixing the way that NBT writes data to chunks now that I've changed how data is handled in the first place).
After that, aka alpha, it will be time to go play with pipes and pumps and stuff
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
it looks like you have been working on this non stop ever since you posted the topic! so far your the most active mod maker [that i have seen] yet! and you logged in while i was typing this too!
I don't know who you are but I am so grateful for all of your work! I loved the finite liquid mod and ever since it was stopped in development I've been very bitter about playing minecraft.
I was given the link to this forum on YouTube and I can not tell you how happy I am to see this being done. I want to offer my full support and wish I knew how to code because I would have done this myself long time ago!
I saw you guys talking about the ocean problem and IIRC, Djoslin solved that problem by having the ocean water stay infinite and finite liquid only being found in ponds and lakes of the sort.
Regardless though, I look forward to this mod and wish you the best! I can't wait to see this mod release and on my system! Hats off!!
There are lots of "issues" with finite oceans, and they are a big performance sink, but they are first and foremost: awesome, plus I can still get more than playable performance around them even with pressure enabled (which is now in it's FIFTH rendition lol).
I think I will make a config option for this... yeah... So... I'm thinking that there will be an "infinite" water block which behaves kind of like a cross between a finite water block and a vanilla water block (aka, creates finite water in spaces around it, but never depletes). Then there would be three options;
1. Totally finite fluids
2. Finite fluids with infinite oceans
3. All fluids finite, but bottom blocks of oceans and rivers are infinite.
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I don't know if it has been said for now, but in your OP, you don't have 100 liters being able to cover an entire mountain, but rather 950 liters (assuming a Minecraft water block is 95% full, and it is a meter high, deep and wide). I mean, a cubic meter can contain 1000 liters.
Rollback Post to RevisionRollBack
A Rocket Science tester and engineer. Well, at least when it will be released. =)
I'm French so English is not my native language. Please correct me when I make a mistake and don't worry for me, it will be even better. Thanks in advance! =) Current number of corrected posts/things: 7
I don't know if it has been said for now, but in your OP, you don't have 100 liters being able to cover an entire mountain, but rather 950 liters (assuming a Minecraft water block is 95% full, and it is a meter high, deep and wide). I mean, a cubic meter can contain 1000 liters.
Did I type 100? Hmmm, so I did... I'm not even sure if that's a typo, a maths derp, or a deliberate exaggeration... here's to hoping it was the latter
EDIT: Not a typo because I converted it to galleons D:
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I'm sure you are doing a bang up job regardless Tiger. Keep it up and once again, big kudos to all of your work. I like your 3 possible solutions to the ocean and not to quote djoslin again but I think he left the ocean water infinite (default) to avoid performance issues of say, someone trying to drain the ocean and every block in said ocean having to process the changes.
I am no programmer though and I can only offer moral support lol. It's your mod good sir, make the best of what you can!
Both of the solutions I can think of ~do~ require core mods, but whatever. First is modifying cave gen; when in ocean biomes, it would place stone under any sand, dirt, or gravel which it undermines. The second is to preflood oceanic caves and ravines, working under the assumption that they will eventually be flooded, and that the ocean would eventually be refilled by rain.
However, since the cave flooding is not a game breaker (and while testing: gives me a higher standard to try and reach through optimization), I probably won't bother doing anything about it for a while.
UPDATE:
Fluids can now save their data to an array in NBT, meaning a little bit more size needed on your hard drive (a few kb per chunk with fluid in it before compression, probably much much less after compression since integer arrays get compressed really well when filled half with zeroes), and also store the flagged updates and so on as well (for consistency and stuff).
Anyway, this means that I can have much more fun with fluid viscosity outside of the 1/8 of a block thing, and am one step closer to an alpha release
Now all that's left is to finish redesigning the "other stuff" thread, making it perform both equalizations and random tick calculations and everything all in one go
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Hmmmmmmmmmmmmmm, I take some of that stuff about cave flooding and pressure back. I just got around to testing in deep oceans with pressure enabled, and I'm not sure about anything anymore. Hmmm. Let me play around with some optimizations... I might be able to reduce the performance cost of the pressure by about half if I do some hacky things... (it's already about 3x faster than the initial implementation lol).
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I can't say I've ever done so... I might make tutorials for Java one day, but... idk. If you need help with anything code related, drop me a PM and I'll see if I can help
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Oh no, I just wanted to watch and occasionally see how it's looking in game. I'm very excited about your work.
On that note, pressure is working much much faster (again) now, and I fixed how the worker threads distribute load over time, so now the mod is smoother than ever, although I accidentally introduced some bugs which like.. make oceans rise infinitely under their own pressure, so... yeah... not good
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
oops. (adding one unit to, instead of subtracting one unit from, a 2 million unit fluid level)
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
It's a regular Forge mod, so in theory it should run on any system that can play Minecraft in the first place...
Also, finished writing new queue objects, so for all those people who know a little bit about Java/computer science, I'm now using a special non-blocking no-duplicates ListStackMapSetThing for updates, which can actually be a little faster because
I'm just that goodit never iterates over an entire 4096 index array that may have as little as one update within it, but more importantly; lets me schedule updates with a little more freedom. Now I just have to rewrite the scheduling system... then the chunk distribution system... man... that'll teach me to do it right the first time lol.I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
After that, aka alpha, it will be time to go play with pipes and pumps and stuff
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I don't know who you are but I am so grateful for all of your work! I loved the finite liquid mod and ever since it was stopped in development I've been very bitter about playing minecraft.
I was given the link to this forum on YouTube and I can not tell you how happy I am to see this being done. I want to offer my full support and wish I knew how to code because I would have done this myself long time ago!
I saw you guys talking about the ocean problem and IIRC, Djoslin solved that problem by having the ocean water stay infinite and finite liquid only being found in ponds and lakes of the sort.
Regardless though, I look forward to this mod and wish you the best! I can't wait to see this mod release and on my system! Hats off!!
Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm,
There are lots of "issues" with finite oceans, and they are a big performance sink, but they are first and foremost: awesome, plus I can still get more than playable performance around them even with pressure enabled (which is now in it's FIFTH rendition lol).
I think I will make a config option for this... yeah... So... I'm thinking that there will be an "infinite" water block which behaves kind of like a cross between a finite water block and a vanilla water block (aka, creates finite water in spaces around it, but never depletes). Then there would be three options;
1. Totally finite fluids
2. Finite fluids with infinite oceans
3. All fluids finite, but bottom blocks of oceans and rivers are infinite.
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
A Rocket Science tester and engineer. Well, at least when it will be released. =)
I'm French so English is not my native language. Please correct me when I make a mistake and don't worry for me, it will be even better. Thanks in advance! =)
Current number of corrected posts/things: 7
Did I type 100? Hmmm, so I did... I'm not even sure if that's
a typo,a maths derp, or a deliberate exaggeration... here's to hoping it was the latterEDIT: Not a typo because I converted it to galleons D:
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I am no programmer though and I can only offer moral support lol. It's your mod good sir, make the best of what you can!