Some of the ideas are good, and some are already on the drawing board/in the mod.
- Cascading down the sides of blocks would look quite nice in some situations, and I plan to rewrite the renderer at some point to be a little friendlier on the client, so I will keep this in mind and see if I can come up with anything that looks okay and doesn't defeat the point of rewriting the renderer (that is, reducing block checks to only consider the 6 adjacent blocks rather than the 18 blocks that it currently tests).
- The direction of flow already moves entities and players, even when below the surface (It's a pretend effect, simply taking the flow direction from the surface, but it looks pretty decent as far as I can tell). This means that whirlpools can pull the player towards the center, but they cannot spin realistically (the calculations are very expensive), so they only pull things in straight lines towards the center.
- Water seeping through blocks is on the drawing board. I'm looking at either giving some blocks a saturation capacity, or just using random walks to try and find paths through permeable blocks. Additionally, high pressure water is able to force its way through thin dirt walls, smash through glass blocks, and so on. Dirt water tanks are not going to be a good idea in this mod, that's for sure.
- Rain does already place water in the world, although this poses the risk of flooding everything really badly if left unchecked, so currently the water can only replenish rivers and oceans that are not 100% full. Snow might melt one day, and while it's something I do want to play with eventually, it's not high priority right now.
- Currently the priority of the mod is to ~change~ default fluids to be more realistic. While gasses could be made to have a function within the game, I feel that they fall into the "adding new stuff" basket, and hence they aren't on the drawing board just yet (though they might make an appearance after I've finished "changing" things).
- Liquid temperature... hmmm, I hadn't even considered that, but it sounds like quite an interesting idea and I might play with it after all the essential things are done (like fluid pressure and implications, seepage, ecological impacts of realistic water, etcetera).
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Good to see what you have planned.
With whirlpools, i was thinking that the player's momentum would carry them past the centre of the "whirlpool", at the same time as them being pulled in, so entities would swirl, but not the water itself. (kind of like how orbits work, except with the added factor of friction slowing you down, so you get pulled inwards more)
Also, with gasses, although it seems to be adding something new to the game, the changes could be looked at in a similar way to the other changes in this mod, because as far as we know, the gasses are "there", there's just no way to interact with them (they don't have to add new gameplay elements, just change the way liquids flow, such as at 0:53 in this video )
Anyway, its always fun to see what organic gameplay can be created from a mod like this, such as your idea of having water preasure break through blocks
EDIT: possibly some of the more gameplay changing elements could be modules that can be toggled in a config
ANOTHER EDIT: with the block breaking thing, perhaps it could also do a check if the block has space behind it, so a thick wall would be better at a depth than a thin one
Good to see what you have planned.
With whirlpools, i was thinking that the player's momentum would carry them past the centre of the "whirlpool", at the same time as them being pulled in, so entities would swirl, but not the water itself. (kind of like how orbits work, except with the added factor of friction slowing you down, so you get pulled inwards more)
Hmm, the only feasible approach that I might be able to implement is flagging entire chunks with a direction vector, and then having all water blocks in that chunk use it to determine the flow vector. I might think about it further down the line, but for now it's a lot of work for something fairly trivial (since are you really going to want your oceans getting drained out the bottom of the world more than once for novelty value?).
Also, with gasses, although it seems to be adding something new to the game, the changes could be looked at in a similar way to the other changes in this mod, because as far as we know, the gasses are "there", there's just no way to interact with them (they don't have to add new gameplay elements, just change the way liquids flow, such as at 0:53 in this video )
Less that it adds more mechanics, and more that it isn't a part of the changes to the existing mechanics. Technically speaking, gasses should be outstandingly simple, just like a fluid that flows upwards but without any need for things like high precision of volume, surface equalization, etcetera; I just want to get conventional liquids working properly first.
ANOTHER EDIT: with the block breaking thing, perhaps it could also do a check if the block has space behind it, so a thick wall would be better at a depth than a thin one
Yes, that's the plan.
Every now and then (i.e random ticks), a block under pressure will look at its neighbors. If it is pushing against a dirt (etc) block, it will have a look at the next block. If that block is air, it will try to push the dirt block out of the way. If under enough pressure, I already plan to make it look through more blocks, so, at the bottom of the ocean it may even be able to push 4-5 blocks of dirt out of the way.
I plan to use a similar approach to glass breaking. The glass breaking algorithm I made yesterday can rend immense damage on a glass wall or window of pretty much any shape or thickness (tested up to about 16x16x3), but the glass breaking itself will only be performed when targeting glass that is sandwiched between air and water (aka enough pressure difference). It isn't hard to expand from this, making it accommodate for material strength, size of window, etc. I just need time to get around to it.
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
i guess minecraft physics are nowhere near good enough for what is essentially "orbital mechanics"
also, do you have any idea for a non-cheaty way to have a sort of spring? i was thinking caves could have a chance to spawn with different water pressure, and if its high enough and connected to the surface by a gap, then the water would reach the surface, but the weight of the water would keep the water in the cave pressurised, meaning you could have a long lasting supply of water. or perhaps more like a real aquifer, the water soaked into the ground could seep out, sometimes with pressure.
Springs are tricky as well. I've been thinking about something like them, the problem is that I can't just have something flow endlessly, and there's no point having something that flows for 5 minutes either.
The biggest issue here with a pressure based approach is that 20 blocks of fluid is always 20 blocks of fluid. If the max liquid value was 100 liters, and a block said it had a stored liquid value of 100'000'000, this means that there are 100L of water under 1 million kPa, not that there are a hundred million liters of water in the block.
The result is: water that cannot flow upwards (without help, aka, higher water providing pressure).
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
hmm, i see what you mean. maybe depending on the amount of the water stored inside a block, the block would force the water out of it. or something like that. the water doesn't have to flow out of the ground, just form a pool on the surface that replenishes itself for a while.
So after all that talk about water pressure, may I introduce: pressurized flow. Still need to work on it as it doesn't work properly in some situations, but whatever, the foundations are now in place
Awesome. How easy is it to add new liquids? if a liquid type can be defined by a set of specific values (eg. viscosity, compressibility), then i think lots of mods will use this system for their own liquids. I think it would be cool to see sand as a type of "liquid". The trick with that would be getting the surface equalization to allow sand to "pile up" rather than get smoothed completely flat.
It shouldn't be that hard to add new fluids... Technically speaking all they need are a viscosity value and something to render them. Ah, you would also need to write the interaction code in a really filthy way to work with the placeholder system I'm currently using for water and lava... but whatever
Anyway; all fluids have viscosity, which is defined as a power of 2, such that a viscosity factor of n cannot create new blocks horizontally with less than max/2^n fluid in them. Note that any amount of fluid can shift between existing fluid blocks.
Blocks do also have a density value, however pressure is stored as something I term "block pressure", that is; as a representation of the number of above blocks pushing down. Density is/will only be used retrospectively to convert this "block pressure" value into effective pressure when a precise effective pressure is needed (aka, we don't need to calculate the effective pressure if we are working within the same body of fluid).
@Sand... hmmm... I think I could make it work... just stop blocks from shifting fluid "internally" (as much)... let me make water work properly first though
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Every now and then (i.e random ticks), a block under pressure will look at its neighbors. If it is pushing against a dirt (etc) block, it will have a look at the next block. If that block is air, it will try to push the dirt block out of the way. If under enough pressure, I already plan to make it look through more blocks, so, at the bottom of the ocean it may even be able to push 4-5 blocks of dirt out of the way.
Pushing blocks? As in similar to how a piston pushes blocks?
*Mind instantly goes on to consider the applications of redstone contraptions using hydraulics*
Pushing blocks? As in similar to how a piston pushes blocks?
*Mind instantly goes on to consider the applications of redstone contraptions using hydraulics*
Oh man... oh... wow... hydraulics.... man that is just... such a freaking amazing idea. Aaargh, stupid Uni all week. Dammit, I wanna start working on it nooooow! *throws tantrum*
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Alrighty, I finally got pressurized flow working properly. The only catch is that the system cannot equalize less than half a block's difference in pressure (because otherwise it can sometimes get stuck in this loop of endlessly trying to level things out). But whatever.
Oh, and I also added an internal flow threshold, which limits the ability of two blocks of fluid to equalize fluid between themselves. I haven't really tested it yet, but it should in future allow things like pseudo-fluids (such as sand, gravel, etc) to act like fluids while also being able to heap up and not go anywhere. That's not to say that I will definitely do liquid sand, just that the fluid algorithm will now allow such mechanics.
That said, why use fluids when you can get away with a much simpler algorithm... for sand I am thinking... sand would have a half slab. If a full block of sand was below a block or half block of sand, and had an air space to the sides, it would split into two blocks and spit half a block into the space. This prevents sand from stacking endlessly high, while also allowing it to flow to a certain degree, and more importantly: being a much more maintainable and efficient mechanic than using full fluid simulations.
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Okay, time for your daily shipment of random ideas.
First of all, in order for blocks to be permeable, a background fluid simulation could be run that is not blocked by blocks. Then the blocks would have several values, such as permeability, volume dependant on pressure, breaking pressure and, moving pressure and maybe moving friction. Then the fluid would be simulated though it and then restricted based on these values. This means that rather than blocks having a capacity, instead they would just slow the water flowing through them, meaning that you wouldn't have to have data to save on every single block's contents.
Then, assuming that you get some sort of system by which blocks have water in them, I would love to see at least a config option that requires a certain amount of water in them for crops to grow. this would stop everyone from just setting up a crop that looks after themselves and instead take the route of a farmer, keeping there fields irrigated and picking the best spots to grow. This would work nicely with the Weather 2 mod which has localised weather not just depending on biomes, but the biomes near them. Although from what Iv'e heard, the weather 2 mod uses a completely different system for rain particles, so it would require a bit of work to get it to create water on the ground.
I'm not telling you that you have to seriously consider any of my ideas, but you may be able to find some sort of inspiration in them so enjoy.
First of all, in order for blocks to be permeable, a background fluid simulation could be run that is not blocked by blocks. Then the blocks would have several values, such as permeability, volume dependant on pressure, breaking pressure and, moving pressure and maybe moving friction. Then the fluid would be simulated though it and then restricted based on these values. This means that rather than blocks having a capacity, instead they would just slow the water flowing through them, meaning that you wouldn't have to have data to save on every single block's contents.
I've considered this quite hard, but I've decided against having an entirely independent fluid data grid for reliability and performance concerns (there is some more discussion about this idea here, albeit the main post has changed somewhat since I joined the discussion). These sorts of things raise whole host of issues, and even with my current implementation I'm thinking it might be better to core mod how the block storage works entirely at some point further down the road (since I'm enforcing the validity of my data with strict coding practices rather than a robust data structure, which is definitely not ideal).
Anyway, I do really like the idea of having fluid flow through blocks, and I'm currently thinking more... well...
Consider a dirt block. Currently, this occupies I believe, metadata 0 for regular dirt, 1 for grassless dirt. I'm thinking of using the spare metadata to loosely estimate the fluid in the block, so a dirt block with meta 0 is empty, with meta = 1 means 1/4 full, 1/2 = 2/4 full, etc. On receiving a random tick, a dirt block will try to absorb fluid above, and push fluid into neighboring blocks. HOWEVER, to push fluid, a dirt block would require at least 2 more fluid than the target block, meaning that the first block might have 4 fluid, the second will have 3, etcetera, until the last block which has 1 fluid.
In practice, it means that a block would be able to seep water up to N blocks from a water source, the only limitation is that N has to be fairly small/some blocks will not be able to seep for technical reasons (for example, I think dirt and grassless dirt both use a metadata value in the dirt block ID, meaning that it isn't possible to have them seep more than 8 blocks from a water source. For wool, which uses all 16 metadata values, I cannot use this approach at all).
This mod is looking pretty damn awesome. Sub'd! Also, when the beta is released, which version will it be for?
It will start for 1.7.10, maybe I will make a rollback version for earlier 1.7 versions if there is strong demand and 1.8 doesn't come out soon. There will not be a 1.6.4 version since I would basically have to write half the mod again from scratch
In different news, I've now finished implementing a fluid density system, although it doesn't do anything yet lol.
Oh, and did I mention that I got pressure mostly working without any serious bugs? I think I did, but here's a screenshot anyway http://puu.sh/aYOUi/75b8a7fe45.jpg (yes, U shaped tanks work too, this just looks better).
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
well, i guess there aren't to many blocks that really need to have this seepage mechanic, maybe 20 or 30. Anyway, wouldn't it be easier to use nbt data for the amount of stored liquid? that would also allow metadata changes such as dirt turning into grass, and wouldn't need to fit in with say 50 different types of leaves in a modpack.
Also fluid density could go hand in hand with fluid temperature.
As far as blocks that ~need~ the mechanic, it's probably just dirt, grasses, farmland, and maybe sand/gravel. While it would be nice if other blocks allowed fluid to pass through them, it probably isn't the end of the world if this cannot happen.
I do like where you are coming from though... I mean, it's not like it would be that different from metadata, just... well... the problem is that if the block is changed, the seepage content should be reset. If we store the value in an array (and keep the array held in NBT), we cannot ensure that this will happen (think... "you place a dirt block to build a house and then a block worth of water falls out the bottom" sort of stuff, the biggest issue being that it is very easy to change block data directly in the block storage arrays without notifying any other system).
That said, I can easily fit it into the NBT array without markedly increasing file size, and I'm already looking into efficient data storage (I might even in future make something resembling a database structure for efficient getting and setting of chunk data)... who knows. I'll keep it on the drawing board, but won't make any guarantees until I've looked into a few things.
Rollback Post to RevisionRollBack
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I am curious how you will handle caves/ravines at the bottom of oceans.
Naturally occurring holes in the ocean floor/islands do exist. I find them regularly. If you have finite water, and flowing into caves from the ocean, and you can flow more than 7 blocks, and fill in depressions to flow over hills, then you will drain oceans and fill in caves as a common, natural occurrence.
Is this intended? How are you going to handle this? Or is this behavior exactly what you expect and want?
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
- Cascading down the sides of blocks would look quite nice in some situations, and I plan to rewrite the renderer at some point to be a little friendlier on the client, so I will keep this in mind and see if I can come up with anything that looks okay and doesn't defeat the point of rewriting the renderer (that is, reducing block checks to only consider the 6 adjacent blocks rather than the 18 blocks that it currently tests).
- The direction of flow already moves entities and players, even when below the surface (It's a pretend effect, simply taking the flow direction from the surface, but it looks pretty decent as far as I can tell). This means that whirlpools can pull the player towards the center, but they cannot spin realistically (the calculations are very expensive), so they only pull things in straight lines towards the center.
- Water seeping through blocks is on the drawing board. I'm looking at either giving some blocks a saturation capacity, or just using random walks to try and find paths through permeable blocks. Additionally, high pressure water is able to force its way through thin dirt walls, smash through glass blocks, and so on. Dirt water tanks are not going to be a good idea in this mod, that's for sure.
- Rain does already place water in the world, although this poses the risk of flooding everything really badly if left unchecked, so currently the water can only replenish rivers and oceans that are not 100% full. Snow might melt one day, and while it's something I do want to play with eventually, it's not high priority right now.
- Currently the priority of the mod is to ~change~ default fluids to be more realistic. While gasses could be made to have a function within the game, I feel that they fall into the "adding new stuff" basket, and hence they aren't on the drawing board just yet (though they might make an appearance after I've finished "changing" things).
- Liquid temperature... hmmm, I hadn't even considered that, but it sounds like quite an interesting idea and I might play with it after all the essential things are done (like fluid pressure and implications, seepage, ecological impacts of realistic water, etcetera).
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
With whirlpools, i was thinking that the player's momentum would carry them past the centre of the "whirlpool", at the same time as them being pulled in, so entities would swirl, but not the water itself. (kind of like how orbits work, except with the added factor of friction slowing you down, so you get pulled inwards more)
Also, with gasses, although it seems to be adding something new to the game, the changes could be looked at in a similar way to the other changes in this mod, because as far as we know, the gasses are "there", there's just no way to interact with them (they don't have to add new gameplay elements, just change the way liquids flow, such as at 0:53 in this video )
Anyway, its always fun to see what organic gameplay can be created from a mod like this, such as your idea of having water preasure break through blocks
EDIT: possibly some of the more gameplay changing elements could be modules that can be toggled in a config
ANOTHER EDIT: with the block breaking thing, perhaps it could also do a check if the block has space behind it, so a thick wall would be better at a depth than a thin one
Hmm, the only feasible approach that I might be able to implement is flagging entire chunks with a direction vector, and then having all water blocks in that chunk use it to determine the flow vector. I might think about it further down the line, but for now it's a lot of work for something fairly trivial (since are you really going to want your oceans getting drained out the bottom of the world more than once for novelty value?).
Less that it adds more mechanics, and more that it isn't a part of the changes to the existing mechanics. Technically speaking, gasses should be outstandingly simple, just like a fluid that flows upwards but without any need for things like high precision of volume, surface equalization, etcetera; I just want to get conventional liquids working properly first.
Yes, that's the plan.
Every now and then (i.e random ticks), a block under pressure will look at its neighbors. If it is pushing against a dirt (etc) block, it will have a look at the next block. If that block is air, it will try to push the dirt block out of the way. If under enough pressure, I already plan to make it look through more blocks, so, at the bottom of the ocean it may even be able to push 4-5 blocks of dirt out of the way.
I plan to use a similar approach to glass breaking. The glass breaking algorithm I made yesterday can rend immense damage on a glass wall or window of pretty much any shape or thickness (tested up to about 16x16x3), but the glass breaking itself will only be performed when targeting glass that is sandwiched between air and water (aka enough pressure difference). It isn't hard to expand from this, making it accommodate for material strength, size of window, etc. I just need time to get around to it.
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
also, do you have any idea for a non-cheaty way to have a sort of spring? i was thinking caves could have a chance to spawn with different water pressure, and if its high enough and connected to the surface by a gap, then the water would reach the surface, but the weight of the water would keep the water in the cave pressurised, meaning you could have a long lasting supply of water. or perhaps more like a real aquifer, the water soaked into the ground could seep out, sometimes with pressure.
anyway, just some more thoughts
The biggest issue here with a pressure based approach is that 20 blocks of fluid is always 20 blocks of fluid. If the max liquid value was 100 liters, and a block said it had a stored liquid value of 100'000'000, this means that there are 100L of water under 1 million kPa, not that there are a hundred million liters of water in the block.
The result is: water that cannot flow upwards (without help, aka, higher water providing pressure).
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
http://puu.sh/aXoVs/8eaff585ad.jpg
http://puu.sh/aXoXQ/2b3e98d4c9.jpg
http://puu.sh/aXoZ5/44ffa559a2.jpg
@Replenishing pools might be possible, hmmm... I think it will still need some special block to force higher water pressure around it though :'(
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Anyway; all fluids have viscosity, which is defined as a power of 2, such that a viscosity factor of n cannot create new blocks horizontally with less than max/2^n fluid in them. Note that any amount of fluid can shift between existing fluid blocks.
Blocks do also have a density value, however pressure is stored as something I term "block pressure", that is; as a representation of the number of above blocks pushing down. Density is/will only be used retrospectively to convert this "block pressure" value into effective pressure when a precise effective pressure is needed (aka, we don't need to calculate the effective pressure if we are working within the same body of fluid).
@Sand... hmmm... I think I could make it work... just stop blocks from shifting fluid "internally" (as much)... let me make water work properly first though
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Pushing blocks? As in similar to how a piston pushes blocks?
*Mind instantly goes on to consider the applications of redstone contraptions using hydraulics*
Oh man... oh... wow... hydraulics.... man that is just... such a freaking amazing idea. Aaargh, stupid Uni all week. Dammit, I wanna start working on it nooooow! *throws tantrum*
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Oh, and I also added an internal flow threshold, which limits the ability of two blocks of fluid to equalize fluid between themselves. I haven't really tested it yet, but it should in future allow things like pseudo-fluids (such as sand, gravel, etc) to act like fluids while also being able to heap up and not go anywhere. That's not to say that I will definitely do liquid sand, just that the fluid algorithm will now allow such mechanics.
That said, why use fluids when you can get away with a much simpler algorithm... for sand I am thinking... sand would have a half slab. If a full block of sand was below a block or half block of sand, and had an air space to the sides, it would split into two blocks and spit half a block into the space. This prevents sand from stacking endlessly high, while also allowing it to flow to a certain degree, and more importantly: being a much more maintainable and efficient mechanic than using full fluid simulations.
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
First of all, in order for blocks to be permeable, a background fluid simulation could be run that is not blocked by blocks. Then the blocks would have several values, such as permeability, volume dependant on pressure, breaking pressure and, moving pressure and maybe moving friction. Then the fluid would be simulated though it and then restricted based on these values. This means that rather than blocks having a capacity, instead they would just slow the water flowing through them, meaning that you wouldn't have to have data to save on every single block's contents.
Then, assuming that you get some sort of system by which blocks have water in them, I would love to see at least a config option that requires a certain amount of water in them for crops to grow. this would stop everyone from just setting up a crop that looks after themselves and instead take the route of a farmer, keeping there fields irrigated and picking the best spots to grow. This would work nicely with the Weather 2 mod which has localised weather not just depending on biomes, but the biomes near them. Although from what Iv'e heard, the weather 2 mod uses a completely different system for rain particles, so it would require a bit of work to get it to create water on the ground.
I'm not telling you that you have to seriously consider any of my ideas, but you may be able to find some sort of inspiration in them so enjoy.
I've considered this quite hard, but I've decided against having an entirely independent fluid data grid for reliability and performance concerns (there is some more discussion about this idea here, albeit the main post has changed somewhat since I joined the discussion). These sorts of things raise whole host of issues, and even with my current implementation I'm thinking it might be better to core mod how the block storage works entirely at some point further down the road (since I'm enforcing the validity of my data with strict coding practices rather than a robust data structure, which is definitely not ideal).
Anyway, I do really like the idea of having fluid flow through blocks, and I'm currently thinking more... well...
Consider a dirt block. Currently, this occupies I believe, metadata 0 for regular dirt, 1 for grassless dirt. I'm thinking of using the spare metadata to loosely estimate the fluid in the block, so a dirt block with meta 0 is empty, with meta = 1 means 1/4 full, 1/2 = 2/4 full, etc. On receiving a random tick, a dirt block will try to absorb fluid above, and push fluid into neighboring blocks. HOWEVER, to push fluid, a dirt block would require at least 2 more fluid than the target block, meaning that the first block might have 4 fluid, the second will have 3, etcetera, until the last block which has 1 fluid.
In practice, it means that a block would be able to seep water up to N blocks from a water source, the only limitation is that N has to be fairly small/some blocks will not be able to seep for technical reasons (for example, I think dirt and grassless dirt both use a metadata value in the dirt block ID, meaning that it isn't possible to have them seep more than 8 blocks from a water source. For wool, which uses all 16 metadata values, I cannot use this approach at all).
It will start for 1.7.10, maybe I will make a rollback version for earlier 1.7 versions if there is strong demand and 1.8 doesn't come out soon. There will not be a 1.6.4 version since I would basically have to write half the mod again from scratch
In different news, I've now finished implementing a fluid density system, although it doesn't do anything yet lol.
Oh, and did I mention that I got pressure mostly working without any serious bugs? I think I did, but here's a screenshot anyway http://puu.sh/aYOUi/75b8a7fe45.jpg (yes, U shaped tanks work too, this just looks better).
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Also fluid density could go hand in hand with fluid temperature.
I do like where you are coming from though... I mean, it's not like it would be that different from metadata, just... well... the problem is that if the block is changed, the seepage content should be reset. If we store the value in an array (and keep the array held in NBT), we cannot ensure that this will happen (think... "you place a dirt block to build a house and then a block worth of water falls out the bottom" sort of stuff, the biggest issue being that it is very easy to change block data directly in the block storage arrays without notifying any other system).
That said, I can easily fit it into the NBT array without markedly increasing file size, and I'm already looking into efficient data storage (I might even in future make something resembling a database structure for efficient getting and setting of chunk data)... who knows. I'll keep it on the drawing board, but won't make any guarantees until I've looked into a few things.
I believe in the Invisible Pink Unicorn, bless her Invisible Pinkness.
Naturally occurring holes in the ocean floor/islands do exist. I find them regularly. If you have finite water, and flowing into caves from the ocean, and you can flow more than 7 blocks, and fill in depressions to flow over hills, then you will drain oceans and fill in caves as a common, natural occurrence.
Is this intended? How are you going to handle this? Or is this behavior exactly what you expect and want?
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?