[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

    MadMichi

    Hi Punchin,
    as long as the dropTreeTop-algorithm is recursive, i can do nothing about that unfortunately.
    I'm on it and will try to find an iterative way to calculate the blocks to drop the next weeks (still have little spare time).
     
  3. Offline

    Daveyo

    wtf this auto replants? Is this the most awesome plugin around rofl. Good work dude
     
  4. Offline

    Kartus

    request: a config toggle value, that i can disable bonemeal for instanttree, cause the combo of player-destroys-faster and bonemeal/sapling is like cheating =) possible?
     
  5. Offline

    Phanku

    Feature Request:

    I would like to have a toggle that if the tree is separated from the ground that no items or wood will drop.

    I would like for my users to have to cut the tree from top to bottom or they get nothing.

    Thank you.
     
  6. Is there a way to enable every on-hand item/tool to be used with this mod? I noticed there was a property to choose the tools.
     
  7. Offline

    JohnBrainard

    Love this plugin! Thanks for sharing it. It has saved me a lot of time harvesting trees!

    Is there any chance the source code is available for it anywhere?
     
  8. Offline

    MadMichi

    Will put this on the todo list.
    Thats a though one. Please understand that this feature will have to wait till the other ones on the todo list are done.
    Hi, i don't quite understand your question. Could you specify particularly?
    The items-to-harvest line in the properties file defines tools that need to be in the players hand if he wants to harvest drops from the tree. For example you could define the wooden, the stone, the iron and the golden axe to be the item-to-harvest. If a player then chops a tree down by hand or i.e. a pick, he will get no drops from it. But if he uses an iron axe he will get them. Hope that helps you =)
    Hi John, of course you can have the source. I made you a download here for the current version.
     
  9. Offline

    JohnBrainard

    Very nice! Thank you.
     
  10. hi. just wanted to say thanks for the nice plugin too, unfortunately i got a lot of those errors lately:

    Code:
    2011-02-28 21:34:06 [SEVERE] Could not pass event BLOCK_DAMAGED to TreeHugger
    java.lang.StackOverflowError
    	at net.minecraft.server.LongHash.remove(LongHash.java:30)
    	at net.minecraft.server.ChunkProviderServer.d(ChunkProviderServer.java:53)
    	at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:73)
    	at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:56)
    	at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:186)
    	at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:70)
    	at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:74)
    	at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:74)
    	at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:74)
    
    ...especially when another player chops down trees.
     
  11. Offline

    Punchin

    Also, if you leave "items-to-harvest" line blank, every item will work to harvest with.
     
  12. Offline

    RugRats

    Works awesome! But it doesn't work on oak or small trees? Can this be fixed? only works on medium sized trees :(.
     
  13. Offline

    MadMichi

    I will have a look at these when i come home.
    I so forgot to say that :oops: TY
    Might be the important part for Alexander...
     
  14. Leaves drop even when i set the drop percentage to zero?
     
  15. Offline

    RchGrav

    Hi @MadMichi ,

    Have you ever thought of making a feature that would "rebuild" the tree trunks of partially chopped trees? Not immediately, but maybe once every few hours/days, whatever...

    You would need to put some logic in there so that it didnt connect "branches" to the ground...maybe ony do one log to the ground within a 3-5 (configurable?) blocks of another.. so that you dont create "Log walls" but if there is one thing I'm tired of looking at, its FLOATING TREES!!!

    You would bee the KING of tree management plugins!

    Rich
     
  16. Offline

    Clay Michaels

    I may have a setting wrong, and I definitely have no clue about setting up bukkit plugins, but I am having trouble where leaf decay only occurs following a leaf block being destroyed. (with or without tool) the leaf blocks that are decayed disappear all at once and immediately, no drops. it seems to be about 5 or 6 leaf blocks every time I destroy 1.

    Code:
    destroy-all=false
    # Activate destruction of all clustered floating leaves. Leaves connected to wood / dirt / etc. won't be harmed.
    destroy-wood=false
    # Activate destruction of whole tree with wood if connection to the ground is lost.
    leaves-decay=false
    # Here you can activate/deactivate the new old automatic decay of leaves.
    faster-decay=false
    # Leaves decay slightly faster but drop less items. If leaves-decay is false, faster-decay is ignored.
    player-destroys-faster=true
    # Player destroys more leaf blocks at once but drops less items.
    items-to-harvest=
    # Define tools that make harvesting the items possible. You can use item ids and strings separated by comma
    dropping-apples=1
    # 0% to 100% chance of apples dropping if leaves are destroyed.
    dropping-golden-apples=.01
    dropping-leaves=5
    dropping-saplings=15
    # 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.
     
  17. The problem I'm having is only leaves and wood fall when i disconnect a tree from the ground.
    Is this intentional? If so, can you make it so that the additional items(apples, etc) drop when the whole tree drops?
    My config file:

    destroy-all=true destroy-wood=false leaves-decay=false faster-decay=false player-destroys-faster=false items-to-harvest= dropping-apples=20 dropping-golden-apples=10 dropping-leaves=0 dropping-saplings=30
     
  18. Offline

    MadMichi

    Hi Rich, i'm afraid that is not achievable. Since there is no event in bukkit that i could hook to, i would have to check the whole map for log blocks. I already have huge problems with the algorithm that searches for connected log/leafe blocks... sorry.
    Hi Clay, in your properties file you set leaves-decay to false, wich means that leaf blocks won't decay at all.
    player-destroys-faster is set to true. Thats a method i experimented with before a friend of mine implemented the algorithm to drop whole trees. It just destroys more leaf blocks at once and has nothing to do with leaf decay.
    They shouldn't... I have never experienced dropped leaves when the setting for it was zero.
    Your properties file should do the following:
    destroy-all=true -> clustered leaf blocks, not connected to any other type of block are destroyed all at once if the player destroys one of them. Every (each of the all at once destroyed) leaf block drops the items with the given chance.
    If you would set destroy-wood to true, the whole tree would drop (with all the log blocks too) if not connected to the ground or any other type of block and one of the blocks is destroyed. Every log block would drop log and every leaf block would drop the items with the given chance.
    If the plugin doesn't behave this way, there is something wrong. In that case please delete all TreeHugger files and reinstall.
    --- merged: Mar 2, 2011 11:59 AM ---
    BTW: i encountered this problem too. A couple of minutes after the server is started something goes wrong and not all trees are dropped. When i restart the server everything works as expected...
    So, i'm on it... ;)
     
  19. Offline

    XxZeroxX

    I ran across a bug that I guess is somewhat minor. I'm highly confident that TreeHugger is at hand due to experimenting with addons on and off and finally coming down to this one xD.

    The issue I ran across is when someone uses an item to destroy a tree log, if they use that item on pretty much anything else it will restore any durability that was used on those trees. I was destroying logs of my house and drained an axe out of durability, but upon right clicking anything or breaking a torch with that slot still being highlighted it would restore the axe in my hand with the durability it was at before I started destroying logs.

    I hope this is at least a fair description to help find out what is wrong. If there is need for more information or anything, let me know. As for my config, the only things that are marked 'true' right now are destroy-all and destroy-wood. I also did not specify the need for a tool for the items-to-harvest field.
     
  20. Offline

    baunegaard

    Hey there.

    Just wanted to let you know that i encountered an awful bug with this plugin.

    setting destroy-all=true makes cpu of server go to 100% all the time.

    when set to false cpu instantly drops to normal rate.
     
  21. Offline

    Maskur

    Does it work with 493 ?
     
  22. Offline

    Volander

    Can you make so if someone cuts the buttom blocks away the rest of the tree will decay slowly? instead of just popping away.

    - Volander
     
  23. Offline

    iTimmeh

    My properties in CMD say "Errors in TreeHugger properties - Defaults are used."

    Here is my properties:

    #This is a comment. All lines with a leading # are ignored.
    destroy-all=true
    destroy-wood=true
    leaves-decay=true
    faster-decay=false
    player-destroys-faster=false
    items-to-harvest=
    dropping-apples=0.01
    dropping-golden-apples=0001
    dropping-leaves=0.3
    dropping-saplings=0.5

    #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.

    Default was spelled "DEFALUT" btw...:p
    --- merged: Mar 7, 2011 3:21 AM ---
    Okay, I managed to fix it.

    But is there anyway to make trees not disintegrate immediately? Like, if it loses contact from ground, can there be a 5 minute delay where it doesn't break?
     
  24. Offline

    RugRats

    Yes false for destroy all.
     
  25. Offline

    EliteASH_11

    So yeah, other people seem to be getting an error, i guess its this one
    at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:74)
    at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:74)
    at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:74)
    at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:74)
    at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTop(TreeHuggerBlockListener.java:74)

    over and over again.
    [MERGETIME="1299919164"][/MERGETIME]
    Oh and latest version of both.

    By the way, tree hugger was working, until someone else logged into the server, then that error starting happening, i had also changed the config file.
     
  26. Offline

    Maskur

  27. Offline

    Pentalive

    I am seeing an error on the console - "A plugin cancelled the block stop break event" and also Treehugger is flakey about exploding the tree. Sometimes I get the default tree action (Take all the trunks and wait for the tree to decay)

    I am running treehugger 0.7c, at least the jar file compares with the one I have using the file compare command.
    I am running craftbukkit B440Jnks
     
  28. Offline

    CH33ZY

    Does this work in single player? If so how do I make it work.
     
  29. Offline

    swedish2011

    Code:
    2011-03-27 19:50:57 [SEVERE] Could not pass event LEAVES_DECAY to TreeHugger
    java.lang.StackOverflowError
        at org.bukkit.craftbukkit.util.LongHashtable.get(LongHashtable.java:65)
        at org.bukkit.craftbukkit.util.LongHashtable.get(LongHashtable.java:28)
        at net.minecraft.server.ChunkProviderServer.d(ChunkProviderServer.java:56)
        at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:82)
        at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:56)
        at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:186)
        at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:90)
        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.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.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
     
  30. Offline

    Phase

    No, this is for bukkit servers only.
     
  31. Offline

    swedish2011

    Code:
    2011-03-31 14:18:15 [SEVERE] Could not pass event BLOCK_DAMAGED to TreeHugger
    java.lang.StackOverflowError
        at java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryAcquire(Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)
        at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(Unknown Source)
        at org.bukkit.craftbukkit.util.LongHashset.remove(LongHashset.java:80)
        at org.bukkit.craftbukkit.util.LongHash.remove(LongHash.java:30)
        at net.minecraft.server.ChunkProviderServer.d(ChunkProviderServer.java:55)
        at org.bukkit.craftbukkit.CraftWorld.getChunkAt(CraftWorld.java:83)
        at org.bukkit.craftbukkit.CraftWorld.getBlockAt(CraftWorld.java:57)
        at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:215)
        at com.bukkit.MadMichi.TreeHugger.TreeHuggerBlockListener.dropTreeTopWood(TreeHuggerBlockListener.java:90)
        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)
    help
     

Share This Page