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

    zeff

    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

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

    [​IMG]
    Holy cow, that's seriously planty.

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

    [​IMG]

    This field was grown using /growfield 8.

    [​IMG]
    ...and then mowed back down with /mow.

    [​IMG]
    Nice pretty vines hanging down from this tree... (stock MC textures)


    Features/caveats:
    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.


    start_patcher.bat:
    @echo off
    java -Xincgc -Xmx1G -jar BukkitPatcher_0.0.jar craftbukkit.jar
    pause

    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.

    Commands:
    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)​


    Configuration:
    Show Spoiler

    • The configuration file (plugins/Vegetation/<your worlds name>.ini) looks like this:
    Code:
    /* Block Search Settings:
    growthRange=20
    verticalRadius=5
    
    /* Vegetation Settings:
    enableGrass=false
    enableTallGrass=false
    
    /* Set max grass height from 1-9
    maxGrassHeight=9
    enablePlants=false
    enableFlowers=false
    enableFungi=false
    enablePumpkins=false
    enableCacti=false
    enableCanes=false
    enableMoss=false
    enableLilyPads=false
    enableVines=false
    
    /* 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.
    waterGrowsMoss=false
    
    /* Player related Settings:
    maxActivePlayerCommands=40
    spreadAmountFlowers=5
    spreadAmountFungi=5
    spreadAmountCacti=5
    spreadAmountSugarCane=5
    spreadAmountMoss=5
    spreadAmountTallGrass=5
    /* The player will trample a path through the grass if set to true.
    trampleGrass=false
    
    /* ENTITIES:
    enableGrazers=false
    /* Sets max number of grazing animals.
    /* You should decrease this number if you encounter server lag.
    grazerMaxCount=10
    grazingSheep=true
    grazingCows=true
    grazingPigs=true
    grazingChickens=true
    
    /* BIOMES:
    /* Enabled/Disables the growth of vegetation on
    /* certain biomes.
    growForestBiome=true
    growRainforestBiome=true
    growShrublandBiome=true
    growSavannahBiome=true
    growPlainsBiome=true
    growSeasonalForestBiome=true
    growIceDesertBiome=true
    growDesertBiome=true
    growHellBiome=true
    growSwamplandBiome=true
    growTaigaBiome=true
    growTundraBiome=true
    
    /* 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.
    grassPercent=40
    tallGrassPercent=20
    plantsPercent=5
    mossPercent=5
    lilyPadPercent=5
    vinePercent=5
    grazePercent=10
    
    
    • 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.




    Permissions:
    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:
    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).​

    Changelog:



    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

    dual★moon

    The only thing I could ever ask for is to have vines automatically disappear/break when the leaf block the vine is anchored to is gone for any reason.
     
  3. Offline

    Onza40

    Is there any chance we could add the hoe functionality from SSP? I like being able to cut the grass, but atm in SMP it just tills the block underneath.
     
  4. Offline

    zeff

    I get the feeling that I accidently put up an unfinished Version. Gonna check that out as soon as I get home.
     
  5. Offline

    Killerrabbit

    Nice work, btw Zeff - did you have the link to patcher here as well, or did I just miss it? Or is it removed due to the bugs?

    Keep up the good work!

    edit: oh btw, sometimes the grass is growing realy fast and spreading as fast, can grow fully tall on 20 seconds the grass...

    Here is a (dark) video of it runnin on our server:
    http://www.youtube.com/watch?v=la4lo_n_qwI
     
  6. Offline

    Sphax

    I've installed this plugin on my server and a lot of things seems to not work correctly :
    - I don't see any grass anywhere
    - When I plant flower on sand, I see the sand-grass but it immediately disappear...
    - When I plant Red flower on grass, I see another flower planted
    - When I plant flower in water, it destroys the water, I see my flower, then water reappears, the lily pad appears and I get back my flower...
    - I don't see vines anywhere
    - When I type "/grow flower", I get as a result a string in the chat which say me how to use "/grow" command -_-'

    What can I do to have everything ? :s
     
  7. Offline

    Lexxagon

    Same Problem here. I tried Vegetation on a fresh installed Bukkit-Server. The Log-Files are ok, but i can't see grass anywhere. Wildgrass seems to be working perfectly on the client, if i play in singleplayer-mode.
     
  8. Offline

    zeff

    @Jdbye I guess that explains it, I will look into making the .ini file reading methods safer.
    @Sphax I assume you have the client side of the mod installed. As for flowers, naturally your server does not allowe flower blocks to be placed on sand or/and water blocks. You can do that with a patcher which I have not released yet. I will do that most propably on thursday when I have the time to final check everything. New version will be uploaded as well.
    Vines: You do have them enabled?
    Player commands require the Permissions plugin to be installed, I will work on a way to use them without the plugin.

    @Lexxagon Settings.ini please.
     
  9. Offline

    Sphax

    I've edited the "Settings.ini" files and set it to :
    Code:
    /* Block Search Settings:
    growthRange=30
    verticalRadius=10
    
    /* Vegetation Settings:
    enableGrass=true
    
    /* Set max grass height from 1-9
    maxGrassHeight=9
    enablePlants=true
    enableFlowers=true
    enableFungi=true
    enablePumpkins=false
    enableCacti=true
    enableCanes=true
    enableMoss=false
    enableVines=true
    
    /* 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.
    waterGrowsMoss=true
    
    /* Player related Settings:
    maxActivePlayerCommands=40
    spreadAmountFlowers=5
    spreadAmountFungi=5
    spreadAmountCacti=5
    spreadAmountSugarCane=5
    spreadAmountMoss=5
    /* The player will trample a path through the grass if set to true.
    trampleGrass=true
    
    /* ENTITIES:
    enableGrazers=false
    /* Sets max number of grazing animals.
    /* You should decrease this number if you encounter server lag.
    grazerMaxCount=10
    grazingSheep=true
    grazingCows=true
    grazingPigs=true
    grazingChickens=true
    
    /* BIOMES:
    /* Enabled/Disables the growth of vegetation on
    /* certain biomes.
    growForestBiome=true
    growRainforestBiome=true
    growShrublandBiome=true
    growSavannahBiome=true
    growPlainsBiome=true
    growSeasonalForestBiome=true
    growIceDesertBiome=true
    growDesertBiome=true
    growHellBiome=true
    growSwamplandBiome=true
    growTaigaBiome=true
    growTundraBiome=true
    
    /* 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.
    grassPercent=40
    plantsPercent=5
    mossPercent=0
    vinePercent=5
    grazePercent=10
    enableLilyPads=true
    lilyPadPercent=5
    
    It seems my server is lagging a bit... but everything works well. What can I do to optimise it a bit ?
     
  10. Offline

    zeff

    How many players are currently connected to your server? I need all the information I can get since I have to improve the performance of the code. Nothing you can do :(
     
  11. Offline

    Sphax

    We are 4 players at the same time...
    Our server is an Intel Core 2 Duo 2.13GHz, 4,00 Go DDRAM, x64 with Windows7

    EDIT: In fact, it seems to lag a bit when a player is accessing a zone where nothing was initialised (where there was no grass or anything else).
     
  12. Offline

    Gracefulslayer

    Hello, great mod by the way! I installed it just today and have been playing with the settings, I have been able to get the vines/grass to grow, but for some reason I can't get the moss to grow on cobble stone? Or even grow from a mossycobble stone to a non mossy. My settings, im pretty sure they're correct.

    /* Block Search Settings:
    growthRange=30
    verticalRadius=10

    /* Vegetation Settings:
    enableGrass=true

    /* Set max grass height from 1-9
    maxGrassHeight=9
    enablePlants=true
    enableFlowers=true
    enableFungi=true
    enablePumpkins=true
    enableCacti=true
    enableCanes=true
    enableMoss=true
    enableVines=false

    /* 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.
    waterGrowsMoss=true

    /* Player related Settings:
    maxActivePlayerCommands=40
    spreadAmountFlowers=5
    spreadAmountFungi=5
    spreadAmountCacti=5
    spreadAmountSugarCane=5
    spreadAmountMoss=1
    /* The player will trample a path through the grass if set to true.
    trampleGrass=true

    /* ENTITIES:
    enableGrazers=true
    /* Sets max number of grazing animals.
    /* You should decrease this number if you encounter server lag.
    grazerMaxCount=10
    grazingSheep=true
    grazingCows=true
    grazingPigs=true
    grazingChickens=false

    /* BIOMES:
    /* Enabled/Disables the growth of vegetation on
    /* certain biomes.
    growForestBiome=true
    growRainforestBiome=true
    growShrublandBiome=true
    growSavannahBiome=true
    growPlainsBiome=true
    growSeasonalForestBiome=true
    growIceDesertBiome=true
    growDesertBiome=true
    growHellBiome=true
    growSwamplandBiome=true
    growTaigaBiome=true
    growTundraBiome=true

    /* 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.
    grassPercent=100
    plantsPercent=100
    mossPercent=500
    vinePercent=100
    grazePercent=100
    enableLilyPads=true
    lilyPadPercent=100


    I tried setting the moss percent higher to get it to grow more quickly. Any help would be appreciated, thanks.
     
  13. Offline

    weasel5i2

    I mentioned this before too :) My biggest problem in creating and developing this plugin was the fact that my server only had two, maybe three players (myself included) at a time.. Usually just myself, and when I was the only one on it ran BLAZING FAST!!.. If only I'd had dev access to a server with a bunch of online players.. Anyone got one and is willing to contribute a minor amount of player annoyance to zeff for the optimisation and multiplayer/multiworld improvement of this plugin? That would be super helpful. ;)

    Well, maybe not BLAZING fast, but fast enough to be playable nonetheless. ^_^

    --W5i2

    You have to install the client mod as well.. The server mod just changes some sneaky normally-invisible variables in the world blocks, and without the client mod you'll only see normal blocks. It's like you're in a 3-D movie theatre but nobody gave you the glasses.. :)

    You can get the client mod here (with instructions) - it's very easy, just open your %APPDATA%\.minecraft\bin\minecraft.jar (or .minecraft/bin/minecraft.jar on linux) with an archive program (7-zip is best, but WinZIP/WinRAR/etc. will work) and copy the contents (a bunch of .class files) of the WildGrass mod's client/ folder into your minecraft.jar, delete the /META-INF folder in your minecraft.jar, close the archive, and it's patched!

    If, for some reason, this doesn't work for you (usually because of other conflicting mods/patches) then I provide a binary delta patcher (for the client) in the main thread post, in the Patching the Client section.

    Hope this helps. Please let me know if you still have trouble seeing the Vegetation features! Also, note that all of your players must also do this if they want to see the grass and stuff.

    --W5i2

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

    zeff

    @Gracefulslayer the cobblestone you want to grow moss on has to be in touch with water and has to have a block o air above it in the current version.

    @weasel5i2 I would feel sorry for the poor players on the server I am developing and testing^^ It gets pretty messy when I test things out...
     
  15. Offline

    drakcore

    I have had 8 people on at a time with the core going to 70% +- with the follow config below.

    /* Block Search Settings:
    growthRange=200
    verticalRadius=10

    /* Vegetation Settings:
    enableGrass=true

    /* Set max grass height from 1-9
    maxGrassHeight=9
    enablePlants=true
    enableFlowers=true
    enableFungi=true
    enablePumpkins=true
    enableCacti=true
    enableCanes=true
    enableMoss=true
    enableLilyPads=true
    enableVines=true

    /* 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.
    waterGrowsMoss=true

    /* Player related Settings:
    maxActivePlayerCommands=20
    spreadAmountFlowers=3
    spreadAmountFungi=3
    spreadAmountCacti=3
    spreadAmountSugarCane=3
    spreadAmountMoss=3
    /* The player will trample a path through the grass if set to true.
    trampleGrass=false

    /* ENTITIES:
    enableGrazers=true
    /* Sets max number of grazing animals.
    /* You should decrease this number if you encounter server lag.
    grazerMaxCount=5
    grazingSheep=true
    grazingCows=true
    grazingPigs=true
    grazingChickens=true

    /* BIOMES:
    /* Enabled/Disables the growth of vegetation on
    /* certain biomes.
    growForestBiome=true
    growRainforestBiome=true
    growShrublandBiome=true
    growSavannahBiome=true
    growPlainsBiome=true
    growSeasonalForestBiome=true
    growIceDesertBiome=true
    growDesertBiome=true
    growHellBiome=true
    growSwamplandBiome=true
    growTaigaBiome=true
    growTundraBiome=true

    /* 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.
    grassPercent=20
    plantsPercent=3
    mossPercent=3
    lilyPadPercent=3
    vinePercent=3
    grazePercent=6


    I do have allot of plugins running atm with three worlds(multiverse) which also contributes to the CPU core running high.
    *One person normally takes between 6 to 12% of the CPU core.

    AncientGates
    AutoPlant
    AutoRepair
    BlockCantKeepUpSpam
    BoarderGaurd
    ChopTrees
    ClayFlow
    GlowstoneDrop
    Gastronomic
    HeroicDeath
    HigherExplosives
    IceDrop
    informant
    InstaBreak
    LWC
    MinecartManiaCore
    Mining TNT
    Multihome
    MultiVerse
    MyHome(replaced with Multihome)
    oreRespawn
    Permissions
    ProperTime
    runecraft
    SheepFeed
    TieDyeSheep
    UnderWaterTorch
    Vegetation
    WormholeXTreme
    xAuth


    Is there any chance of running the vegetation on its on core maybe by means of SQL or another Java instance handling the bulk of the load?
     
  16. Offline

    weasel5i2

    @zeff, have you tried it using Java.util.Timer instead of BukkitScheduler? I'm not sure that it's thread-safe at all (probably isn't) but I've implemented it into my Zap plugin and the timer stuff all runs on a separate thread, and a LOT faster (I can call the ScheduleDelayedRepeatingTask (iirc) on the CPU millisecond level instead of bukkit timeslices).. but it still eats a bit of CPU sometimes..
     
  17. Offline

    zeff

    @drakcore that's plugin system related stuff which probably belongs more into the bukkit discussion forums. The timer that is controlling all task being in executed in vegetation is btw already running on a separate thread, which does not improve the cpu usage at all. I am reading a lot of stuff about performance of java programs right now, getting some more insight in how to use objects, avoid garbage collection and stuff. Hopefully I will be able to improve the performance so that the plugin can run with less cpu usage as it does now.

    I guess I'll have to check that out. But first I'll go and crash! Already past 12 AM here. I'll do some testing on thursday since that's my day off and I have lots of free time.

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

    PhantomGamers

    That would indeed be awesome, since as it is it doesn't seem to use much CPU at all.
     
  19. Offline

    weasel5i2

    You and I both :) I just learned about void Runtime.getRuntime.gc() which manually invokes garbage collection.. But I'm also learning that the JVM does try to do object destruction and garbage collection automatically whenever appropriate..

    According to this page, "Memory leaks can also occur when you use a hashtable or similar data structure to associate one object with another. Even when neither object is required anymore, the association remains in the hashtable, preventing the objects from being reclaimed until the hashtable itself is reclaimed. If the hashtable has a substantially longer lifetime than the objects it holds, this can cause memory leaks." - and Vegetation (as I originally designed it) definitely uses HashMaps-- some of them can get rather large depending on your settings!
     
  20. Offline

    darkmage7241

    That may explain why whenever the plugin is turned on, the memory usage shoots through the roof?
     
  21. Offline

    zeff

    I don't use ANY persistent allocation except for the player list, settings and a group of objects I introduced for multi world support. The rest is just loops, loops and more loops. I guess that is maybe my problem, loops can take a big strain on cpu if not written properly. As for garbage collection, I wouldn't force it since that command you posted doesn't even guarantee that it will happen and garbage collection uses up a lot of resource, same goes for object creation btw.
     
    weasel5i2 likes this.
  22. Offline

    Sphax

    In fact the mod was installed on the client side but that was because the config.ini has all its variables set to "false" by default. I've edited it to set them to true and everything is working well now (but it lags a bit when the grass appears the first time). :)
     
  23. Offline

    zeff

    I don't use HashMaps except for the player list. I also don't think that invoking garbage collection manually
     
  24. Offline

    Onza40

    Severe error on the latest RB (766), doesn't cause a crash, but vegetation doesn't appear to work.
     
  25. Offline

    Flenix

    So wait, are the "vines" just sugar cane? coz thats whats growing out of my trees...

    The picture of vines that says "Default Texture" underneath is very misleading if thats the case...
     
  26. Offline

    Lexxagon

    My Server uses a standard settings.ini and about 4 players were conntected during the test of vegetation. The other plugins I'm using: Commandbook, Deathmessage, RuneCraft, WoldEdit. I tried the Plugin on a fresh bukkit-server too, without other players. Grass was still not working. Both servers are running the latest Bukkit 766.​
     
  27. Offline

    zeff

    Vegetation v3.1.2 does not support the latest recommended bukkit build since I haven't had the time to check it out yet. Naturally I can't help you with any server errors caused by the latest bukkit build. I will look into it ASAP.
     
  28. Offline

    Onza40

    I kinda guessed it didn't support it from the error -.-
    Just making you aware it doesn't work is all
     
  29. Offline

    Killerrabbit

    Zeff, can you add to config file where vines can grow or not (from which leave type), at the moment my birch tress grow lots of vines, which realy don't look great at all :)
    Otherwise, keep up the good work ;)
     
  30. Offline

    Sphax

    About the vines, it would better if they don't drop anything (or a string maybe ? but no sugar cane -_-')...
     
  31. Offline

    LolHens

    Could you update for 677* please? It is so cool and green! This would be awsome.
    *EDIT: Please DON'T update for 677! I mean 766. :)

    21:17:38 [INFO] [Vegetation]: Vegetation v3.1.2 enabled.
    21:17:38 [SEVERE] For input string: "0.8" loading Vegetation v3.1.2 (Is it up to
    date?)
    java.lang.NumberFormatException: For input string: "0.8"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at net.weasel.Vegetation.Vegetation.getIntSetting(Vegetation.java:311)
    at net.weasel.Vegetation.Vegetation.onEnable(Vegetation.java:223)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:676)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:249)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:131)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:109)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     

Share This Page