Inactive [FUN/MISC] Vegetation 3.4.6 - Wild Grass/Vines/Plants/Moss/Grazing Animals (Permissions 2.6+) [1060]

Discussion in 'Inactive/Unsupported Plugins' started by zeff, Mar 9, 2011.

  1. Offline


    Vegetation: Wild Grass, Vines, Plants and Moss Growth! v3.4.6

    This plugin implements the functionality of ejhopkins' Wild Grass Collection v15.2 server mod, as well as vines on trees, (partially working) lily pads and mini-cacti on land, mossy growth spreading on cobblestone and surface plant spreading functionality based on Master-Guy's PlantSpreader plugin. **Note that in order for the players to see the wild grass, you must install the client mod following the instructions found here.** Of course, the grass and/or plant growth can be disabled.

    Now supports vines! See the latest screenshots in the list below.

    Screenshots (I'm using Misa's HD Texture Pack):
    Show Spoiler

    Yeah, I didn't let much grass grow. I had it set too low for the demo screenshot.

    Holy cow, that's seriously planty.

    Single grow of a square of tall (10) grass blocks around me using the /gg 10 command on each block.


    This field was grown using /growfield 8.

    ...and then mowed back down with /mow.

    Nice pretty vines hanging down from this tree... (stock MC textures)

    Show Spoiler

    • Placed plants (vines, cacti, lilypads) will sometimes (actually, semi-frequently) pop out and become plant pickups. This is an issue with the Minecraft server automatically doing its environmental plant-population algorithms. Until I find a way to circumvent this, your mileage may vary. Again, anyone is welcome to tweak the source code and make it work better.
    • To be able to plant flowers on sand or water requires a server patch.
      (see below)
    • Grass will grow taller. It can get pretty ridiculous. Without the optional client-side mod, players will only see normal grass blocks.
    • Specified animals will eat whatever grass they encounter, down by one level, on a timed basis.
    • Plants (flowers, mushrooms, cacti, canes, and pumpkins) will spread to nearby adjacent blocks of the same type.
    • Tall Grass and Dead Scrubs now also grow and spread
    • Growth will only occur during the daytime.
    • It will also only occur in the biomes set in the .ini file (see below)
    • It will also occur in all worlds hosted by a server, and only in chunks occupied by at least one player.
    • Configuration folder/file will be created if not found. To reset to factory defaults, simply delete the plugins/Vegetation/Settings.ini file.

    Server Patcher:
    Show Spoiler

    Bukkit Patcher (Download):
    If you want to be able to plant flowers on sand/water, you need to patch your craftbukkit version with the patcher provided here. However, putting flower blocks on water requires you to target the non-water block beneath the water block you want to plant your flower on. This is due to the way the client mod renders lilies, something I can not change. Bugs may occur if you don't plant them correctly, however there is no way your server map will get corrupted. In that case the client thinks there is a plant block on top of water while there actually is none. You will be able to see the "fake" lily but nobody else will, those fake ones will disappear once you relog.
    You may also use /grow flower to grow lily pads on water.

    This patch will not corrupt your map in any way. If you don't have it installed, the server will just unroot all flowers previously planted on sand/water blocks. They'll just pop.

    @echo off
    java -Xincgc -Xmx1G -jar BukkitPatcher_0.0.jar craftbukkit.jar

    Open the start_patcher.bat file and edit the highlighted portion to the name of your carftbukkit file. You have to put both files into the same directory as your craftbukkit.jar in order to patch it.

    Show Spoiler

    • /grow [type]: trigger a manual growth loop for the specified plant type.
      Valid types are: flower, mushroom, cactus, sugar_cane, moss, scrub
    • /mow: removes all grass within growthRange of player (see configuration) - it will reduce all tall grass blocks into grass-covered dirt blocks.
    • /biome: returns the type of biome the player is currently standing on. You can use this command to collect information on which biome the new tall grass blocks are placed in. Please post your findings in here so I can implement it.
    • /purge [type]: purges your map and removes vines and wild grass
      Valid type are: wild_grass, vines, tall_grass
    (Working on adding back the other commands / features)​

    Show Spoiler

    • The configuration file (plugins/Vegetation/<your worlds name>.ini) looks like this:
    /* Block Search Settings:
    /* Vegetation Settings:
    /* Set max grass height from 1-9
    /* If this option is set to true,
    /* moss will grow on any cobblestones touching water
    /* regardless if there was a moss block to spread from or not.
    /* Player related Settings:
    /* The player will trample a path through the grass if set to true.
    /* ENTITIES:
    /* Sets max number of grazing animals.
    /* You should decrease this number if you encounter server lag.
    /* BIOMES:
    /* Enabled/Disables the growth of vegetation on
    /* certain biomes.
    /* EVENTS:
    /* The following parameters determine how many ticks of
    /* 100 ticks a specific type of action is being executed.
    /* (Example: If grassPercent is set to 60, there is the possibility
    /*  of grass growing at 60/100 ticks if a grass block is found 60 times.
    • growthRange: width radius (from each player), in blocks, of horizontal block-checking and growth to occur - this affects server performance.
    • verticalRadius: height radius (from each player), in blocks, of vertical block-checking and growth to occur - this also affects server performance.
    • enableGrass, enable tallGrass, enablePlants, enableMoss, enableGrazers: self-explanatory :)
    • enableFlowers, enableFungi, enableCacti, enablePumpkins, enableCanes, enableVines, enableLilyPads: individually enable/disable growth types as needed. If enablePlants is set to false, these options will be ignored.
    • waterGrowsMoss: if set to true, any cobblestone touching water will become mossy over time. If moss spreading is also enabled, it will continue to spread from there.
    • grassPercent: percent of the time in which grass should grow
      (see also grazePercent below)
    • plantsPercent: percent of the time in which plants should spread
    • mossPercent: percent of the time in which moss should spread
    • lilyPadPercent: percent of the time in which lilypads should spread
    • vinePercent: percent of the time in which vines should grow
    • tallGrassPercent: percent of the time in which tall grass should spread

    • growForestBiome, growRainforestBiome, growShrublandBiome, growSavannahBiome, growPlainsBiome, growSeasonalForestBiome, growIceDesertBiome, growDesertBiome, growSwamplandBiome, growTaigaBiome, and growTundraBiome: individually enable/disable growth in these biomes as needed.
    • enableGrazers: if set to true, then the mobs (if enabled with the following directives) will eat the grass down by one level.
    • grazePercent: percent of the time in which animals will eat the grass
    • grazingSheep, grazingCows, grazingPigs, grazingChickens: enable/disable the ability for these individual animal types to graze on the grass, accordingly.

    Show Spoiler

    - 'vegetation.grow' - grants access to the /grow command​
    - 'vegetation.growall' - grants access to the /growall command​
    - 'vegetation.mow' - grants access to the /mow command​
    - 'vegetation.purge' - grants acces to the /purge command​
    - player command biome does not require any player permissions​

    Download the Plugin (latest version, JAR) v3.4.6​

    Source is now at Github - most recent releases can be found under the test branch.​

    Previous builds can be found here (and on Github).​


    Show Spoiler

    Version 3.4.6 09-August-2011
    * fixed Long Grass growing on sand and water upon chunk creation​

    Version 3.4.5 22-July-2011
    * fixed playerlist for nether and skylands​
    * fixed possible memory leak​
    * fixed a lot of NullPointerExceptions​

    Version 3.4.4 20-July-2011
    * vines will now vanish if a tree burns down​
    * tweaked tall grass spread a bit​
    * added option to purge command (wild_flowers will purge all sand flowers and lily pads)​

    Version 3.4.3 10-July-2011
    * fixed vines turning back into sugar cane blocks (hopefully)​
    * vines decay now​

    Version 3.4.2 22-June-2011
    * it should be possible to edit signs again​

    Version 3.4.1 16-June-2011
    * fixed Wild Grass​
    * adjusted spreading of Tall Grass​
    * added more options for purge command (self-explaining)​
    * new algorithm for trample grass!​
    * Wild Grass no longer grows on the same block as Tall Grass​

    Version 3.4 14-June-2011
    * added new purge command which removes vine blocks and resets grass blocks meta data (removes wild grass)​
    * vines will only grow on normal trees​
    * added Tall Grass aka Dead Scrubs, Tall Grass and Green Scrubs​
    * added settings check for the grow command, players now only can grow plants which are also enabled in the settings​
    * plants now only spread within their biome type​
    * enabled wild grass and trample grass again​

    Version 3.3 06-June-2011
    * implemented Operator commands for those who don't have Permissions installed on their server​
    * disabled grass for now, pending investigation​
    * fixed plant growth explosion​
    * added "biome" player command, which will just tell you in which type of biome you currently in​

    Version 3.2.2 20-May-2011 zeff
    * vines will no longer drop sugar canes​
    * player can now mow grass with hoes​
    * trampleGrass changed so that it appears more natural (kicks off with a chance of 40% now)​

    Version 3.2.1 14-May-2011 zeff
    * fixed a nasty bug where plants, especially lilies would sometimes replace a block instead of growing on one​
    * flowers and mushrooms now only grow if the light level is appropriate​
    * fixed a bug with planting flowers on water​
    * red roses no longer spread yellow flowers​

    Version 3.2 12-May-2011 zeff
    * separate setting files for each world
    * lily pads added​
    * sand flowers added​
    * performance improved​

    Version 3.1.2 06-May-2011 zeff
    * Implemented thread-safe playerlist as preparation for multi world support​
    * changed default settings for first plugin run​

    Version 3.1.1 02-May-2011 zeff
    * Cacti no longer spawn directly beside blocks which would unroot them instantly​
    * Sneaking players no longer trample down grass​
    * Minor bug fixes​

    Version 3.1 28-Apr-2011 zeff
    * Animals can once again graze grass​
    * Implemented spreading ratio for flowers/mushrooms/cacti. This will prevent them from covering your whole map as they can only spawn in a specific ratio per area​
    * Vines are growing now once you enable them​
    * "trampleGrass": If enabled, players will trample down grass and create a path​
    * "maxGrassHeight": self-explaining​

    Version 3.0 27-Apr-2011 zeff
    * disabled growall command since it's kind of useless the way it is now​
    * fixed mow player command​
    * disabled vines since they are not working properly and create lag​
    * added new setting option for player commands: maxActivePlayerCommands only allows a set amount of commands to run simultaneously​

    Version 2.31 13-Apr-2011 w5i2
    * Recompiled against latest recommended Craftbukkit build #674.​
    * Fixed another pretty ridiculous bug in the plant growth player-getting subroutine, one which was seriously affecting performance. Should work even more as it was designed to work now. :)

    Version 2.3 09-Apr-2011 w5i2
    * Recompiled against latest recommended Craftbukkit build #670.​
    * Grass grows through snow blocks now. Can't wait until 1.5 comes out!
    * Fixed a pretty ridiculous bug in the plant growth percentage calculations. Should work as it was designed to work now. :)

    Version 2.21 01-Apr-2011 w5i2
    * Recompiled against latest recommended Craftbukkit build #617.​
    * Added the ability to have water cause cobblestone to become mossy. Only if the cobblestone is touching the water, obviously.. And of course, normal moss spreading can take over from there if you have that enabled as well.​

    Version 2.2 30-Mar-2011 w5i2
    * Updated to incorporate new features of Wild Grass 10.1+ -- vines!!
    * Changed growth percentages to doubles, so now fractional percentages may be used in the .ini file.​
    * Added HELL biome to the list of configurable biomes (see above)​
    * added /growvines # command. For example, /growvines 10 will grow ten random vines within growthRange number of blocks.​
    * added /vine # command. If you aim at any lower leaf block on a tree and type /vine 3 it will grow a single vine from that block, three blocks tall.​
    * Recompiled against latest recommended Craftbukkit build #602.​

    Version 2.11 25-Mar-2011 w5i2
    * Fixed the /growgrass # command handling. Try /growgrass 1000 and watch it grow!​

    Version 2.1 24-Mar-2011 w5i2
    * Improved the plant spreading code, now my world has way too many flowers. :) Still not seeing any cacti growth, but I do see evidence of canes spreading.​
    * Grazing animals now will only eat grass that is >3 in height. I will most likely add a grazeHeight setting to the .ini file.​
    * Added /gg, /growfield and /grass commands (see Usage above)​
    * Added optional numeric arguments to the /overgrow and /growgrass commands to temporarily change/set the grassPerGrow value to something higher if needed.​
    * /overgrow now has one plant cycle included per 10 grass cycles (unless growPlants is disabled, of course)​
    * /mow now sets the surrounding grass level to 3 instead of 1 (completely flat). If you prefer the completely flat look, you can use /growfield 1 to achieve the same effect.​
    * Removed the obnoxious "Updating player position.." spam from the debug logging​

    Version 2.0 20-Mar-2011 w5i2
    * Major rewrite of the timer task code. This should greatly help with CPU performance issues.​
    * /overgrow now only grows around the player who typed it, rather than all players. It also now runs 1,000 growGrass() cycles, and notifies you at 25%, 50%, 75%, and completion, since it takes a while to run.​
    * Rewrote the way the timer handles the growth tasks - now it is based on a 100-slot timeslot system, so grass/plant/moss/graze amounts can be specified as percentages.​
    * Removed a few unneeded configuration directives and added some others.​

    Version 1.5 19-Mar-2011 w5i2
    * Had the idea to add animal grazing. This should help keep the grass down. :)

    Version 1.41 18-Mar-2011 w5i2
    * Recompiled against the latest recommended Craftbukkit build #556.​
    * Fixed the cacti/canes growth.​

    Version 1.4 18-Mar-2011 *it is recommended that you update to this version or newer* w5i2
    * Divided the moss, grass, plants, and block manipulation functions into separate Java classes.​
    * Added /growmoss command.​
    * Added mossEnabled and mossPerCycle to the .ini settings.​
    * Rewrote the TimerTask threads to be properly implemented (as classes instead of functions)​
    * Finally got the mossy cobblestone spreading to work​
    * I completely forgot to fix the cacti/canes growth, it will be fixed in the next release :)

    Version 1.31 15-Mar-2011 w5i2
    * Fixed a serious bug in which it would "grow" half-blocks into other types of half-blocks, or rotate stairs and rails. I apologise for any inconvenience this may have caused.​
    * Added the remaining biomes (sans Biome.HELL) to the configuration​
    * Apparently TimerTask asynchronicity is discouraged, so I changed the timer tasks to synchronous.​

    Version 1.3 14-Mar-2011 w5i2
    * Rewrote the looping routines again! They actually work properly now.​

    Version 1.21 10-Mar-2011 w5i2
    * Rewrote the looping routines to be a bit more efficient.​
    * Fixed a couple more mathematical bugs.​
    * Discovered and implemented the nifty Block.getRelative(BlockFace.UP) method.​

    Version 1.2 10-Mar-2011 w5i2
    * Added /overgrow command.​
    * Recompiled against latest recommended Craftbukkit build #531.​

    Version 1.1 10-Mar-2011 w5i2
    * Fixed flawed multi-world checking code. :)
    * Fixed flawed block-checking code.​
    * Added more configuration options.​
    * Added more biomes in which growth may occur.​

    Version 1.0 09-Mar-2011 w5i2
    * Created plugin.​
    Teteros, Sphax, kahlilnc and 2 others like this.
  2. Offline


    is there a way to get rid of the grass and vines and lilypads and just have plants spread?
    cause when i get on the plants don't spread on their own without commands.

    the main thing i want is plants, like mushrooms, pumpkins and flowers, to spread or grow on their own. it seems like when wild grass is in a spot the plants can't grow there. or maybe they aren't growing at all...
  3. Offline


    The only thing that grows automatically for me are the vines, and they do it with a vengeance ;)
    From what you say you want, you'd be best served by version 1.21. It does those things.
    You can disable the grass growth in the settings file.
  4. Offline


    First of all, very good plugin, works just like it should for me, but I would like to make a little request.
    Your plugin grows only around a player, right?
    Well that is a good idea and also saves performance, but it means, that rare loaded or newly generated chunks have no grass at all.
    Around my house for example is pretty much grass, but as soon as I go away from it, there is less grass, because the chunks do not get loaded so frequently and in new areas there is no grass at all. I could increase the grow speed, but I like the slow growing speed, I have. It would just be realistic, if grass would be everywhere in the world.
    A solution would be increasing the growrange to a very high value, but that is killing my server. So another idea, is it possible to change the world generation with a bukkit plugin?
    So could you maybe let the plugin run the overgrow command for example run one time on every new chunk, that gets generated? That would mean a slower world generation, but would lead into having a world with grass everywhere, like with the official wildgrass server plugin. The grass would still only grow, when a player is in range, but that does not matter, because you would not notice, that it is not growing everywhere. Is this possible? Maybe the amount of standard-growed grass on every chunk should be editable if you implement this idea.
  5. Offline


    Wondering if it's something on my end, but it seems that even with the default settings vines take over the growth rates, even when set to the default 0.5% Also, not sure if this is intentional, but the /mow command sets all the grass to a height of 1, and places 1h grass bits on all of the smooth grass blocks in the radius.
  6. Offline


    As permissions isn't included so far, who is able to use the commands?
  7. Offline


    Nothing grows with me, it's writen : growing ... but nothing
  8. Offline


  9. Offline


    Hm, can i use some kind of workaround? I dont need those commands as admin, but i dont want any user to use them :/
  10. Offline


    I have no grass growing on my server. The mod is broken...

    edit: I used /overgrow now, and suddenly I have grass... I waited like 30 minutes before and NO grass was growing...
  11. Offline


    Does this alter the world save in any way?
  12. Offline


    Hi there,

    I got a little problem, but first thanks for porting this mod, it's great.

    So my Problem is that most thinks work quite well, except the ones I have to place e.g. Lilypads, little cacti, the grass in the deserts and the vines, although the vines show up when i use the grow command. But as soon as I break them I can't place them again. Am I doing something wrong??
  13. Offline


    I think you should swap the following two lines in the Vegetation.getNextPlayer() method:
    Vegetation.currentPlayer = Vegetation.playerList.get(Vegetation.playerIndex);
    Vegetation.currentPlayer = Vegetation.playerList.get(Vegetation.playerIndex);
  14. Offline


    still causes lag.
  15. Offline


    I have come accross one person logs onto the server the CPU core useage is normal but when a second person logs on the CPU core of the server runs between 70 to 90% and will only go back to normal once everyone logs off.
    I had to sifted through all the plugins to find out it was the Vegetation one :<.
    Running bukkit670 and tested with just the Vegetation plugin with the same results.
    No errors are found under the logs at all.

    Server specs

    MB : MSI 890FXA-GD70
    CPU : AMD Phenom II X6 1075T
    Ram : 4GB x 4 (16GB total)
    HD : WD CAVIAR Black 64 640GB x 2
    Got java 32bit and 64bit but running the server under 64bit.

    SET BINDIR=%~dp0
    CD /D "%BINDIR%"
    "%ProgramFiles%\Java\jre6\bin\java.exe" -Xincgc -Xmx8G -jar craftbukkit670.jar

    Don't think I changed the settings but here it is anyway.


    Think what WegFetz said in a previous post is correct.

    I think you should swap the following two lines in the Vegetation.getNextPlayer() method:

    From: Vegetation.playerIndex++; Vegetation.currentPlayer = Vegetation.playerList.get(Vegetation.playerIndex); To: Vegetation.currentPlayer = Vegetation.playerList.get(Vegetation.playerIndex); Vegetation.playerIndex++;
    weasel5i2 likes this.
  16. Offline


    On my server cacti doesn't work.
    Please help!!!
  17. Offline


    Yeah, cacti isn't working for some reason. I will fix it soon. Also, thanks WegFetZ & drakcore, I will fix that. It is a silly bug. :)
  18. Offline


    hey would this have any chance to bugger up the map?

    Since its placing these custom blocks everywhere, would it have any chance of all this stuff getting replaced with a block in a future update?

    Just curious.
  19. Offline



    after i install this plug on my cb 677 server there comes this:

    [WARNING] Can't keep up! Did the system time change, or is the server overloaded?

    and the server raection ist very laggy, so if i breake a block it takes about 5sec to see it is away and in my inventory

    please help
  20. Offline



    after the WildGrass Mod now splitted the Mods up how about rethink the config maybe?
    The mainproblem is for me
    User without the ClientMod has suggarcane in the trees, what looks realy bad in the first place, the grass and lilipads thing is not a problem, cause it simple not visible for him, but the the vines are.
    So maybe set this to false at the first start?
    Had to cut down some of them at the first start of the plugin and then reload asap after chaning the settings.

    So i would suggset to set
    Vines and the Moos to "false" on the initial config so it does not kill any buildings and structures in the first place, if an admin likes to have it he can still enable it, but the ones not liking to have it can be sure nothing got changed in that few secounds of running the server the first time with this mod.

    But anyway i like it, thx for implementing this.


    Ps. Ok after checking the CPU usage, OMG it explodet, can it be that the grow cycle at start consumes that much?
  21. Offline


    Update still causes sporadic cpu usage.
  22. Offline


    Am giving up on this until you figure out why it makes the server lag so badly! Everytime I install this we get lag, making blocks reappear after we destroy them etc.
  23. Offline


    Confirmed, still causing way too much CPU usage now(80 to 90% of the core minecraft runs on/server side), even when the first person logs on.
    Have to disable this plugin or the game becomes un-playable for everyone connecting to it.

    *I am running on 677 though.
  24. Offline


    670 bukkit on my server 2.31 vegetation causes Server cant keep up error. Like everyone else so far. :(

    670?? <sigh> I need to update :p
  25. Offline


    Ejhopkins' server mod for Mojang's minecraft_server.jar caused serious SMP lag as well.

    I had it running for Minecraft 1.3, created a new world and had to wait upwards of 60 minutes for the lag to subside from generating the initial chunks. Afterward it was generally OK performance-ways unless someone went exploring and generated several new chunks in a short time.

    Keep up the good work, weasel5i2, I hope you can find a way to cut down the performance impact of this plugin, because it adds a lot of atmosphere to Minecraft.
  26. Offline


    Will this work with the newer version of Wild Grass (12.x client)?
  27. Offline


    It works, had it running for some time on my server with 12.x and at least for the grass it worked, i could even plant this water rose thing (but it did not stay for that long, no idea why), vines did grow as well but i do not have that part of the 12.x client installed so far.
  28. Offline


    Great mod, I have a noob question though. Are you supposed to install the server files from the wildgrass mod to minecraft_server.jar when using this or no?

    Also, when exploring or first joining my server, it gets massive lag despite the fact that nothing seems to be growing automatically. Is this supposed to happen?
  29. Offline


    Massive lag confirmed .. needed to disable this plugin ):
  30. Offline


    Please forgive me if this has been mentioned before.

    I like this mod but there needs to be the ability to cut the grass, special tools, lawnmower, or even just with default tools. Untill I find a way to chop the grass in areas i dont want it to be as high, I won't be using this mod.

    Although it looks great having the wild grass around all the mountains etc, in front of my house (front yard) and back, it looks bad to me, having it all over grown like some lazy redneck.
  31. Offline


    lol, I duno I think it goes nice with my rusted block car in the yard and my dog on the front porch. There is something so cathartic chill'n on my lawn chair watching the pigs root around in waist high grass. :cool:

Share This Page