RealFluids

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

  1. Offline

    Goomboss

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    the one my dedicated server guys have installed, the one that works with nearly all plugins asking them now if you want me to

    edit:
    seems they dont really like telling which java they run on, might take some time

    This post has been edited 3 times. It was last edited by Goomboss Jul 29, 2011.
  2. Offline

    Maeyanie

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Would also be worth checking permissions on the config file and directory it's in (that's file system permissions, not related to the Permissions plug-in) and the line endings type (Windows vs. UNIX/Linux vs. Mac).

    Though I'd think the auto-generated one should be right for both cases.

    This post has been edited 1 time. It was last edited by Maeyanie Jul 29, 2011.
  3. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Update: got a bit of programming done tonight in between work, my birthday, and moderating a server. The API is looking good so far (no GITHUB pushes until it is finished) and I am liking how it is looking. This new APi will allow me (or someone else) to create a new fluid using any block material in the game, however the threaded nature of the fluids does not allow for events to be fired and caught. I will more than likely be providing a few types of fluids off hand:
    • ClassicWater/Lava
    • BetaWater/Lava
    • RealWater/Lava
    • InfiniWater/Lava (look up Infiniminer fluids)
    other types would be able to be created by extending one of my classes (namely Fluid) which will do as much of the annoying registration work with my plugin for you, how it moves, stores data, loads/saves config is up to the creator as i want this as generic as possible

    each fluid runs in its own thread with block updates going through a synchronized container and my plugin which changes the blocks in server synch time so there are as few issues as possible

    name change for the over arching plugin will be FluidFlow and the order of fluid types i will make at first is:
    • RealWater and RealLava
    • BetaWater and BetaLava
    • ClassicWater and ClassicLava
    • InfiniWater and InfiniLava
  4. Offline

    Goomboss

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Java x64 version 6.0.240.7
  5. Offline

    smickles

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Oh, this sounds better than I had hoped for.
  6. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    i figured this way people can pick and choose their fluids, also this would allow people to create sand fluid or any other block to a fluid, and the api shouldn't be too hard to learn
  7. Offline

    Dominic

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)

    Dang, this is a lot more than I expected! I hope all the coding goes well mindless!
  8. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I have a request to add one for snow, i'll probably call it RealAvalanche
  9. Offline

    Dominic

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    This.

    In snow Biomes build-up of snow would be cool. Eventually leading to avalanches if disturbed...maybe stretching it for the plugins purpose...but would be cool :D

    This post has been edited 1 time. It was last edited by Dominic Jul 30, 2011.
  10. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    yeah, i need to get the api for this plugin done first so we can integrate the 2 together
  11. Offline

    Maeyanie

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    The snow does sound like a neat addition. I've seen a number of mods doing oil as well, so will be nice to be able to just write a little plugin and have that flow too. Definitely looking forward to this, even more now. :)

    That seems like it should work pretty well. Lets the fluids flow as fast as the CPU allows (up to their flow rate, at least) with relatively minimal locking delays as the main thread checks for updates.

    You could probably do notification-only events using a ConcurrentLinkedQueue; have the fluid threads put them on the top, and the main thread poll it then fire them out. But couldn't modify or cancel the event, since it'd be already too late by the time it fires.

    This post has been edited 2 times. It was last edited by Maeyanie Jul 31, 2011.
  12. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    the amount of events would probably bog the server even as notifications, so i will probably stay away from that
  13. Offline

    Maeyanie

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yeah, true. Would be a fair cost for relatively low benefit.

    This post has been edited 1 time. It was last edited by Maeyanie Aug 1, 2011.
  14. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    considering i already have to do the block type change in a synchronized method to so nothing goes wrong, that will slow this down enough
  15. Offline

    Oxygene

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hmm I loved the old version, used it often, but for some reason installing this one today doesnt work. First no fluid will flow now unless already doing so. Secondly i get logblock consumer queue overloaded errors :( any idea what could be causing it?
  16. Offline

    Oxygene

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
  17. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    what was the fix? i am interested
  18. Offline

    Oxygene

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I remembered it from when I first installed the plugin. The text file RealFluids.txt had the last two lines with no variables:
    WaterOverwriteList:
    LavaOverwriteList:
    So I added 0 False to them both like in your examples and it worked fine!
    Unfortunately I've been forced to remove the plugin by a grumpy op cause it broke his mob trap :/
  19. Offline

    Maeyanie

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yeah, it tends to do that... one of the reasons I like it actually. ;)
  20. Offline

    Oxygene

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Same, personally I love the plugin. Had so much fun last time I had it installed making pump pipes out of glass and wool in strange shapes. I only uninstalled it last time cause wool didnt save state between resets lol. But this time it does!
  21. Offline

    Goomboss

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    How come everyone can run this and I get an error in my config? even with the pregenerated one and it doesnt matter on which system. is this x64 compatible? does it need java 7? someone please elaborate cause I realy want to use this wonderful plugin
    also copied the one posted here and pasted it in the config, still error:
    Code:
    151 recipes
    16 achievements
    13:07:48 [INFO] Starting minecraft server version Beta 1.7.3
    13:07:48 [INFO] Loading properties
    13:07:48 [INFO] Starting Minecraft server on *:25565
    13:07:48 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-945-
    g73697a4-b1000jnks (MC: 1.7.3)
    13:07:48 [INFO] BlockStorage version 1.3 installed
    13:07:48 [INFO] Preparing level "world"
    13:07:48 [INFO] Preparing start region for level 0 (Seed: -7985959623297866139)
    13:07:49 [INFO] Preparing start region for level 1 (Seed: -7985959623297866139)
    13:07:49 [INFO] Preparing spawn area: 8%
    13:07:50 [INFO] FluidPumps version demo-snapshot-0.5 enabled
    13:07:50 [INFO] *** RealFluids: Error in configuration file ***
    13:07:50 [INFO] RealFluids version demo-snapshot-0.7 enabled
    13:07:50 [INFO] Server permissions file permissions.yml is empty, ignoring it
    13:07:50 [INFO] Done (0,182s)! For help, type "help" or "?"
    >

    Can someone email me a working config?

    This post has been edited 3 times. It was last edited by Goomboss Aug 4, 2011.
  22. Offline

    Tster

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hey guys, I''ve made Moresnow, snow that piles, up and when it gets too high, I'm going to(hopefully) use his api to cause an avalanche, btw it was me who requested :p
    Check out more snow in my sig
  23. Offline

    Tster

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    BTW Mindless, do you want to help work on MoreSnow(soon to be bettersnow), and you can help add avalanches etc, for 50 50 partnership
  24. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    as for 32bit/64bit compatible, it shouldn't matter as i am not running any native code as everything is done by the JVM, as far as java version, i have been testing it in 6 and 7, have not run into any problems like this so far (ie i can't replicate it)

    I am still working on the api (hit a few snags on performance), and once i make a general RealFluid base, making snow should be as easy as just stating what block material it uses

    This post has been edited 1 time. It was last edited by mindless728 Aug 4, 2011.
  25. Offline

    smickles

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I just noticed that I get this error, yet the plugin works fine for me...
  26. Offline

    Tster

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    So you wana partner :p?
  27. Offline

    mindless728

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    hmmm weird

    well let me finish the api and get a good foot hold on the RealFluid base (which is what water, lava, and now snow will be extended from), there are some locking issues with the current version i just finished so i have to come up with a way to not lock objects as often
  28. Offline

    Goomboss

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    well on my systems it freezes the water, because the config cant be read. Is it doable to make it a .yml file instead of a .txt file? those seem more reliable to me and might just fix it for me
  29. Offline

    smickles

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Here's my RealFluids.txt
    Code:
    WaterStartLevel: 200
    LavaStartLevel: 100
    MinimumDifferenceLevelFraction: 0.05
    RepeatRate: 4
    MaxFlowTimePerRepeat: 600000
    SimsPerRepeatFraction: 0.5
    FlowDownFraction: 0.5
    ChunkCacheSize: 256
    WaterOverwriteList: 0 False 50 True 75 True 76 True
    LavaOverwriteList: 0 False 02 False 03 False 05 False 06 False 12 False 13 False 17 False 18 False 20 False 23 False 25 False 26 False 27 False 28 False 29 False 31 False 32 False 33 False 34 False 35 False 36 False 37 False 38 False 39 False 40 False 47 False 50 False 52 False 53 False 54 False 55 False 58 False 59 False 60 Fales 61 False 62 False 63 False 64 False 65 False 66 False 68 False 69 False 72 False 75 False 76 False 77 False 78 False 58 False 81 False 83 False 84 False 85 False 86 False 91 False 92 False 93 False 94 False 95 False 96 False
    I've tweaked some numbers so that fluids will flow a lot slower out of concern for safety.
    (edit for spelling/grammar)

    This post has been edited 1 time. It was last edited by smickles Aug 4, 2011.
  30. Offline

    Goomboss

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    as far as I can read, scary lava. as far as I can see, ***error in config*** ingame static liquids.
    testing on:
    windows server edition 2 (something) java version 6 64 bit
    windows 7 both 64 and 32 bit with java 6, 7 ran in 32 bit
    with bukkit build 1000

    Isnt there something I have forgotten then? Did I have to install something more. I have the blockstorage and the realfluids plugin. Any aditional config that needs to be done? Understand me I do not wish to annoy you guys I just want to find out what causes this and why all of you guys can infact use it while all my efforts are in vain so far

    edit:
    Hardcoded the config file inside the .jar and now it works yet without config.

    This post has been edited 2 times. It was last edited by Goomboss Aug 4, 2011.

Share This Page