[INACTIVE][MECH] Cow Paths v2 - Pave the paths where players walk [670]

Discussion in 'Inactive/Unsupported Plugins' started by deltahat, Apr 6, 2011.

  1. Offline

    deltahat

    Cow Paths - Pave the paths where players walk
    Version: v2

    Cow Paths is a bukkit plugin for simulating the natural erosion caused by player walking. The name of the plugin comes from the phrase "to pave the cow paths." As players walk around the server, Cow Paths keeps track of the number of times each block has been stepped on and erodes the world accordingly. By default, the world erosion patterns are (with step thresholds in parentheses):

    Grass -(10)-> Dirt -(50)-> Gravel -(200)-> Cobblestone -(800)-> Smooth Stone
    Sand -(100)-> Sandstone

    Download
    Jar - https://github.com/rmichela/CowPaths/downloads
    Source - https://github.com/rmichela/CowPaths

    Configuration
    The erosion patters and step thresholds used by Cow Paths are completely configurable. All wear patterns are stored in the config.yml file under the wearPatterns key. A wear pattern is made up of a three part string containing the fromMaterial, toMaterial, and stepThreshold. A line looks like this:

    Code:
    - Grass Dirt 10
    When defining the fromMaterial and toMaterial, you can use either a material's canonical name or ID number. Malformed wear patterns will be ignored. If two wear patterns share the same fromMaterial, only the first one will be used.

    API
    To access Cow Paths data in your plugins, use the following code
    Code:
    CowPaths cpPlugin = (CowPaths)this.getServer().getPluginManager().getPlugin("CowPaths");
    CowPathsApi cpApi = cpPlugin.api;
    
    Don't forget to add appropriate null protection.

    Changelog:
    Version 2
    • Fixed console spamming bug
    • Added API
    • Added total steps metric
    Version 1
    • Initial Release
     
    Flipp, credence, Digi and 1 other person like this.
  2. Offline

    Puck7845

    As a similar issue, my players are complaining that their nice floating lawn will be crumbling to gravel under their feet, and despite my best efforts to tell them that floating dirt just isn't a very stable platform they did bring up a good point: grass should naturally regrow over time without changing into dirt.

    Perhaps make it so that grass will slowly (configurable?) lose step counts, because walking over grass nine times today, and once next month, shouldn't really turn it to dirt. Not sure if this should also apply to other blocks, new erosion line format?
    Code:
         - Grass Dirt 10 30.0
    So the last number is how many seconds it takes to drop one step off the step counter. That way the gravel to stone step could be made to not drop steps (0.0 seconds = no step dropping) if you think it doesn't make sense for gravel to decompress over time.

    This is treading into the realm that the decay plugin might cover, so not sure if it would be more appropriate there, but figured I would bring it up as a requested feature.
     
  3. Offline

    deltahat

    Any chance you have a test server you could use to try to isolate which plugin is causing the problem? The simplest test would be to disable all but Cow Paths and then see if you still get the problem. Doing this would determine if the problem is between Cow Paths and Bukkit or Cow Paths and another plugin.

    Grass regrows naturally and the process of growing grass resets the erosion step counts. Additionally, could your players be convinced to, ahem, pave their cow paths?

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

    Puck7845

    I tried to tell em that people just don't use grass for walkways for a reason, but they wouldn't have it. They wanted to walk on the grass and never have it be dirt, since it would regrow before it turned to dirt, but I think I'll just put my foot down I guess (its a small server so I felt obliged to try and ask you). I think their nice green lawn will be the cake that they can have, so long as they don't intend to eat it too.

    Maybe I'll sneak in and pave that pretty stone path, that'll teach them to ask me to do lawn care! :cool:
     
  5. Offline

    deltahat

    Lol. you can always change the config so grass doesn't erode or takes much longer to erode.
     
  6. Offline

    TOAST7312

    Just tested that. No errors from the plugin when the server was just being run with permissions and cowpath. I'll narrow down which one is causing the confliction later today.
     
  7. Offline

    valdark

    I am using the currently out of date iGrow to do some of this. There is also a expiring torches plugin. Good stuff when you combine it.


    Your plugin works great on 677 and seems to have no conflict with iGrow
     
  8. Offline

    Flenix

    I'm about to install this, but I'm just saying maybe add to default config that after 3 "walks" snow turns to air (so the grass underneath is revealed) ?
     
  9. Offline

    deltahat

    You could certainly add that to the config. I chose not to because snow doesn't grow back and some are very particular about their snow.
     
  10. Offline

    valdark

    at least not until next week when 1.5 comes out
     
  11. Offline

    ZachBora

    This seems to be a very nice plugin. I would implement it if only it wouldn't work on worldguard protected regions.
     
  12. Offline

    thepackett

    Could you make it so this only affected certain selected regions/worlds?
    like you could select a region (a city for example) and in that region turn this on?
    so that way players don't destroy the wild with their random walking around :D
     
  13. Offline

    Don Redhorse

    well random walking will not destroy the world.. only if you run the same track again and again..

    which makes you wonder how narrow the track has to be.. because on long distances people don't tend to go the same route all the time if you don't have a way already layed out..
     
  14. Offline

    valdark

    This is causing server lag and crashes. It also holds a metric f#*%ton of individual files for blocks stepped on. I love the concept though.
     
  15. Offline

    Tibs

    I have been running this today, so far no issues, I don't see any lag problems, this is with 50 people online as well. (CB677)

    Is "Air" valid? I think it would be interesting to have paths actually wear into the landscape.

    Good work, keep it simple is always a good idea.
     
  16. Offline

    valdark

    It could also be a conflict with another block changing plugin I am running. I am also running 677. The issues I have encountered ceased when I removed this plugin though so it was definitely partially responsible.

    Good to see that it works on it's own, but with my server the massive number of files generated just isn't worth it as I have to sort through them to affect any changes to my other plugins.
     
  17. Offline

    deltahat

    Cow Paths does make a lot of files, but they are all in one directory on their own.
     
  18. Offline

    valdark

    Yes but with Servercraft I can only view the plugin folder as a whole whole which makes sorting through 1.5 million files an issue.
     
  19. Offline

    deltahat

    Ahhh! Hadn't thought of that. :)
     
  20. Offline

    valdark

    Not a problem. Just wish I could run this with my current plugins and not have the lag and file sorting issues. Its a great plugin in and of itself.
     
  21. Offline

    Tibs

    I run minecraft entirely from ram so accessing a large number of files remains fast, but really it should be a smaller set. Look at how minecraft changed the way it stores the world. A handful of larger files is a much better system to use. Computers don't like having to deal with lots of tiny files.

    CowPaths/world
    75,334 files
    337M

    minecraft/world
    482 files
    1.5GB

    --

    I am having a lot of fun with this mod.

    This is the config I am trying out right now:

    - Grass Dirt 1
    - Dirt Gravel 3
    - Gravel Sand 5
    - Sand Sandstone 7
    - Sandstone Clay 14
    - Clay Cobblestone 24
    - Cobblestone Stone 32
    - Stone Brick 64
    - Brick Obsidian 128

    I found that unless dirt changed into something quickly paths in the grass never really formed. With the defaults even really busy areas around spawn would just be a few random blocks of gravel.

    I changed to the settings above, it's interesting, with grass - dirt set to 1, you can see where players are if they happen to be invisible, and it introduces the possibility to track other players.

    Ideally I wish that grass/dirt was treated the same, so that no matter if it were grass or dirt, if that block has been stepped on enough it will change to gravel. This way I could raise the number of steps for dirt to gravel, and still have paths form in grassy areas. For now I think I will keep the grass-dirt-gravel transition quick and will raise the rest to higher values later. For now it's fun having it all fast =).

    Players are definitely confused by it. They don't understand why things change, even when you explain there is a mod running. They don't like when dirt changes to gravel and something collapses. I like this behavior and my users will just have to get used to it. I find it no different than digging on the beach and disturbing sand that causes a collapse, it extends this to the land. It also teaches people not to build with dirt =P

    Running with settings like I have is going to make the server generate a massive number of block changes but so far I am not having any issues.

    Overall I have to say I really like this mod, this definitely is something that I think is missing from minecraft.

    How would I use the different colors of wool?
     
  22. Offline

    Zarius

    Posted this over at Quickstrasse but thought it might be relevant to this plugin:

    Just an idea, I would love to see an option to slightly increase the speed of walking over cobblestone, smoothstone, sandstone, etc (ie. a little faster than grass) each stepping up slightly in speed in the same order of generation. This would give people a reason to stick the to generated paths and reinforce often use paths.
     
  23. Offline

    deltahat

    That sounds like a great idea for another plugin.
     
  24. Offline

    Tibs

    Please add different path configuration support for each world, I think this would be a very useful addition.

    Been running this a couple weeks now and have not had any issues, thanks!
     
  25. Offline

    valdark


    Alternately you could change the Grass Dirt # to something higher and leave Dirt Gravel to 1 which would effectively go strait from Grass to Gravel and allow that higher number you were looking for.
     
  26. Offline

    Tibs

    I did try that for a while, really anything other than 1 and grass wont make a trail if it changes to dirt.
    People hated things turning into gravel or sand as it caused them to fall through floors.

    I'm currently running with this: it's a little slow, but once a path gets started it works. Grass pretty much stays grass, but I did this as a compromise to my players as they hate with their farms all turn to dirt or clay.

    GRASS DIRT 10
    DIRT CLAY 20
    GRAVEL CLAY 30
    SAND CLAY 30
    CLAY SANDSTONE 60
    SANDSTONE COBBLESTONE 80
    STONE COBBLESTONE 80
    COBBLESTONE BRICK 120
    BRICK NETHERRACK 160
    NETHERRACK SPONGE 320
    SPONGE GLOWSTONE 400
    GLOWSTONE OBSIDIAN 480

    Being able to set different paths for different worlds, or turn it off entirely for some worlds would be really sweet. Then the main world where people have their cities can be stable, but then I can have some more worlds with some more wild settings.

    I have some screen shots I took of the world spawn as I was playing with cowpaths:

    I started with some large areas of dirt, one step would turn dirt to clay, grass was 1 step to dirt. later blocks in the chain were ~+8 steps for each

    [​IMG]

    [​IMG]

    [​IMG]
     
  27. Offline

    deltahat

    I love it! You can certainly see where you've been walking.
     
  28. Offline

    Azukay

    This works with#733.
    Could you please remove the following from the console when it starts up? Just use something simple like "[Cow Paths] is enabled!":
    "[INFO] [Cow Paths] Wear Pattern: GRASS => DIRT (10 steps)
    [INFO] [Cow Paths] Wear Pattern: DIRT => GRAVEL (50 steps)
    [INFO] [Cow Paths] Wear Pattern: GRAVEL => COBBLESTONE (200 steps)
    [INFO] [Cow Paths] Wear Pattern: COBBLESTONE => STONE (800 steps)
    [INFO] [Cow Paths] Wear Pattern: SAND => SANDSTONE (100 steps)"

    This will greatly help admins with lots of plugins, thanks :)
     
  29. Offline

    valdark

    any possibility of adding multiworld support?
     
  30. Offline

    peaced

    Fantastic idea !
    Fits perferctly for my survival server (huge map, no /tp /home or /spawn, players are forced to walk)
    Thanks man
     
  31. Offline

    Malific

    Having an issue setting this up. I have Snow -> Air in 1

    When I walk across snow, the snow does not change, however if I remove the snow the block below it has changed (in accordance with that particular block's cow path settings).

    I tested this by making sand turn to obsidian is 1 step (with snow still turning to air), then walking across snow covered sand... when I removed the snow physically there was obsidian under it.

    The snow will not go away with Snow -> Air unless I drop onto it, either from a jump or walking off a higher block.

    Any ideas on how to fix this or if it's even possible to fix, since it seems MC counts snow as air as far as clipping goes.
     

Share This Page