This is great but ive got a problem, when filling up a ditch with ocean water, if i go underwater it seems that there are thin layers of air in between the water, so i dont hold my breath because my oxygen refills every time i go up or down a layer, anyone know why this is happening?????
I've finally gotten back to work in a serious manner. Here's the new changelog:
. The ocean now produces more ocean blocks downward.
. Larger bodies of water can become finite after being disconnecting from the ocean. (This number can be adjusted in the property file)
. Water no longer breaks doors, ladders, mob spawners, stairs, leaves, etc.
. Added 5 values to the property file that you can set to blockIDs you don't want to finiteliquid to break.
. Stopped 'air pockets' in between water from forming.
. Tuned the water flow to be much faster, more realistic.
. Fixed a bug that prevented water from keeping it's actual volume.
. Fixed a bug that would make the bucket 'pick up' an iron block.
. Prevented still water from making water noises.
. Fixed iron blocks glitching out in SMP (this is a SSP only mod).
. Stopped water from being destroyed by explosions.
. Prevented water from checking if it's ocean after explosions.
. Optimized pump / pipe code to perform much faster.
. Fixed a bug that made the water not draw if there was a block above it.
. Increased the length limit for pipes / pumps considerably ( adjustable in prop file)
. Smoothed the grab code, waterfall-like effects are more likely to happen ( instead of small drops )
. Made the ocean check only look upwards. ( this allows the draining of caves that were flooded with ocean water )
I've been fixing bugs like a madman tonight. I just flooded a pretty large lakebed area with a decent sized cave underneath. Before I would've had to split up the lake in to pieces and seal off the cave. Then slowly drain each section. The cave would've been lost.
Now I can drain the entire thing without problems (aside from lag because of the huge amount of liquid involved).
I've written in some clever ways to do the ocean-to-lake check that fix a lot of the problems you guys were coming across.
There is a changable variable in the property file in case you want to increase / decrease the ocean check amount.
Also I made some progress on the Spider Queen mod:
Something that You should also change is that this water destroy doors, and spiderwebs, it is bugging me cause i am making a sub and if i break somethin, it doesnt end well, so make doors resistable to this water Atleast but if possible also make spiderwebs resistable to this water, other than that awsome mod!
The next version will have an option in the property file to add blockIDs that won't get destroyed by water.
Would it be possible to add a subtle engine/pump motor sound effect to the pumps? And maybe add a armor item like a scuba helmet that lets you breathe underwater.
That would be nice. I'll look into the sound mods eventually. And I'd like to breath underwater as well.
djoslin I like your mod however the fact that if I flood a cave with watter from the ocean and I can't drain it
due to the fact that all the water blocks in the cave became infinite, is a deal breaker.
Could you possibly script it so that infinite blocks can only be created when the would generates and can't spawn any other way?
If you read above, you'll see I fixed that :]
(for the most part)
As far I can tell, the answer is no. I remember djoslin posting about a bugfix that was going to dramatically increase the potential size of "finite" bodies of water - maybe once that is released it will be easier for you to pump out the cave. Even so, you will probably always have to partition large cave systems to some degree before pumping them out. I could be wrong - caves may be a special case - but I wouldn't hold your breath.
@djoslin - sorry for the technical question, but can I ask your reasons are for overriding ChunkProviderGenerate and MapGenCaves rather than using ModLoader's GenerateSurface() hook? I'm interested because I'm looking to modify my own copy of FiniteLiquid to work with the Pheonix Terrain Mod.
Yep! Already fixed for v3.
And uhh, well. I didn't know about that to be honest. I should look into it. Would I still be able to cancel out the original water?
And I'd still have to remove the source blocks from waterfalls / lavafalls / oceans..
This is great but ive got a problem, when filling up a ditch with ocean water, if i go underwater it seems that there are thin layers of air in between the water, so i dont hold my breath because my oxygen refills every time i go up or down a layer, anyone know why this is happening?????
Thank you so much for allowing the draining of caves, I just about went nuts when one of the brand new caves I was exploring got flooded due to a near fatal misstep from me and was lost.
been waiting patiently for V3 because you mentioned a major lag fix for it, but you wouldnt happen to have a rough ETA on the release of the mext version by chance? wanna build a very evil spawner trap, i would so you on minedraft if you like.
And uhh, well. I didn't know about that to be honest. I should look into it. Would I still be able to cancel out the original water?
And I'd still have to remove the source blocks from waterfalls / lavafalls / oceans..
It's a BaseMod method that gets called once per chunk, just after they are first populated. It's not perfect, but I got it working pretty well on my client (basically replacing all vanilla water blocks with nwater_ocean or nwater_still blocks, depending on elevation). I don't know what your plans are for water/lavafalls, but it can't hurt to look into it. I can PM or post my code, for whatever small help that might offer.
Also, could you possibly write a C++ plugin for Mineserver? It would be pretty sweet to be able to use that and have Finite Liquid working on there as well.
Hey! Will this mod create lag? Cause, it like alters water, and water is like 70%..73%? of the minecraft world! (WELL... maybe not) Cause I have like...30? 35? mods right now, and it already causes a DECENT amount of lag. :ohmy.gif: So... yea...
-EDIT- WOW, great mod! But, it doesnt change the water physics in my old world, only in new worlds... :ohmy.gif: Is it only my saves that are doing that?
Bug Discovered: Water destroys doors, and also make them drop double (Drops two doors instead of one).
Some times there will be bubbles of air in ocean, but when you place a block on it dissapears.
I think, some lakes of normal water would be cool, that way your able to make cobblestone machines, etc etc... But they are able to move trough pipes too.
Ways to flood a entire area:
Slow but no inventory editor needed: Place water in top of Diamonds block.
Fast but needing a inventory editor (Recommend TooManyItems): Use the inventory editor for get ´´New Water (Ocean)``, and place two of them, one next to each other, they will flood all! so i recomment making a wall or you will find your entire world flooded.
That's a nice mod, but can you still make obsidian? (to lazy to try)
Also: I noticed that the new lava doesn't destroy items, it just makes them bounce around.
Yes it can, it will be adjusted in the future. And thanks for reminding me about that bug.
Thank you so much for allowing the draining of caves, I just about went nuts when one of the brand new caves I was exploring got flooded due to a near fatal misstep from me and was lost.
I just posted a new video demonstrating it. It wasn't a matter of me allowing it, it was a matter of making it work in a way that made sense. It will lag a lot when you deal with a lot of water, but I'm hoping that's expected by now.
nice idea,nice mod but one thing is really missing! :smile.gif: a WATTER DEDECTOR/SESNOR block!:smile.gif: (example : for automatic tank filling - on/off)
been waiting patiently for V3 because you mentioned a major lag fix for it, but you wouldnt happen to have a rough ETA on the release of the mext version by chance? wanna build a very evil spawner trap, i would so you on minedraft if you like.
Probably shortly after the next version of minecraft is released, mcp updates, and modloader updates. So ask them. I don't want to release it for 1.5 anymore because it will soon be outdated.
It's a BaseMod method that gets called once per chunk, just after they are first populated. It's not perfect, but I got it working pretty well on my client (basically replacing all vanilla water blocks with nwater_ocean or nwater_still blocks, depending on elevation). I don't know what your plans are for water/lavafalls, but it can't hurt to look into it. I can PM or post my code, for whatever small help that might offer.
Ahh, I'll look into it. I plan on doing more extensive changes so I don't know if it could do everything I need it to. It might be able to though.
Also, could you possibly write a C++ plugin for Mineserver? It would be pretty sweet to be able to use that and have Finite Liquid working on there as well.
can we aspect oil? in the next version
and where can you find them underground in de desert?
I wanted to get it in v3, but I'd rather release it than have everything I wanted. So maybe v4 (or maybe even v3 depending on when MCP / Modloader updates to 1.6)
Hey! Will this mod create lag? Cause, it like alters water, and water is like 70%..73%? of the minecraft world! (WELL... maybe not) Cause I have like...30? 35? mods right now, and it already causes a DECENT amount of lag. :ohmy.gif: So... yea...
If you're worried about lag, it will probably lag. Water physics have intensive calculations.
Probably shortly after the next version of minecraft is released, mcp updates, and modloader updates. So ask them. I don't want to release it for 1.5 anymore because it will soon be outdated.
ok, thats cool. wonder how much this mod would conflict with Millenaire
It might be possible to multi-thread the plugin the use multiple cores, or even utilize OpenCL or CUDA for the computations. And at the moment I'm not using Mineserver SMP, I'm just using it as a localhost as it performs better than using the built-in single-player mode, at least it does for me
It might be possible to multi-thread the plugin the use multiple cores, or even utilize OpenCL or CUDA for the computations. And at the moment I'm not using Mineserver SMP, I'm just using it as a localhost as it performs better than using the built-in single-player mode, at least it does for me
Well I mean I would think that the server would have to send updates to the client whenever the liquid changes. Bodies of water can be hundreds of blocks. The ripples make those blocks change metadata constantly. Unless it could be simulated by the client in the same way the server does it, it could be possible. I would have to remove all of the randomness that was coded in. Also I really don't like C++, and haven't coded anything for SMP yet. I may attempt it in the future.
some one has made a cement mod you could check that its the "Better Than Wolves" mod you could check it out to help make your own version.
The code he used wouldn't help. Cement has been planned since day 1 :wink.gif:
If you look at my earlier videos of Finite Liquid it looks like cement. I wasn't planning on making water at first.
I know that this method is not ideal for everyone (it involves manipulating the environment with mods, aka not "natural"), but I think it's a good temporary solution for draining large oceans/pools/caves without destroying them in the process. I've quoted my original post below for anyone interested (it's a bit lengthy, skip to the TL:DR at the bottom if you'd like)
I've seen a lot of people -- including myself, initially -- having issues with replacing infinite ocean water once it has flooded an area. Also, I know I had issues trying to simply drain large areas of ocean water for various reasons. I have a tip that should help most people out, though it requires that you have the Single Player Commands mod installed. If you're still interested, continue reading.
I found that Single Player Commands (SPC) wasn't recognizing the new water and lava blocks (both finite and infinite), so placing them within the word became difficult using just this mod. It also made the /set, /paste, and /replace commands useless. For example, "/set [ocean_block_id]" or "/replace [ocean_block_id] air" don't work. The mod can, however, cut ocean blocks out of the world using "/cut" and/or replace ocean blocks with other blocks using the "/set" command.
What this all means is that using SPC you can't directly use any of the commands to drain an area and also maintain the natural shape of the cave/landscape as well. This sucks, but I found a way around it. I recommend saving your game and backing everything up before continuing, just in case.
First, use the commands "//hpos1" and "//hpos2" to select the entire area you want to drain of infinite water. You don't have to go all the way to the bottom of, say, your cave or ocean, just put the two points on the surface/on the same plane. You'll see why next.
Second, use the command "//expand 100 down"; this will expand the entire section down to the bedrock and engulf the entire ocean/cave you want to drain.
Third, use the command "//set brick"; yes, this will make every single block in this selection turn to brick. This seems crazy, but will make sense in a second. NOTE: I chose brick because it doesn't naturally occur in the world. If you have structures within the selection that are made out of brick, use another block type that doesn't occur naturally and doesn't exist within your structure.
Next, use the command "/undo"; this does exactly what you think it does, so why even set the entire area to brick in the first place? When you "undo," SPC goes through and basically sets everything back to the block type if was before, but when it comes across the infinite water block, it doesn't know what to do with it so it just leaves it alone. What this means is that while everything else goes back to how it was, the infinite water blocks remain as brick. This leads us to our final step:
Finally, use the command "//replace brick air"; this will take all the brick, which was once infinite water, and turn it into air. Congrats! You've now successfully drained the area of infinite water and maintained the structural integrity of the environment.
Some quick notes; after doing this, sand and gravel that was once suspended will now fall. This may open up areas that contain more infinite water and the entire area will reflood. You may have to expand the selected area and start again. Also, if you're using these commands to drain large areas, I recommend using a macro to do it:
//expand 100 down
//set brick
//undo
//replace brick air
Just save this as a .txt file in minecraft > mods > sppcommands > macros and bind "/macro [macroname]" to a key.
TL;DR
1. select the area you want to drain
2. //set brick
3. //undo
4. //replace brick air
Mine does this too, I can't drown in these areas.
I've been fixing bugs like a madman tonight. I just flooded a pretty large lakebed area with a decent sized cave underneath. Before I would've had to split up the lake in to pieces and seal off the cave. Then slowly drain each section. The cave would've been lost.
Now I can drain the entire thing without problems (aside from lag because of the huge amount of liquid involved).
I've written in some clever ways to do the ocean-to-lake check that fix a lot of the problems you guys were coming across.
There is a changable variable in the property file in case you want to increase / decrease the ocean check amount.
Also I made some progress on the Spider Queen mod:
---------------------
The next version will have an option in the property file to add blockIDs that won't get destroyed by water.
That would be nice. I'll look into the sound mods eventually. And I'd like to breath underwater as well.
Already started for v3. More will be done for v4.
If you read above, you'll see I fixed that :]
(for the most part)
Yep! Already fixed for v3.
And uhh, well. I didn't know about that to be honest. I should look into it. Would I still be able to cancel out the original water?
And I'd still have to remove the source blocks from waterfalls / lavafalls / oceans..
Fixed for v3!
XD Someones dumbass didn't back up their original files before throwing themselves randomly into a new mod? MADNESS!
It's a BaseMod method that gets called once per chunk, just after they are first populated. It's not perfect, but I got it working pretty well on my client (basically replacing all vanilla water blocks with nwater_ocean or nwater_still blocks, depending on elevation). I don't know what your plans are for water/lavafalls, but it can't hurt to look into it. I can PM or post my code, for whatever small help that might offer.
-EDIT- WOW, great mod! But, it doesnt change the water physics in my old world, only in new worlds... :ohmy.gif: Is it only my saves that are doing that?
* unless you want to make an alantis
-----------------
Fixed in v3.
You've figured them all out. :]
Yes it can, it will be adjusted in the future. And thanks for reminding me about that bug.
I just posted a new video demonstrating it. It wasn't a matter of me allowing it, it was a matter of making it work in a way that made sense. It will lag a lot when you deal with a lot of water, but I'm hoping that's expected by now.
I'm planning on having that in v3 :wink.gif:
Probably shortly after the next version of minecraft is released, mcp updates, and modloader updates. So ask them. I don't want to release it for 1.5 anymore because it will soon be outdated.
Ahh, I'll look into it. I plan on doing more extensive changes so I don't know if it could do everything I need it to. It might be able to though.
FiniteLiquid would crush your server with lag.
I wanted to get it in v3, but I'd rather release it than have everything I wanted. So maybe v4 (or maybe even v3 depending on when MCP / Modloader updates to 1.6)
After 1.6 is released and MCP / Modloader update.
If you're worried about lag, it will probably lag. Water physics have intensive calculations.
Truth.
That's true, I might look into it in the future.
ok, thats cool. wonder how much this mod would conflict with Millenaire
It might be possible to multi-thread the plugin the use multiple cores, or even utilize OpenCL or CUDA for the computations. And at the moment I'm not using Mineserver SMP, I'm just using it as a localhost as it performs better than using the built-in single-player mode, at least it does for me
I've heard that it works fine other than villagers creating villages in the water. Haha
Well I mean I would think that the server would have to send updates to the client whenever the liquid changes. Bodies of water can be hundreds of blocks. The ripples make those blocks change metadata constantly. Unless it could be simulated by the client in the same way the server does it, it could be possible. I would have to remove all of the randomness that was coded in. Also I really don't like C++, and haven't coded anything for SMP yet. I may attempt it in the future.
The code he used wouldn't help. Cement has been planned since day 1 :wink.gif:
If you look at my earlier videos of Finite Liquid it looks like cement. I wasn't planning on making water at first.