[INACTIVE][MECH] TreeHugger v0.7c - fit trees to your needs

Discussion in 'Inactive/Unsupported Plugins' started by MadMichi, Jan 18, 2011.

  1. Offline

    MadMichi

    [​IMG]TreeHugger v0.7c


    Do you find it annoying when you chop wood and all these leaves are hanging in mid-air?
    And why don't trees drop apples or leaf blocks?
    If you ever asked one of these questions TreeHugger is the plugin for your server!

    [​IMG]

    What is TreeHugger plugin?
    For now TreeHugger has following features:
    1. It can disable the automatic leaf-decay.
    2. It can spawn apples, golden apples, saplings and/or leave blocks where ever leaves are destroyed.
    3. It can slightly increase the amount of decaying leaves.
    4. It can slightly increase the amount of leaves destroyed by the player at once.
    5. It can drop the treetop. Chop all the wood out of a tree top and all clustered leaves (not connected to the ground or other kinds of blocks) will be destroyed. Now a whole tree can be dropped with all wood in it by destroying the trees connection to the ground.
    6. Harvest items only when user defined tools are in the hand of the player.
    7. Any type of block or item can be dropped if leaves are destroyed.

    More to come... stay tuned for updates.

    How to install TreeHugger?
    Download the TreeHugger.jar and put it into your plugins folder. After the first launch of the server, a properties file named TreeHugger.properties will be added to the folder "\plugins\TreeHugger\". Now you can configure as you wish and restart the server.

    If you like you can also move the properties file to the bukkit root folder an delete the TreeHugger folder in the plugins folder.

    Please delete old TreeHugger.properties if you install a newer version.

    What is in the TreeHugger.properties file?
    The file consists of:
    destroy-all=true|false
    # Activate destruction of all clustered floating leaves. Leaves connected to wood / dirt / etc. won't be harmed.
    destroy-wood=true|false
    # Activate destruction of whole tree with wood if connection to the ground is lost.
    leaves-decay=true|false
    # Here you can activate/deactivate the new old automatic decay of leaves.
    faster-decay=true|false
    # Leaves decay slightly faster but drop less items. If leaves-decay ist false, faster-decay is ignored.
    player-destroys-faster=true|false
    # Player destroys more leafe blocks at once but drops less items.
    items-to-harvest=item id|item string, item id|item string, ...
    # Define tools that make harvesting the items possible. You can use item ids and strings separated by comma
    dropping-apples=[0.00-100.00]
    # 0% to 100% chance of apples dropping if leaves are destroyed.
    dropping-golden-apples=[0.00-100.00]
    dropping-leaves=[0.00-100.00]
    dropping-saplings=[0.00-100.00]
    # do i really have to tell you? :p
    #Append your custom drops as followed (without the #). Examples:
    #dropping-custom=dirt,1.5
    #dropping-custom=46,20
    #This would drop dirt with a chance of 1.5 percent and tnt (id 46) with a chance of 20 percent.

    Changelog
    v0.1 Initial release.
    v0.2 Added validation for the properties file.
    Also the percent values take now float with two decimal places.
    v0.3 Two new settings in the properties file: faster-decay & player-destroys-faster.
    Fixed Bug where a percent value of 0 rewrote the properties file.
    Fixed Bug where only one of the desired items coud drop from one leafe block at a time.
    v0.4 New setting in properties file. DropTreeTop functionality.
    v0.5 Items drop correctly now if the tree top explodes.
    v0.6 New settings in properties file. Drop tree with all the wood in it. Harvest only with user defined tool in hand. Drop any kind of block or item from leaf blocks.
    v0.6a Fixed a bug where too many clustered blocks crashed the algorithm and spammed the server console with error messages.
    v0.6b Fixed a bug where no selected harvest tools lead to no item drops.
    v0.6c Fixex a bug where trees with snow on it wouldn't explode.
    v0.7 Slightly more trees do drop down at once. Properties file can now be in bukkit root directory or in "\plugins\TreeHugger" directory. Trees now drop from the first chopped log block upwards. Correct log blocks are now dropped (birch, dark). Thanks Nijikokun!!
    v0.7a Had to temporarily deactivate the correct drop of wood colors since errors with new craftbukkit release.
    v0.7b Wood colors reactivated.
    v0.7c Quickfix for MC1.3. Reduced tree drop count, hopefully less console errors now.


    Todo
    - rewrite the drop treetop algorithm without recursion so that more clustered trees can be dropped at once
    - make all dyes droppable
    - try to make TreeHugger work with Permissions
    - option for treedestruction even if connected to other blocks
    - option to disable fast grow a tree with bonemeal

    Known Bugs
    - console spams errors if many blocks are affected by TreeHugger functions - will be fixed when the first point from the todo list is done


    Please leave comments / requests / bugs / hatemail / etc.

    Special thanks to:
    Nijikokun, MarkusNemesis, QuantumAI and DjDCH and all the programmers who are dispensing their help in the development forum.

    Also big thanks to the Bukkit-Team for their awesome work!

    Very special thanks to:
    [diamond]Affecting_Nelas[diamond]
    for coding the new drop treetop functionality!

    Greetz MadMichi
     
    PoPsou, Ola and chibirubara like this.
  2. Offline

    RugRats

    Interesting. But It works now.. So I don't know :D it might of been the world.
     
  3. Offline

    epsolon77

    I just updated my test map with 0.7b and the newest craft bukkit and I still don't get the correct log drops from the white tree's. Anyone else seeing this?
     
  4. Offline

    Geremy

    i guess this is kind of a request but can the item drops be adapted as a plugin for other blocks?
    like if i mine coal have a slim chance of it droping gunpowder too?
    or mining gold have a chance of droping glowstone dust?
     
  5. Offline

    MadMichi

    Hi Geremy, please have a look at this plugin. I think it does exactly that :)
     
  6. Offline

    Geremy

    cool, thanks.
     
  7. Offline

    yeahMan

    what am i missing? Attempting to cut wood logs down but they respawn after cutting. something to do with the items-to-harvest line in the config?
     
  8. Offline

    MadMichi

    Hi. I don't think that has something to do with TreeHugger, but maybe i can help you anyway... what other plugins are you running? Could you post your properties file? What craftbukkit/TreeHugger version?
     
  9. Offline

    yeahMan

    I'm running the following plugins:
    MinecartMania [and its extensions],Worldguard,WorldEdit,LWC,Essentials,Permissions,iChat/HeroChat,rBorder,ServerEvents.
    I believe we are operating on CB build 164. The properties file is the default config file that came with the zip. No changes made to it. I'm using the latest treehugger version.
     
  10. Offline

    MadMichi

    Please backup your craftbukkit and try a newer version. The build # is currently something around the double value of yours ^^
    If updating cb doesn't help you could switch back to your backup, but if the newer version runs well i woudn't recommend that.
    If you have further questions and/or updating didn't help don't hesitate to send me a pm...
    BTW: If the value of the items-to-harvest line is empty it means you don't need tools to harvest drops.
     
  11. Offline

    KrisEike

    Works great! Thanks for making this. =)

    Kris
     
  12. Offline

    Olat

    Is there a way for you to intergrate permissions for players of a certain group to get this functionality?
    Example. I would like donators of one faction that uses all wood for buildings to get access to this, but non donators of this faction would have to do it the hard way.
     
  13. Offline

    MadMichi

    Thanks for using this ^^
    I will have a look into the api of permissions. But yes, should be no problem.
     
  14. Offline

    Maluzis

    Show Spoiler
    Code:
           com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at com.bukkit.MadMi        chi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.Tr        eeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)
           	at        com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:94)


    There was a problem. After entering a player on the server server suddenly starts to go crazy. It creates a lot of lines to some error. Above I gave the contents of whichmanaged to generate within seconds. Let me add also that the problem causes a hugelag on the server.

    My Craftbukkit build is: b314

    Edit:
    Previously, this problem does not appear. I put the settings too.

    Show Spoiler
    Code:
    [/FONT][/FONT][/SIZE][SIZE=16px]#This is a comment. All lines with a leading # are ignored.[/SIZE]
    [SIZE=16px]destroy-all=true[/SIZE]
    [SIZE=16px]destroy-wood=false[/SIZE]
    [SIZE=16px]leaves-decay=true[/SIZE]
    [SIZE=16px]faster-decay=false[/SIZE]
    [SIZE=16px]player-destroys-faster=false[/SIZE]
    [SIZE=16px]items-to-harvest=[/SIZE]
    [SIZE=16px]dropping-apples=0.25[/SIZE]
    [SIZE=16px]dropping-golden-apples=0.01[/SIZE]
    [SIZE=16px]dropping-leaves=0.3[/SIZE]
    [SIZE=16px]dropping-saplings=0.6[/SIZE]
    [SIZE=16px]dropping-custom=287,0.15[/SIZE]
    [SIZE=16px]dropping-custom=295,0.4[/SIZE]
    [SIZE=16px]dropping-custom=288,0.15[/SIZE]
    [SIZE=16px]dropping-custom=351:3,0.2[/SIZE]
    [SIZE=16px]#Append your custom drops as followed (without the #). Examples:[/SIZE]
    [SIZE=16px]#dropping-custom=dirt,1.5[/SIZE]
    [SIZE=16px]#dropping-custom=46,20[/SIZE]
    [SIZE=16px]#This would drop dirt with a chance of 1.5 percent and tnt (id 46) with a chance of 20 percent.


    (Ignore the font and size bug :O) [/code]
    [/SIZE]
     
  15. Offline

    Krispy

    I have the same spamming error messages Maluzis has, although I haven't pinpointed exactly when it occurs.
     
  16. Offline

    lawless314

    I am having the same error as Maluzis. It doesn't work when a tree is connected to other trees via leaves. It works fine when the trees are standing on their own.
     
  17. Offline

    MadMichi

    I will try to find out why this sometimes happens and release a new version asap...
     
  18. Offline

    Krispy

    A feature suggestion: Could there be an option so that player set leaves did not decay? I don't know if this is possible.
     
  19. Offline

    den

    That error seems to occur when you have too many trees stuck together. Like: A tree connected to a tree via leaves x20 or so. If I take out the bottom logs in this scenario that error will eventually present itself.
     
  20. Offline

    MadMichi

    Hi, in the properties file you can set the line 'leaves-decay=false'. Then no leaf blocks will decay.
    Yes, exactly. I thought i already dealt with that problem by setting a maximum of log and leaf blocks to be destroyed, but obviously that doesn't help in all cases... sometimes the stack runs out of memory. Changing the algorithm from recursive to iterative will hopefully fix it.
     
  21. Offline

    Krispy

    If I set leaf decay to false, will leaves floating in the air no longer decay either?
     
  22. Offline

    MadMichi

    Yes, no leaves will decay at all.
     
  23. Offline

    CyborgOne

    good Work! Thx! I love this Plug!

    But... one thing ... my trees drops Stone and other curious things :-D
    but... i don't have insert custom drops in my conf [​IMG]

    any idea?
     
  24. Offline

    MadMichi

    Hmm... i don't know how that could happen [​IMG]
    What craftbukkit # do you run?
     
  25. Offline

    WMisiedjan

    Everytime when I destroy a leave I got a loop of this:
    at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWoo
    d(TreeHuggerBlockListener.java:94)

    Only happens with very big trees that are connected to eachother
     
  26. Offline

    fonesic

    It doesn't destroy leaves with bukkit 349
     
  27. Offline

    Nima304

    I'm running on Bukkit 325 with TreeHugger 0.7b. When I enable the plugin, there are short spikes where there is a 1-2 second chat delay, and it takes a massive amount of time to open chests. There's no output in the console, and the lag appeared sporadically, not on set intervals. Any help would be appreciated.
     
  28. Offline

    pslocom

    I'm not entirely sure what version of Bukkit I'm using, but I just downloaded it, and here is what prints out when I run version on my server:

    Code:
    2011-02-21 18:07:54 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-441-g1d7f86b-b409jnks (MC: 1.2_01)
    2011-02-21 18:07:54 [INFO] This server is also sporting some funky dev build of Bukkit!
    Anyways, whenever I try to chop wood on my server I get a slew of the following error:

    Code:
    [SEVERE] Could not pass event BLOCK_DAMAGED to TreeHugger
    java.lang.NoSuchMethodError: org.bukkit.World.dropItemNaturally(Lorg/bukkit/Location;Lorg/bukkit/inventory/ItemStack;)Lorg/bukkit/entity/ItemDrop;
            at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.onBlockDamage(TreeHuggerBlockListener.java:150)
            at org.bukkit.plugin.java.JavaPluginLoader$23.execute(JavaPluginLoader.java:242)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:225)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:374)
            at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:67)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:325)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:240)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    Any idea when this will be fixed, or if it's something I may have done?

    Also, I get this when when I start the server... This is me nagging you. Just trying to do my part :p

    Code:
    [WARNING] Using the stupidly long constructor com.bukkit.MadMichi.TreeHugger.TreeHugger(PluginLoader, Server, PluginDescriptionFile, File, File, ClassLoader) is no longer recommended. Go nag the plugin author of TreeHugger to remove it! (Nothing is broken, we just like to keep code clean.)
     
  29. Offline

    MadMichi

    Sorry to let you all wait guys... i have so little spare time :(
    I will try to have a look at the problems today...
     
  30. Offline

    pslocom

    Hey no worries. I'm typically in the same boat :). Just figured the more info you get from more places the quicker / easier it is to fix (On most occasions). Really pumped to try out this plugin though!
     
  31. Offline

    letmedl

    Yeah getting same error. I assume Bukkit broke something in their API again

    Code:
    2011-02-22 20:46:53 [SEVERE] Could not pass event LEAVES_DECAY to TreeHugger
    java.lang.NoSuchMethodError: org.bukkit.World.dropItemNaturally(Lorg/bukkit/Location;Lorg/bukkit/inventory/ItemStack;)Lorg/bukkit/entity/ItemDrop;
            at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropItems(TreeHuggerBlockListener.java:168)
            at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.onLeavesDecay(TreeHuggerBlockListener.java:118)
            at org.bukkit.plugin.java.JavaPluginLoader$26.execute(JavaPluginLoader.java:257)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:225)
            at net.minecraft.server.BlockLeaves.g(BlockLeaves.java:131)
            at net.minecraft.server.BlockLeaves.a(BlockLeaves.java:120)
            at net.minecraft.server.World.h(World.java:1502)
            at net.minecraft.server.World.g(World.java:1433)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:328)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:252)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    
     

Share This Page