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. hey, can somebody tell me what i do wrong?
    everytime i try the mod on a map the water gets like this: Zwischenablage01.jpg

    i already tried different texture packs or to disable the lily or moss, nothing works
  3. Offline


    I was so sad when I had to remove this plugin from my server. I really really like the grass and the spreading plants, but it absolutely killed my server and I just couldn't put my players through any more lags and random server explosions. The SMP versions did sorta the same thing when first loading or creating new chunks, but then it was workable afterward.

    Has anyone tried it with grass turned off? Although I like the grass, the plant spreading is a higher priority.

    What if it had its own reload cycle that would periodically kill off the main growth cycle to help prevent the CPU bloat?. Or maybe limit the growth cycle to only x milliseconds, and then it shuts down?

    I don't know if any of that makes sense or is do-able, but I'd love to get this working again.
    zro likes this.
  4. Offline


    I'm not sure what is eating the server alive in the current version but it was not there in version 2.11. I fixed up the source I have of 2.11 and tested it out on 677. There is no lag issues with that version at all and it grows grass just as well as 2.31. Strange...
  5. Offline


    It is the way you installed the Wildgrass mod on the client side, when you installed the mod by coping the files to the .minecraft/bin/minecraft.jar file you copied over the "terrain.png". Try first install the mod while not coping the "terrain.png", then install a texture pack that actually supports the Wildgrass mod with the installer "mcpatcher-1.1.12_02" or higher. That should be a safe way of installing it client side.

    Arcwolf, do you get any errors or messages when running from the older version?
  6. Offline


    Not after I removed the incompatibility ... Block_Placed and Player_item which was for the yet to be working lily pads. ... so no I see no error messages and it seems to work for me. I'm using the next to latest client mod. 11 point something or other. <shrugs> I dont think that would be an issue though.
  7. I love this plugin, but as everybody else I just get huge lags.
    Arcwolf, can you give us your modified version?
  8. Offline


    I was playing around with the settings today and noticed a minor bug. If you set all biome types to "false" in your .ini file, the plugin will freeze the server thread. I think this is due to the while loop in "getRandomGrasBlock" (Grass.class) since "withinEnabledBiome" will return null in every case. Nothing big but something like this should be prevented from happening imo.
    I fixed it as I just checked whether all biome types are false and then disable the plugin.
  9. Offline


    I also noticed that the grass stops growing when the percentage of all growing cycles is reached but is still lower than 100.
  10. Offline


    That's because the cycle ticks for grass, plants, vines and other stuff don't reset unless the sum is >= 100 as far as I can tell.

    Edit: Concerning the mentioned lags, I suggest you limit "growthRange" in your .ini to below 50, that's where I found it to be most stable. You should also consider setting "enableGrazers" to false since that function frequently loops all active entities and checks for positioning and stuff. I have a version on my server right now for testing as I modified that part of code. I implemented a MaxCount for grazing animals and it's stable for what I can tell, no lags, no freezing.
  11. Offline


    Could you also get plants and lillypads to work? I also modified it and everything is working for me except plants and lillypads and the [Can't keep up] messages it spams.
  12. Offline


    I had the range the growthRange at 40, and verticalRadius=3. Grazers were on, though. After the MC1.5 is out and stable, I'll try turning the grazers off. I'm enjoying some server stability for a few more days. :)

    Thanks for the tip.
  13. Offline


    Lillypads are not implemented except for some basic stuff, spawning part is missing. Plants are working on my server just fine, maybe you should increase the plant percentage? I don't like the way they spread though.

  14. sry but i cant get it to work i have:
    Modloader inkl. Grass Fix from here:
    the wild grass mod from here:

    i open minecraft.jar install modloader, without terrain.png, then i go to the wildgrass mod and it says this:
    "client" - for use with default minecraft and NOT with modloader

    Start with a brand spanking new minecraft.jar
    Copy all the files in "client" folder into "minecraft.jar" and delete the META-INF folder

    "modloader" - for use with modloader. modloader will be required.

    Start with a brand spanking new minecraft.jar
    Install Modloader
    Copy all the files in "modloader" folder into "minecraft.jar"

    "modloader_terrain" - for use with modloader if you want it to access the terrain.png file

    Start with a brand spanking new minecraft.jar
    Install Modloader
    Copy all the files in "modloader_terrain" folder into "minecraft.jar"

    which one should i take, i also would like to use this texture pack:
    can u give me pls a step by step list, in which order to install this, cuz the patcher always installs the texture pack as default texture pack and then everything gets messed up. if i install the texturepack manually then the grass works in default skin but is fked up in the texture pack
  15. Offline


    If you're using the latest Misa HD textures, you need the MCPatcher beta 2.x or higher (Misa installs via placing the textures ZIP into the texturepacks/ folder and then choosing it from within the game. No texture patching is done by the patcher, as far as I know, instead it patches the classes to be able to accept bigger-than-8x8 textures (it will otherwise throw a BufferOverflowException if you try loading any textures larger than 8x8..)

    If anyone can suggest any code changes to reduce the performance issues, I will gladly add them to the plugin. :)
    (I'm not a super-ninja programmer, just an average-ninja programmer)

  16. Offline


    I know this is sort of a DUMB question, however i'm only asking it to make sure. Do all players have to have the "mod" to see the grass?
  17. Offline

    Celtic Minstrel

    Any players who have the mod can see the grass. Any players who don't, can't.
  18. Offline


    I smell sabotage! ;O It rendered it all by it self :D

    I changed to the older version of wild grass. fixed it

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


    Me neither. Your code is a pretty good base to start improving performance. I'd really like to see the plugin on a server with a bigger population than just 10~ players.
  20. Offline


    That's my problem, I only test it on my server, which has at most two players at any given time, myself included. :D

    I think that has something to do with the textures (terrain.png)..


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


    Might be I got this when I added the custom water/lava thingys with MCpatcher. The old wild grass works like a charm so why not use it? :D
  22. Offline


    Need to find out what was different 3 versions back to the current one as the older version was fine even with 20+ playing at the same time opposed to 1 or two people now.
    Maybe also run this plugin on another CPU core running solely on its own rather than sharing with the one used for the server/CraftBukkit.
  23. Offline


    I just (finally!) made a Github repo for the project, and zeff has kindly offered to push some performance-fixing changes :) I just need to learn how to use Github and make it so other people can act as developers.. ^_^
  24. Offline


    I made a lot of performance improvements and I am right now re-adding player commands and permission support. The latest fixed version worked with minecraft 1.4_01. Since the grass mod does not work with 1.5 yet, I am not really sure if it sets the grass correctly. However, plants (flowers, mushrooms, sugar canes) work fine.
  25. Offline


    does nothing for me.
  26. Offline


    Can you be more specific? Is your server still laging? How many players do you have? Can you quote your settings here?
  27. Offline


    I never have/had lag because this plugin never worked for me.
    If i do /growplants, it says growing plants...
    But nothing happens.
  28. Offline


    Player commands do not work on the current version. I implemented those for the next version. I am not really sure whether I should release it yet since the grass mod hasn't been updated for 1.5_01. I nearly finished v3.0 but I am still implementing new setting options for better customization regarding player commands and vegetation spreading. If you want to try the current unfinished version, go to:

    Edit: grow commands should work but they only spread from 2-5 plants at a time (depends on the type of plant you want to grow). It also sets them pretty far away from your location at times. I still need to improve they way the plugin searches random blocks around you, I hope you don't mind :( more feedback would be much appreciated!
  29. Offline


    I will try the test version, thx.
  30. Offline


    No commands works in this version. "unknown console command"
    And i have been afk for 3 hours near a plant and nothing grows.
  31. Offline


    Commands only work with permissions installed. Increase the percentage for plants to 100 and try again.

Share This Page