RealFluids

Discussion in 'WIP and Development Status' started by mindless728, Feb 22, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    smickles

    Cool, I look forward to it.
     
  2. Offline

    Malific

    I would like to make a request for this addon, not sure if it's do able or not.

    The original way that water and lava flow allows for "infinite" source. Such as on my server we have a skull fortress where lava flow out of the eyes in a lava moat with retractable draw bridge, We all love this plugin.. but we want to keep our eye lava flow.

    Can you add a way to designate specific blocks as 'infinite' or 'default' flow to allow this. OR simple allow us to toggle it off for lava across the server while still having it for water?
     
  3. Offline

    mindless728

    I could add this functionality, but i have this feeling it will slow down the code quite a bit in certain areas that i don't want to happen, though maybe i will look into it after i have a working version (ie release)
     
  4. Offline

    Vlyn91

    Nah wait! What about: Lava source on top (in the eyes) and it falls down... and at the bottom a black wool block (when you add it) that soaks up the lava?

    Problem solved, endless lava stream without infinite lava overflow.
     
  5. Offline

    smickles

    Do you have any plans to simulate rainwater pooling?
     
  6. Offline

    mindless728

    i have thought about this, though i would have to limit it areas near players and have to still come up with a good algorithm to simulate it well
     
  7. Offline

    Vlyn91

    And to not flood the world / make every lava pool obisidan / make a mess out of everything :D

    I thought about that too (maybe spawning waterblocks in the sky when it rains...), but there are 2 sides:
    a) It's awesome, we get more water and the whole world looks a little bit more dynamic.
    b) It's stupid, the world gets flooded, things washed away (like torches) and so on.

    For player cities it's really okay, you can just build a sewer and fluid pumps to get the water away (I already made some security pump systems with large rooms for storing the water), but we'd need the saving of fluid pumps at restarts for that!

    For the "nature" it's okay with some little problems. For example: I configurated the wateroverflow like the "normal" water (Flowers, Torches, Redstone, ....). Rainwater would flood away those things all over the world, leaving it a little bit "blank".

    Difficult topic! But I think nobody rages when you just add the feature and then let the server owners decide with the config file if it's on or off :)

    But saving fluid pumps + black wool sucking up water is high priority for me at the moment. The fluid pumps don't make any fun if they aren't saved. And the liquids are too dangerous/annoying if you can just produce more and more, but can't get rid of it :D

    Just my 2 cents
     
    smickles likes this.
  8. Offline

    mindless728

    i think i might test out having water blocks dome down from the sky and see how many i can do before it starts lagging like crazy, probably only use partial amounts of fluids to lessen the amount that it floods when it hits ground

    but yeah i need to save the fluid pumps between resets, the black wool isn't super important as sponges do work if you are an admin (in order to get them) and i will be adding them to fluid pumps, as a side note i might start checking to see if people are OP when they place red or blue so only admins can use them to flood areas
     
    smickles likes this.
  9. Offline

    smickles

    I don't think you'd have to worry about the world flooding if water bodies of a sufficient size (oceans) could absorb an infinite amoutnt of water without rising. This would also serve to simulate the ocean water evaporation which causes rain in the first place ;)

    As for the washing away of stuffs, I assume you mean in caves mostly. This could be avoided by building simple structures at cave entrances which you want to protect. Outside of caves anything that would be washed away would be in a river basin / flood plane. Things there should be washed away. I don't really see an issue here, but I may not be 'catching your drift'

    I kinda like the idea that /some/ caves would naturally fill with water and in order to explore them I would have to pump them dry.

    I whole heartedly agree with you about letting such things be default off, turn on in the config. Also, sewer systems in cities never sounded cooler than they did after I read your post.
     
  10. Offline

    mindless728

    the collecting rain water wouldn't need a config option as i would be making it a separate plugin entirely so to turn it off you just delete it from the plugins directory

    EDIT: the way i coded the RealFluids plugin is that other plugins can create fluid flows and can catch and cancel some of the events so if a protection plugin doesn't want flows entering certain areas, they could do that, it is highly modular in terms of features that can be added as i wanted FluidPumps to be easily removable in case people didn't want it. This all stems for my hate of feature creep in a single plugin, my prime example i use is McMMO, why does a stat plugin make gravel turn into clay when pouring water over it
     
    smickles likes this.
  11. Offline

    smickles

    Good point about feature creep. You seem like a pretty good dev ;)
     
  12. Offline

    Vlyn91

    With "washing away" i mean for example:
    I configured water to wash away flowers. That's basically fine and no problem. (I wash away everything that isn't a "whole block", except halfsteps and something like this) Okay, now rain is falling down, one drop falls on the earth and the realfluids system spread is for about 5x5 blocks. This short "wave" will wash away flowers, mushrooms, torches on the ground, ...? In the end the whole wilderness will be without those items, except I deactivate them to get washed away. Do you get it now? :)

    Btw. I've already built a sewer for a player city, it looks awesome and the players like it, I also made fluid pumps for the whole system, but then I saw: Argh.. not working after server restart :( I'm so looking forward for saving pumps! :D

    Hmmm... and a rain system would need a "drain" system too ;) maybe big fluid surfaces slowly lose water (not immediately in block form, but in "water units", like we can define per water block. And maybe only with light level 15? (Sun, or many torches = higher temperature? ^^).

    What is it good for? Flood and ebb! Over the day the oceans are 1-2 blocks less high, and after the next big rainfall they're 1-2 blocks higher than usual and so on. But I think it would lag the server out ;) or atleast the fluid system :(

    Okay, just dreaming about that. Better get the fluid pumps saved and black wool for sucking up fluids ;) (Btw.: When you've coded the sponge, just copy & paste the code on the black wool? haha..)
     
  13. Offline

    mindless728

    thanks, i go to college for it so i have a lot of background

    EDIT actually about the Black wool, it will actually actively suck up water where as sponges do it passively by lowering the average of a fluid flow and then not actually taking on a fluid level
     
  14. Offline

    smickles

    Ah, I didn't consider the flowers and such. In my case I wouldn't have them config'd to wash away, but I can see why that's desirable. Where the 'easy button' when you need it?
     
  15. Offline

    Vlyn91

    Hmmm found a bug with the overwrite:
    It looks like the system is sometimes bugged: When water was running somewhere and you try to place a torch afterwards (with overwrite on) it gets overwritten and is... deleted?
    And near water sometimes blocks get overwritten too! I tried it at an ocean and only when i jumped on a big tower i was able to set a torch again?

    Something strange is going on :(

    EDIT:
    Ooookay, after server stop -> deleting block storage -> server start it's fine again

    EDIT2:
    Okay! It's a huge bug :(
    There was a field with many torches and a hole. I started to pump water into this hole.... it was full... and suddenly it was getting empty! It looked like an invisible wave was flowing over the fields, washing away all torches :confused:
    And now same thing: When i try to place a torch it's "washed away" immediately! Without even dropping one (it has "true" in the config file)

    When there was water once, the "air" block is on overwrite the whole time afterwards...

    EDIT3:
    Further testing:
    Making a hole/cave and fill it with water.... everything looks perfect (your configuration, just edited overflow events). Suddenly when it's nearly full the water level gets down for 2-3 blocks and the water sources start pumping out flashing water... and at this moment an invisible wave floods away torches and so on one waterlevel ABOVE the source! (The invisible water even stays in an area -.- and when you place a sourceblock in it it doesn't flood the area but just starts pumping with flashing fluids....)
     
  16. Offline

    mindless728

    updated FluidPumps to 0.4 now saves pumps between server resets and black wool is a super sponge!
     
    smickles likes this.
  17. Offline

    Dominic

    Sweet! Checkin it out now!
     
  18. Offline

    Vlyn91

    Awesome!

    But I still have big problems with invisible water :(

    EDIT:
    Doesn't look like the saving of pumps work? :( (Tried it several times now)

    EDIT2:
    And I know maybe why they don't work!
    Placed a dark blue and a black wool block, restarting server, this is the data in "FluidPumps.txt":
    v4 -587 73 -68 0
    v4 -584 72 -64 0

    World x y z woolcolor?
    They have both 0, there is something missing :D
     
  19. Offline

    mindless728

    no its:
    world x y z fluid_id

    so having the zero there is just fine as it means there is no fluid in the pump

    as for the invisible water, i can't seem to replicate it on my test server, the only thing i can think of is that water is really there, but you haven't had chunk updates yet

    Hmmmm, they seem to sometimes save and restore correctly and sometimes not

    EDIT: and now it is working again with no problems

    EDIT 2: in case i changed something, i pushed a new version of the code, now at 0.5

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  20. Offline

    Vlyn91

    Tried it with the new version... negative :(

    Doesn't load those pumps...
    When I place a pump and shutdown the server, the pump gets saved into the .txt file.
    When I start the server the pumps aren't working. When I shutdown the server again the .txt file is empty.
    -> Doesn't load it.
     
  21. Offline

    mindless728

    huh.....works for me just fine on both windows and linux, i was having that issue with windows for a while but it just went away, maybe start with a fresh server (map, BlockStorage, and FluidPumps)
     
  22. Offline

    Vlyn91

    Haha fresh map? :D My players would KILL me!

    I deleted all 3 .jar files, deleted block storage and fluidpumps, but not the realfluids config file.
    Then added alle 3 .jar files again (from your downloads, just in case), started, ... doesn't work.

    So: Something is wrong :(

    Oh and in regard of the invisible water: When you've the time sometimes I can show it to you on my server. It's easy to do. (Btw.: It's no chunk loading bug.. even after relog the water is still invisible! You don't swim, you don't breathe like in water... but it overwrites stuff! And eats CPU time I think)
     
  23. Offline

    mindless728


    oooooh, have this in a live server i see, well i did warn people that this is a WIP

    i can't for the life of me get the config file to delete itself or get the invisible water, any other plugins running on the server so i can test against them as well?

    EDIT: give me a sec i will make a debug version of the plugin so i can better see what is going on with the pumps not getting loaded

    EDIT 2: FluidPumps-debug.jar this should now cause output like crazy to the console in a few ways
    1) showing <world_name>@(X,Y,Z) when it loads a pump
    2) should show when it removes a pump when the block is the wrong id
    3) should show when it removes a pump when the block has the wrong data associated with it

    Working on adding buckets to RealFluids, going to be a bit of an undertaking from what it seems

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
    smickles likes this.
  24. Offline

    Dominic

    Good luck mindless! Two questions though-How do the pumps react to unloaded chunks? Will the pumps carry fluid even to a pump end that is chunks away? Also, would it be difficult to enable/disable the lava/water blocks in a config file?

    Thank you for your time
     
  25. Offline

    smickles

    Good luck from me too. ;) I'm looking forward to this coming update. I hope it come easily. :D

    Oh, I meant to ask:
    Can I have some tips on the control of the speed of fluid flow (I mean to say how fast or slow fluids spread when released)? It looks like I could figure it out by 'playing' with the config file, but I would like to limit the number of server resets I will have to do.

    Edit: Not long after I posted this, I encounted some fast flowing lava. I now would like to request separate 'speed values' for water and lava, if possible. :D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  26. Offline

    Pencil

    Wow! This looks insane!!! It does indeed behave almost like real water :) I hope you finish it sometime soon so I can implement it into my live server. Keep up the good work! :)
     
  27. Offline

    mindless728

    unloaded/loaded chunks have almost no effect on both RealFluids and FluidPumps so if you let it run over night there will be pretty large changes to the fluids of the worlds

    controlling flow, use a combination of repeat rate and time per repeat. If you increase the repeat rate you will make the code run less often and decreasing time per repeat gives less time every time the code runs

    making the fluids flow differently would require a complete re-write of the plugin into 3 plugins (for modularity) where RealFluids is just an API and the there would be RealWater and RealLava would actually do the flow, however i plan on doing this since i want to be able to allow other blocks to flow like sand or obsidian so you can have some interesting results

    Thanks. Though finishing it soon might not happen for a while if i want to re-write the plugin to make it more modular
     
    smickles likes this.
  28. Offline

    smickles

    Thanks for the tip :) and it sounds like you have a good plan in the works :D
     
  29. Offline

    mindless728

    yeah, its just slow coming because of life (mainly school and my car accident, wasn't injured just lost a car)
     
  30. Offline

    smickles

    Oh, best wishes with that. I know what it's like to lose a car in such a way.
     
Thread Status:
Not open for further replies.

Share This Page