Inactive [FUN/MECH] ChopTree 1.24 - Chop Trees by Removing Lowest Block - Like Cacti [1000] (by Arcwolf)

Discussion in 'Inactive/Unsupported Plugins' started by askmeaboutlo0m, May 1, 2011.

  1. Offline

    askmeaboutlo0m

    ChopTree - Chop trees like cacti or make logs move down while chopping
    Version: 1.24


    ATTENTION:
    There seems to be a plugin conflict where the client crashes with a blue-white screen and keeps crashing for minutes after that.
    If you encounter the error please give me a list of the plugins you are using, with enough lists I will be able to outrule what causes it. Please also tell me if you are using any client-side mods.


    Thanks very much to Arcwolf for developing version 1.24!

    Tested with Craftbukkit build [740], [766], [798], [818], [1000].
    Supports: Permissions v. 2.7.2 (Phoenix) and mcMMO v. 1.0.07.
    Please give me feedback, ask any questions you like and/or provide suggestions!
    Thank you!

    Features:
    • Lets trees act like cacti - remove a block and all blocks above are yieled too.
    • Or you can make that log blocks move down one by one instead - no more climbing trees.
    • Works with all three tree types (they all yeild their own wood).
    • Also works with "big" trees that have multiple branches - makes felling them a lot easier.
    • Restrict using this plugin to certain tools only.
    • Supports mcMMO and Permissions.
    • Only works on trees, houses made of logs are safe!
    • Chunk protection to make your tree houses safe.
    Download (JAR file) | Source (ZIP file)


    Description:
    This plugin was requested by Britich and is inspired by the Canary plugin RealTree by billyoyo.
    However, it is not just a simple port of that plugin, it was made from scratch after Britich's description.

    Pictures:
    Show Spoiler

    [​IMG]
    Approach tree...

    [​IMG]
    ...and punch it.

    [​IMG]
    All logs will be yielded.

    [​IMG]
    The leaves will decay like normal.


    Set-up:

    Even though I added a lot of things for version 1.2 it will act like the original one if you don't change any settings - with the exception of players are able to toggle the plugin.​
    To run this plugin just copy it into your plugins folder. On first startup it will create a ChopTree folder and a ChopTree.properties file, which you can edit.​
    There will be a ChopTree.players file which saves player toggles and a ChopTree.chunks file which saves protected chunks.​


    Properties File:
    Show Spoiler

    The ChopTree.properties file will look like this when first created:
    Code:
    # -ChopTree Properties-
    # You can add or change the command and toggle command aliases here.
    # Because of technical limitations the console commands will always be "ChopTree" and "ct", but the in-game comments will be taken from here.
    
    Command = ChopTree, ct
    Toggle = ToggleChop, tc
    
    # Here you can change the options (can also be done in-game).
    
    ActiveByDefault = true
    UseAnything = true
    MoreDamageToTools = false
    InterruptIfToolBreaks = false
    SupportMcmmoIfAvailable = true
    TreeFellerNeeded = false
    LogsMoveDown = false
    OnlyTrees = true
    
    # -Material List-
    # If the "UseAnything" option is false, the plugin will take the items you can use to chop trees with from here.
    # You can either put in the material's name or its ID.
    
    mat = WOOD_AXE
    mat = STONE_AXE
    mat = IRON_AXE
    mat = GOLD_AXE
    mat = DIAMOND_AXE
    
    Command and Toggle can be changed manually by just adding more aliases for them, seperated by commas. Note that if you run the command from the console it will always have the aliases "ChopTree" and "ct", no matter what it says in your file.
    You can also remove either of the lines to disable the command for players completely.

    The options can be changed manually in the file too. To find out which option has which effect look at the "Commands" section below.

    The material list will only be used if the option UseAnything is false. In that case you can specify which items players can use to chop trees with this plugin, other items will not trigger plugin effects (except chunk protection). You can either use the item ID or it's name.
    If you want to make tree chopping more costly you can only allow gold axes for example.
    List of item IDs on Minecraft Wiki, list of all item names in the Bukkit documentation.


    Commands:
    Show Spoiler

    ChopTree - show status of all options.
    ChopTree (option) - show status of specified option.
    ChopTree (option) (true/false) - switch option on or off.
    ChopTree chunk - shows if your current chunk is protected.
    ChopTree protect - deactivates the plugin in your chunk.
    ChopTree fullprotect - disables destroying logs in general (not only with plugin) in your chunk.
    ChopTree reload - reloades changes from your properties file (the normal reload won't do that)
    ToggleChop - toggles the plugin on and off for a player.

    (option) can be:
    ActiveByDefault - choose if plugin will be toggled on or off for players (on).​
    UseAnything - if activated players can use any item to chop trees, else materials list will be used (off).​
    MoreDamageToTools - toggles damage to tools for every chooped log (off).​
    InterruptIfToolBreaks - if activated tree chopping will interrupt if the tool breaks (off).​
    SupportMcmmoIfAvailable - if activated plugin will support mcMMO if it can find it (on).​
    TreeFellerNeeded - choose if players need to have mcMMO's tree feller enabled (off).​
    LogsMoveDown - if activated logs will move down when chopped instead of popping like cacti (off).​
    OnlyTrees - if enabled only trees can be chopped, else all logs can be (on).​
    EnableOverride - if enabled choptree.override nodes can be used (off)​



    Aliases:
    Show Spoiler

    ct or "command" in properties file for ChopTree.
    tc or "toggle" in properties file for ToggleChop.
    c for chunk.
    p for protect.
    f or full for fullprotect.
    r for reload
    a or default for ActiveByDefault.
    u or anything for UseAnything.
    m or damage for MoreDamageToTools.
    i or interrupt for InterruptIfToolBreaks.
    l or down for LogsMoveDown.
    o or trees for OnlyTrees.
    e or override for EnableOverride.


    Permissions:
    Show Spoiler

    Permissions node - description (default if you are not using Permissions)

    choptree.chop - chop trees using this plugin (all)

    choptree.command.check - check what status the options have (all)
    choptree.command.change - change status of options (ops)
    choptree.command.toggle - toggle plugin per player (all)
    choptree.command.protect - protect/unprotect chunks (ops)
    choptree.command.chunk - see if the chunk is protected (all)
    choptree.command.reload - reload properties file (ops)

    Override nodes will be ignored if EnableOverride is false.

    choptree.override.moredamagetotools - will not have tools damaged for every log (off)
    choptree.override.useanything - can use any item (off)
    choptree.override.interruptiftoolbreaks - chopping won't interrupt when the tool breaks (off)
    choptree.override.treefellerneeded - tree feller is never needed (off)
    choptree.override.onlytrees - can chop all logs, not only trees (off)
    choptree.override.chunkprotection - chunk protection will be ignored (ops)


    To Do:
    • (Medium) Test with WorldGuard, remove conflict
    • (Medium) Enhance isTree algorithm a bit more
    • (Medium) Add [tools], [non-tools] and [hands] to material list
    • (Low) Add configurable drops
    • (Low) Add automatic sapling replant
    Changelog:
    • Version 1.24 by Arcwolf - Download (JAR file) | Source (ZIP file) - July 28. '11
      • Removed deprecated methods
      • Fixed mcMMO compatibility
      • Updated for Craftbukkit build [1000]
    • Version 1.23 - Download (JAR file) | Source (ZIP file) - June 02. '11
      • Fixed an error with iron axe receiving double damage as if it wasn't an axe
      • Added /ct reload command to reload changes from properties file
    • Version 1.22_2 - Download (JAR file) | Source (ZIP file) - June 01. '11
      • Recompiled for Minecraft 1.6.6/Craftbukkit [818]
    • Version 1.22_1 - Download (JAR file) | Source (ZIP file) - May 22. '11
      • Fixed chunk protection Permissions
    • Version 1.22 - Download (JAR file) | Source (ZIP file) - May 22. '11
      • Fixed chunk protection
    • Version 1.21 - Download (JAR file) | Source (ZIP file) - May 16. '11
      • Added EnableOverride option (off by default) to fix wildcard problem
    • Version 1.2 - Download (JAR file) | Source (ZIP file) - May 14. '11
      • Rewrote tree finding algorithm
      • Fixed some bugs leading clients to crash
      • Fixed and extended Permissions support
      • Added toggle commands
      • Added mcMMO support
      • Added option that player has to have mcMMO's TreeFeller enabled
      • Added optional damage to tools
      • Added optional tools list to restrict using this plugin only with certian tools
      • Added option to let trees go down one by one instead of popping like cacti
      • Added chunk-wise protection
      • Included plugin.yml into source download
      • Probably more
    • Version 1.1 - Download (JAR file) | Source (ZIP file) - May 5. '11
      • Added Permissions support
      • Fixed bug with some pine trees not being chopped
    • Version 1.0 - Download (JAR file) | Source (ZIP file) - May 1. '11
      • Initial Release
     
  2. Offline

    Ratte

    I've seen some "hard breaking block"-plugins which makes blocks so they have to be broken several times, so 1 normal block break respawns the block and decreases it's "health" by 25%, so you have to break the block 4 times to actually remove it. Maybe that would help?

    And thanks for looking into that permission problem. :)
     
  3. Offline

    askmeaboutlo0m

     
  4. Offline

    Raspberry

    One small request... can you have a toggle for this being itemId dependent... so that way we could (on my server) require that the player wield a goldaxe instead of any axe. :)

    Thanks!

    Great plugin ... everybody loves it... we're just trying to find uses for gold :)
     
  5. Offline

    askmeaboutlo0m

    Already implemented for the next version :p
     
  6. Offline

    Raspberry

    AWESOME! thx!
     
  7. Offline

    NeonJ

    Is it possible to make axes recieve +1 durability for each log yielded?
     
  8. Offline

    Avous

    then they would never break :p
     
  9. Offline

    askmeaboutlo0m

    Will be in the next version.

    Actually if a tool has zero durability then that means it wasn't used yet and durability increases when using :p
    It should be named tool damage instead of durability though.
     
  10. Offline

    Sphax

    If I build an artificial very big tree (legitimately by putting logs AND by planting saplings on dirt above and then replacing dirt by another log, etc...), will this plugin will destroy all my artificial tree or will it be considered as an house and will work as by default ?

    If I chop a branch of a real tree, will all the tree be destroyed or just the entire branch (or just the log as by default) ?
     
    thecoolwolf likes this.
  11. Offline

    rouing

    I have a request.
    May you give a perma-link for CraftBukkitUpToDate?
     
  12. Offline

    thecoolwolf

    i have no clue how to code or anything but isn't it possible to calculate how many logs it is in the tree you just chopped and then call the event of breaking it X the number of logs in the tree? that way it will work with most RPG plugin i think:rolleyes: sry if it sounds stupid, im just trying to help:p
     
  13. Offline

    askmeaboutlo0m

    The tree finding algorithm works by checking if the top log has enough leaves, I don't think there's any other way of finding trees. So if that criteria is met your house will be chopped.
    But I plan to include chunk-wise protection in the next version which should be coming this week.

    If you can give me a link to what that is (a Google search didn't result in anything) I can have a look :p

    I tried doing it that exact way but it didn't work to just call the breaking event :p
    Fixed that mcMMO implementation another way though so at least that works. Still got some testing to do however.
     
    thecoolwolf likes this.
  14. Offline

    thecoolwolf

    http://forums.bukkit.org/threads/ad...keep-your-server-plugins-up-to-date-740.5026/ that's the link to craftbukkituptodate :3
     
  15. Offline

    pixelbat

    Conflicts with Worldguard, let's people chop down trees even on property that they don't have permission too.
     
  16. Offline

    askmeaboutlo0m

    Then worldguard does not have it's priority set low enough (the lowest gets called first) and I need my plugin to jump in before mcMMO.
    However I can try to find a way around that worldguard problem.
     
  17. Offline

    Sphax

    Checking if there is 1 or more logs adjacent to the log the player cut would maybe be a solution ? That would prevent artificial big trees to be destroyed with only one destroyed block ?
    And/or add an "undo" command specific to the the player ? For example "/choptree undo" ?
     
  18. Offline

    Infotaku

    Hey there this is perfectly the kind of MOD I'm looking for my server! This add a lot of realism.

    Do you think it could be possible to make the chop-time grow with the tree size ? It would be perfect then.
     
  19. Offline

    askmeaboutlo0m

    The one or more logs idea only works for some artificial trees. Treehouses would still break.
    An undo command is a good idea, but that would take some work with the logs you have in your inventory.
    Chunk-wise protection is included for the next update (which is nearly done, needs some Permissions work and testing).

    I can't change the time it takes to mine a block.
    However I could make it so you have to break a block multiple times but that's really unintuitive.
    For the next version there is an option to damage tools for every chopped block and to only allow certain tools. You could make that only gold axes can chop trees and you would have an added difficulty.
     
  20. Offline

    Infotaku

    Too bad, it would have been really nice. Like you said, breaking a block multiple times is not that great if it gives a wood block every time, but if it doesn't why not, as long as it allows players to chop a tree without having to jump around on dirt blocks :p
    If you ever consider to add such a thing to your MOD, I'll be the first one to use it, for sure!
    I'll keep an eye open but anyway, thx for the actual MOD ;)
     
  21. Offline

    askmeaboutlo0m

    I think I'll include some kind of gravity option so that trees will not explode but instead move down one by one until they're gone.
    It needs some testing though :p
     
  22. Offline

    Infotaku

    I wasn't asking THAT much O_O :p
    What about adding some "TIMBER!" yelling too xD
     
  23. Offline

    askmeaboutlo0m

    Making logs go down is actually easier than destroying a block multiple times because it works without databases and stuff :p
     
  24. Offline

    Infotaku

    Wouldn't it be weird to find yourself in the leaves while choping a tree ?
     
  25. Offline

    rmb938

    So in my server we made a giant tree out of logs and leaves. Someone hit a log and it all went poof!

    I thought this plugin doesn't destroy things made out of logs...
     
  26. Offline

    askmeaboutlo0m

    Leaves won't go down :p

    It only destroys trees, I never said it wouldn't destroy artificial trees ._.
    Next version will have chunk-wise protection.
     
  27. Offline

    Infotaku

    So that's perfect! But it will be kinda fun for you to manage the big trees with all the node ^^
     
  28. Offline

    askmeaboutlo0m

    I put that in already, still got some Permissions work to do before I can release it.
    And the tree check doesn't work when using the feature because the logs lose connection with leaves, I gotta do something about that.
     
  29. Offline

    Sphax

    Maybe you can also check if the log which will be destroyed is a block placed by player or not ?
     
  30. Offline

    askmeaboutlo0m

    That would just create a giant database that eventually makes this plugin really slow.
    And there's no way to check which logs were placed by players so if you load this plugin into an existing world it wouldn't work.
     
  31. Offline

    Chumber

    Using 1.1, some pine trees work, others won't - maybe because of the shape? Not all of them might have enough leaves around the top block...
     

Share This Page