Thizzy'z Tree Feller 1.13.4

The most customizable tree feller/timber plugin ever made.

  1. Thiz
    Full customization

    Configure custom trees with any combination of blocks for its leaves and logs!

    Configure custom tools with custom name, durability, enchantments, and more!

    Almost any configuration option can be customized for each tree or tool

    Tools or trees can be configured to only work in specific worlds, times of day, gamemodes, and more!

    Plug-and-play
    The default configuration will reliably cut down all vanilla trees, while not disturbing player-made structures.

    Many user-requested features:
    • Customizable permissions for each tree or tool
    • Global and tool or tree-based cooldowns
    • Tree felling animation
    • Advanced falling trees
    • Effects (particles, sounds, and explosions)
    • /treefeller reload
    • And more!
    Compatibility with the following plugins:
    • McMMO
    • Zrip’s Jobs Reborn
    • CoreProtect
    • GriefPrevention
    • WorldGuard
    FAQ
    Does it work with custom trees?
    Yes

    The tree feller is fully capable of detecting and cutting down trees of any shape and size, provided that the logs are connected.

    The default config is configured for vanilla trees. If you have very large trees or trees with multiple or mismatched wood or leaf types, you may have to add your own trees to the config.

    Many custom trees are generated improperly, containing diagonally connected or persistent leaves.

    If this is the case, you may have to enable ignore-leaf-data, diagonal-leaves, and player-leaves.

    My Tool/Tree settings aren't working!
    In version 1.11, the config was overhauled with more options.

    As a result of this overhaul, tool and tree-specific options no longer override global values.

    For example, if you want a single tree to require no leaves:
    1. Set `required-leaves` for every other tree to some value (default 10)
    2. Set the global `required-leaves` to 0
    3. Set `required-leaves` for the target tree to 0 (For readability)

    How do I get <blank> to work?
    1. Make sure you’re using the latest version

    2. Run /treefeller debug and try to cut down a tree.

    3. Check the startup logs in the server console
    If you are unable to pinpoint the problem, I’m happy to help on discord or GitHub. Make sure to provide the config, startup logs, and the debug information from /treefeller debug

    1.12?
    The 1.12-1.13 transition involved *The Flattening* and a lot of other changes, making the code fundamentally different.
    If you want a tree feller for 1.12 or lower, find a different plugin.


    Tips/Fun Facts
    You can use the tree feller for ores
    Add trees using ore for the trunk and with leaves disabled:
    • [COAL_ORE, COAL_ORE, {required-leaves: 0, leaf-range: 0, max-height: 256}]
    Add tools for each pickaxe with allowed-trees set to ORE
    • {type: IRON_PICKAXE, allowed-trees: ORE}
    Set allowed-trees for the axes to LOG
    • {type: IRON_AXE, allowed-trees: LOG}
    Fore more specific configuration, allowed-trees should be set to a list of tree indices, such as [0, 1, 2, 3, 4, 5] for the first 6 trees defined
    (you may need to set max-height higher as well)

    Note: You will need to adjust global and other trees' settings to allow for this- See "My Tool/Tree settings aren't working" under the FAQ

    You can define more than one tool or tree of the same type
    This is useful if you want OR behavior. In this example, a golden axe must have either unbreaking 1 or efficiency 2:
    tools:
    • {type: GOLDEN_AXE, required-enchantments: {unbreaking: 1}}
    • {type: GOLDEN_AXE, required-enchantments: {efficiency: 2}}
    Tools and trees are checked in order
    If you have an item that matches two tools, the first one will always be used.
    For example:
    • {type: IRON_AXE, required-enchantments: {unbreaking: 1}}
    • {type: IRON_AXE, required-enchantments: {unbreaking: 2}, effects: [explosion]}
    An explosion will never occur, as an iron axe with unbreaking 2 also matches the first tool.

    Commands
    /treefeller reload
    Permission: treefeller.reload
    - Reloads the tree feller configuration

    /treefeller help
    Permission: treefeller.help
    - Displays help for tree feller commands

    /treefeller on
    Permission: treefeller.on
    - Toggles on the tree feller for the player who ran the command

    /treefeller off
    Permission: treefeller.off
    - Toggles off the tree feller for the player who ran the command

    /treefeller toggle
    Permission: treefeller.toggle
    - Toggles the tree feller for the player who ran the command

    /treefeller debug [on|off]
    Permission: treefeller.debug
    - Toggles debug mode on or off globally

    Configuration
    When you update the tree feller, make sure to add any missing configuration options, as they will not be automatically added

    # Tree Feller by ThizThizzyDizzy
    # Version 1.13.4


    # If set to false, the tree feller will not list all its settings in the console on startup
    startup-logs: true

    # How far should the plugin scan for logs? (If a tree is larger, only the part within this distance will be felled)
    scan-distance: 256

    # How far away from logs should leaf blocks be destroyed? (set to 0 to prevent leaves from being destroyed) (Values over 6 are useless for vanilla trees, as these leaves would naturally decay anyway)
    leaf-range: 6

    # How many logs should be required for logs to be counted as a tree?
    required-logs: 4

    # How many leaves should be required for logs to be counted as a tree?
    required-leaves: 10

    # How many logs may be felled at with one stroke?
    max-logs: 250

    # How far from the bottom can you cut down a tree? (Prevents you from cutting it down from the top) 1 = bottom block
    max-height: 5

    # Should trees be able to be partially cut down if the tool has insufficient durability? It cannot be guaranteed what part of the tree will be cut down!
    allow-partial: false

    # Should leaves placed by players be cut down also? (Only works with _LEAVES materials)
    player-leaves: false

    # If set to true, leaves will be detected diagonally; May require ignore-leaf-data to work properly
    diagonal-leaves: false

    # If set to true, leaves' blockdata will be ignored. This should only be set if custom trees' leaves are not being destroyed when they should.
    ignore-leaf-data: false

    # Should trees larger than 1x1 require an entire horizontal cross-section to be mined before the tree fells? (Works for up to 2x2 trees)
    require-cross-section: false

    # If set to true, all non-leaf-block leaves will be distance-checked to make sure they belong to the tree being felled (ex. mushrooms or nether 'tree' leaves)
    # WARNING: THIS CAN CAUSE SIGNIFICANT LAG AND MAY LEAD TO UNSTABLE BEHAVIOR
    force-distance-check: false

    # Should the tree cut down with an animation?
    cutting-animation: false

    # Animation delay, in ticks
    anim-delay: 1

    # Should saplings be replanted?
    replant-saplings: false

    # Should saplings be spawned?
    # 0 = No, only replant if the leaves drop saplings
    # 1 = Yes, but only if the leaves do not drop enough
    # 2 = Yes, always spawn new saplings
    spawn-saplings: 0

    # What blocks can saplings be planted on?
    grass:
    - DIRT
    - GRASS_BLOCK
    - PODZOL

    # What felling behavior should logs have?
    # Valid options:
    # BREAK (default) The logs will break and fall as items
    # FALL The logs will fall as falling blocks
    # FALL_HURT The logs will fall as falling blocks and hurt any entity they land on
    # FALL_BREAK The logs will fall as falling blocks and break when they reach the ground
    # FALL_HURT_BREAK The logs will fall as falling brocks, hurt entities they land on, and break when they reach the ground
    # INVENTORY The logs will appear in the player's inventory as items
    # FALL_INVENTORY The logs will fall as falling blocks, break, and appear in the player's inventory upon reaching the ground
    # FALL_HURT_INVENTORY The logs will fall as falling blocks, break, hurt entities they land on, and appear in the player's inventory upon reaching the ground
    # NATURAL The logs will instantly fall in a more natural way (May not work with cutting-animation)
    # Note that falling blocks occasionally drop as items if they land wrong
    log-behavior: BREAK

    # What felling behavior should leaves have?
    # Valid options:
    # BREAK (default) The leaves will break and fall as items
    # FALL The leaves will fall as falling blocks
    # FALL_HURT The leaves will fall as falling blocks and hurt any entity they land on
    # FALL_BREAK The leaves will fall as falling blocks and break when they reach the ground (Leaf blocks will be dropped)
    # FALL_HURT_BREAK The leaves will fall as falling brocks, hurt entities they land on, and break when they reach the ground. (Leaf blocks will be dropped)
    # INVENTORY The leaves will appear in the player's inventory as items
    # FALL_INVENTORY The leaves will fall as falling blocks, break, and appear in the player's inventory upon reaching the ground
    # FALL_HURT_INVENTORY The leaves will fall as falling blocks, break, hurt entities they land on, and appear in the player's inventory upon reaching the ground
    # NATURAL The leaves will instantly fall in a more natural way (May not work with cutting-animation)
    # Note that falling blocks occasionally drop as items if they land wrong, and falling leaves will drop leaf blocks if they do
    leaf-behavior: BREAK

    # Which direction should the tree fall in?
    # (Only used when log or leaf behavior is set to FALL or similar)
    # Valid options:
    # RANDOM The tree will fall in a random direction
    # TOWARD The tree will fall towards the player
    # AWAY The tree will fall away from the player
    # LEFT The tree will fall to the player's left
    # RIGHT The tree will fall to the player's right
    # NORTH The tree will fall to the north
    # SOUTH The tree will fall to the south
    # EAST The tree will fall to the east
    # WEST The tree will fall to the west
    # NORTH_WEST The tree fill fall to the northwest
    # NORTH_EAST The tree fill fall to the northeast
    # SOUTH_WEST The tree fill fall to the southwest
    # SOUTH_EAST The tree fill fall to the southeast
    directional-fall-behavior: RANDOM

    # This is the list of blocks that may be overridden when a tree falls onto them (e.g air, grass, water)
    # (Only used for NATURAL fell behavior)
    overridables:
    - CAVE_AIR
    - TALL_GRASS
    - TALL_SEAGRASS
    - GRASS
    - AIR
    - WATER
    - SEAGRASS
    - FERN
    - LARGE_FERN

    # If set to true, trees can only fall in one of the cardinal directions (N/S/E/W)
    lock-fall-cardinal: false

    # How much horizontal velocity should falling trees get?
    # (Only used when log or leaf behavior is set to FALL or similar)
    # All of the blocks in the tree will fall in the same direction with this velocity.
    directional-fall-velocity: 0.35

    # How much upwards velocity should falling trees get?
    # (Only used when log or leaf behavior is set to FALL or similar)
    vertical-fall-velocity: 0.05

    # How much random sideways velocity should falling blocks get?
    # (Only used when log or leaf behavior is set to FALL or similar)
    random-fall-velocity: 0.0

    # If a tool has unbreaking, should it take less damage from cutting trees?
    respect-unbreaking: true

    # How much damage should tools take per log? (Multiplier)
    damage-mult: 1.0

    # Should Fortune on an axe be applied to leaves?
    leaf-fortune: true

    # Should Silk Touch on an axe be applied to leaves?
    leaf-silk-touch: false

    # Should Fortune on an axe be applied to logs?
    log-fortune: true

    # Should Silk Touch on an axe be applied to leaves?
    log-silk-touch: true

    # When a tree is felled, should a stump be left? (The stump consists of any log blocks below the point at which the tree was felled)
    # This may cause issues with custom trees that have multiple trunks or branches that extend very low
    leave-stump: false

    # When trees fall, should the logs rotate as they fall? (This makes it look more realistic, with logs landing horizontally)
    # (Only used when log or leaf behavior is set to FALL or similar)
    rotate-logs: true

    # Should _WOOD blocks in trees be converted to _LOG when they drop as items?
    convert-wood-to-log: true

    # How often should leaves drop items? Set this to 0.0 to stop leaves from dropping items altogether (Only works with BREAK behavior)
    leaf-drop-chance: 1.0

    # How often should logs drop items? Set this to 0.0 to stop logs from dropping items altogether (Only works with BREAK behavior)
    log-drop-chance: 1.0

    # Global effects are applied every time a tree is felled, regardless of tree type or tool
    # use ALL for all effects
    # ex:
    # - ghost sound
    # - smoke
    global-effects:
    - ALL

    # Tools must have these enchantments at this level or higher to fell trees
    # ex:
    # - unbreaking: 2
    # - efficiency: 5
    required-enchantments:

    # Tools must not have these enchantments or have them lower than this level to fell trees
    # ex:
    # - silk_touch: 1
    # - unbreaking: 3
    banned-enchantments:

    # Tools with less than this much durability will be unable to fell trees
    min-durability:

    # Tools with more than this much durability will be unable to fell trees
    max-durability:

    # Tools with less than this percentage of durability will be unable to fell trees
    min-durability-percent:

    # Tools with more than this percentage of durability will be unable to fell trees
    max-durability-percent:

    # If set to true, tools will not be able to fell a tree if doing so would break the tool.
    prevent-breakage: false

    # Tools must have all literal strings in this list in order to fell trees
    # ex:
    # - Can fell trees
    required-lore:

    # A tool's name must match exactly in order to fell trees (colors can be designated with &)
    required-name:

    # Trees can only be cut down by players who have all permissons listed here
    # ex:
    # - treefeller.example
    required-permissions:

    # What should the minimum time be for felling trees? (0-24000)
    min-time:

    # What should the maximum time be for felling trees? (0-24000)
    max-time:

    # What should the maximum phase be for felling trees? (0-7)
    # Phases:
    # 0 = full moon
    # 1 = waning gibbous
    # 2 = first quarter
    # 3 = waning crescent
    # 4 = new moon
    # 5 = waxing crescent
    # 6 = third quarter
    # 7 = waxing gibbous
    min-phase:

    # What should the minimum phase be for felling trees? (0-7)
    # Phases:
    # 0 = full moon
    # 1 = waning gibbous
    # 2 = first quarter
    # 3 = waning crescent
    # 4 = new moon
    # 5 = waxing crescent
    # 6 = third quarter
    # 7 = waxing gibbous
    max-phase:

    # Tool's CustomModelData must match in order to fell trees
    custom-model-data:

    # Should the tree feller work in adventure mode?
    enable-adventure: false

    # Should the tree feller work in survival mode?
    enable-survival: true

    # Should the tree feller work in creative mode?
    enable-creative: false

    # Should the tree feller work when sneaking?
    with-sneak: false

    # Should the tree feller work when not sneaking?
    without-sneak: true

    # In what worlds should the tree feller work? (Inverted if world-blacklist is set to true)
    worlds:

    world-blacklist: false

    # How long (in ticks) should players have to wait before felling another tree?
    cooldown:

    # Toggle compatibility with Jobs Reborn
    compatibility-jobs: true

    # Toggle compatibility with McMMO
    compatibility-mcmmo: true

    # Toggle compatibility with CoreProtect
    compatibility-coreprotect: true

    # Toggle compatibility with WorldGuard
    compatibility-worldguard: true

    # Toggle compatibility with GriefPrevention
    compatibility-griefprevention: true

    # What tools can be used to cut down trees?
    # Format:
    # - {type: AXE_MATERIAL, <variables>}
    # Any of the following variables may be used: (See above for descriptions)
    # scan-distance
    # leaf-range
    # required-logs
    # required-leaves
    # max-logs
    # max-height
    # allow-partial
    # player-leaves
    # require-cross-section
    # cutting-animation
    # anim-delay
    # replant-saplings
    # spawn-saplings
    # log-behavior
    # leaf-behavior
    # directional-fall-behavior
    # overridables
    # lock-fall-cardinal
    # directional-fall-velocity
    # vertical-fall-velocity
    # random-fall-velocity
    # respect-unbreaking
    # damage-mult
    # leaf-fortune
    # leaf-silk-touch
    # log-fortune
    # log-silk-touch
    # leave-stump
    # rotate-logs
    # convert-wood-to-log
    # leaf-drop-chance
    # log-drop-chance
    # global-effects
    # required-enchantments
    # banned-enchantments
    # min-durability
    # max-durability
    # min-durability-percent
    # max-durability-percent
    # prevent-breakage
    # required-lore
    # required-name
    # required-permissions
    # min-time
    # max-time
    # min-phase
    # max-phase
    # custom-model-data
    # allowed-trees The tool can only fell specific trees. <values> is a list of tree indexes, starting at 0 (the first tree defined is 0, the second is 1, etc.)
    # enable-adventure
    # enable-survival
    # enable-creative
    # with-sneak
    # without-sneak
    # worlds
    # world-blacklist
    # cooldown
    # AIR can be used instead of an item name if you want every item, including an empty hand, to fell a tree
    # Examples of valid tools:
    # - {type: WOODEN_AXE, required-enchantments: {efficiency: 4, unbreaking: 1}, banned-enchantments: {unbreaking: 2}, min-durability: 4, max-durability-percent: 0.9}
    # - {type: DIAMOND_AXE, required-enchantments: {efficiency: 4}, banned-enchantments: {unbreaking: 2}, required-lore: [A line of lore, Another line of lore]}
    # - {type: GOLDEN_AXE, required-permissions: [treefeller.example,treefeller.anotherexample]}
    # - STONE_AXE
    # - {type: IRON_AXE, allowed-trees: [0,1,3]} <-this tool can only cut down the first, second, and fourth trees defined.
    # - {type: AIR, damage-mult: 0}
    tools:
    - WOODEN_AXE
    - STONE_AXE
    - IRON_AXE
    - GOLDEN_AXE
    - DIAMOND_AXE
    - NETHERITE_AXE

    # What materials count as trees?
    # Format:
    # - [[TRUNK_MATERIALS], [LEAF_MATERIALS], {<options>}]
    # Any of the following variables may be used: (See above for descriptions)
    # leaf-range:
    # required-logs:
    # required-leaves:
    # max-logs:
    # max-height:
    # allow-partial:
    # player-leaves:
    # diagonal-leaves:
    # ignore-leaf-data:
    # require-cross-section:
    # force-distance-check:
    # cutting-animation:
    # anim-delay:
    # replant-saplings:
    # spawn-saplings:
    # sapling: If replant-saplings is enabled, this will replant the tree with this type of sapling
    # max-saplings: If replant-saplings is enabled, this will limit the number of saplings that can be replanted
    # grass:
    # log-behavior:
    # leaf-behavior:
    # directional-fall-behavior:
    # overridables:
    # lock-fall-cardinal:
    # directional-fall-velocity:
    # vertical-fall-velocity:
    # random-fall-velocity:
    # respect-unbreaking:
    # damage-mult:
    # leaf-fortune:
    # leaf-silk-touch:
    # log-fortune:
    # log-silk-touch:
    # leave-stump:
    # rotate-logs:
    # convert-wood-to-log:
    # leaf-drop-chance:
    # log-drop-chance:
    # global-effects:
    # required-enchantments:
    # banned-enchantments:
    # min-durability:
    # max-durability:
    # min-durability-percent:
    # max-durability-percent:
    # prevent-breakage:
    # required-lore:
    # required-name:
    # required-permissions:
    # min-time:
    # max-time:
    # min-phase:
    # max-phase:
    # custom-model-data:
    # enable-adventure:
    # enable-survival:
    # enable-creative:
    # with-sneak:
    # without-sneak:
    # worlds:
    # world-blacklist:
    # cooldown:
    # Examples of valid trees:
    # - [[OAK_LOG, OAK_WOOD], OAK_LEAVES]
    # - [BIRCH_LOG, BIRCH_LEAVES]
    # - [STONE, NETHERRACK, {damage-mult: 50, allow-partial: false, sapling: OAK_SAPLING}]
    # - SPRUCE_LOG <-This will attempt to automatically detect the leaf material.
    trees:
    - [[OAK_LOG, OAK_WOOD], OAK_LEAVES, {sapling: OAK_SAPLING, max-saplings: 1}]
    - [[BIRCH_LOG, BIRCH_WOOD], BIRCH_LEAVES, {sapling: BIRCH_SAPLING, max-saplings: 1}]
    - [[SPRUCE_LOG, SPRUCE_WOOD], SPRUCE_LEAVES, {sapling: SPRUCE_SAPLING, max-saplings: 1}]
    - [[JUNGLE_LOG, JUNGLE_WOOD], JUNGLE_LEAVES, {sapling: JUNGLE_SAPLING, max-saplings: 4}]
    - [[DARK_OAK_LOG, DARK_OAK_WOOD], DARK_OAK_LEAVES, {sapling: DARK_OAK_SAPLING, max-saplings: 4}]
    - [[ACACIA_LOG, ACACIA_WOOD], ACACIA_LEAVES, {sapling: ACACIA_SAPLING, max-saplings: 1}]
    - [[CRIMSON_STEM, CRIMSON_HYPHAE], [NETHER_WART_BLOCK, SHROOMLIGHT], {sapling: CRIMSON_FUNGUS, max-saplings: 1, grass: [CRIMSON_NYLIUM], diagonal-leaves: true, leaf-range: 8}]
    - [[WARPED_STEM, WARPED_HYPHAE], [WARPED_WART_BLOCK, SHROOMLIGHT], {sapling: WARPED_FUNGUS, max-saplings: 1, grass: [WARPED_NYLIUM], diagonal-leaves: true, leaf-range: 8}]

    # Here, you can create custom effects for trees or tools
    # Fields:
    # name: <value> This is the effect's name. It is used to assign the effect to a tree or tool
    # chance: <value> This is the chance of the effect happening (0-1, default 1)
    # location: <value> This is where the effect will occur. valid options:
    # logs The effect will occur at every log in the tree
    # leaves The effect will occur at every block of leaves in the tree
    # tree The effect will occur at every block in the tree
    # tool The effect will occur at the block that was cut down
    # type: <value> This is what type of effect should occur. Valid options:
    # particle A particle effect, such as flame, block, etc. particles
    # sound Any sound
    # explosion An explosion that Will destroy blocks and items- This will occur after the block is destroyed
    # Particle settings:
    # particle: <value> The particle to display
    # x: <value> The X offset from the center of the block to display the particle (default 0)
    # y: <value> The Y offset from the center of the block to display the particle (default 0)
    # z: <value> The Z offset from the center of the block to display the particle (default 0)
    # dx: <value> The delta X of the particle field (default 0)
    # dy: <value> The delta Y of the particle field (default 0)
    # dz: <value> The delta Z of the particle field (default 0)
    # speed: <value> The speed of the particles (default 0)
    # count: <value> The number of particles to display (default 1)
    # Extra information is required for some particles
    # For Dust particles:
    # r: <value> The Red color channel for this particle, 0-255
    # g: <value> The Green color channel for this particle, 0-255
    # b: <value> The Blue color channel for this particle, 0-255
    # size: <value> The size of the particle
    # for Item particles:
    # item: <value> The item to be used for this particle
    # for Block or Falling Dust particles:
    # block: <value> The block to be used for this particle
    # Sound settings:
    # sound: <value> The sound to play
    # volume: <value> The volume at which to play the sound (Default 1)
    # pitch: <value> The pitch at which to play the sound (0.5-2, Default 1)
    # Explosion settings:
    # power: <value> The explosion power, where creepers are 3, tnt 4, charged creepers 5
    # fire: (true|false) Weather or not to light fires with the explosion (Default false)
    # Examples of valid effects:
    # - {name: smoke, chance: 1, location: logs, type: particle, particle: smoke, dx: 0.5, dy: 0.5, dz: 0.5, speed: .01, count: 10}
    # - {name: explosion, chance: .01, location: tool, type: explosion, power: 4}
    # - {name: ghost sound, chance: .1, location: tree, type: sound, sound: ambient.cave, volume: 10, pitch: 0.5}
    effects:

    # Here, you can customize what messages are sent the tree feller is unable to cut down a tree. Most options are customizable; The debug messages are provided for reference
    # Format: prefix-<option name>-suffix: "<text>"
    # Valid prefixes are:
    # debug This is the message used when debug mode is on
    # actionbar This will be sent to the player's actionbar
    # chat This will be sent to the player in the chat
    # Valid suffixes are:
    # <no suffix> This defines what message is sent when this option's global requirement is not met
    # -tool This defines what message is sent when a tool requirement is not met
    # -tree This defines what message is sent when a tree requirement is not met
    # -success This defines what message is sent when global, tree, and tool requirements for are all met
    # In addition to the options, there are a few additional messages that can be customized:
    # toggle This is sent when the player cuts down a tree when the tree feller is off
    # checking This is sent for each tree/tool pair the tree feller checks
    # durability-low This is sent when the tool's durability is too low to fell the tree
    # partial This is sent when a tree is being partially cut
    # protected This is sent when a tree cannot be felled due to a protection plugin (This may be on top of that plugin's protected message)
    # success This is sent when a tree is successfully felled
    # For example, if you want a player to be sent a message in the chat if the tree is too small:
    # chat-required-logs: The tree's too small!

    debug-toggle: "Tree feller is currently toggled off"
    debug-checking: "Checking tree #{0} with tool #{1}"
    debug-prevent-breakage: "Felling this tree would break the tool"
    debug-prevent-breakage-success: "Felling this tree won't break the tool"
    debug-durability-low: "Tool durability is too low: {0}<{1}"
    debug-partial: "Tool is cutting partial tree"
    debug-protected: "This tree is protected by {0} at {1} {2} {3}"
    debug-success: "Success! Felling tree..."
    debug-required-logs: "Tree has too few logs: {0}<{1}"
    debug-required-logs-tool: "Tree has too few logs for tool: {0}<{1}"
    debug-required-logs-tree: "Tree has too few logs for tree: {0}<{1}"
    debug-required-logs-success: "Tree has enough logs"
    debug-required-leaves: "Tree has too few leaves: {0}<{1}"
    debug-required-leaves-tool: "Tree has too few leaves for tool: {0}<{1}"
    debug-required-leaves-tree: "Tree has too few leaves for tree: {0}<{1}"
    debug-required-leaves-success: "Tree has enough leaves"
    debug-max-logs: "Tree has too many logs: {0}>{1}"
    debug-max-logs-tool: "Tree has too many logs for tool: {0}>{1}"
    debug-max-logs-tree: "Tree has too many logs for tree: {0}>{1}"
    debug-max-logs-success: "Tree has few enough logs"
    debug-max-height: "Tree was cut {0} blocks too high"
    debug-max-height-tool: "Tree was cut {0} blocks too high for tool"
    debug-max-height-tree: "Tree was cut {0} blocks too high for tree"
    debug-max-height-success: "Tree was cut low enough"
    debug-require-cross-section: "A full cross-section has not been cut"
    debug-require-cross-section-tool: "A full cross-section has not been cut for tool"
    debug-require-cross-section-tree: "A full cross-section has not been cut for tree"
    debug-require-cross-section-success: "A full cross-section has been cut"
    debug-required-enchantments: "Enchantment missing: {0} at minimum level {1}"
    debug-required-enchantments-tool: "Enchantment missing for tool: {0} at minimum level {1}"
    debug-required-enchantments-tree: "Enchantment missing for tree: {0} at minimum level {1}"
    debug-required-enchantments-success: "All required enchantments met"
    debug-banned-enchantments: "Tool contains banned enchantment: {0} above level {1}"
    debug-banned-enchantments-tool: "Tool contains banned enchantment for tool: {0} above level {1}"
    debug-banned-enchantments-tree: "Tool contains banned enchantment for tree: {0} above level {1}"
    debug-banned-enchantments-success: "No banned enchantments found"
    debug-min-durability: "Tool durability is less than minimum allowed: {1}"
    debug-min-durability-tool: "Tool durability is less than minimum allowed for tool: {1}"
    debug-min-durability-tree: "Tool durability is less than minimum allowed for tree: {1}"
    debug-min-durability-success: "Tool meets minimum durability requirement"
    debug-max-durability: "Tool durability is greater than maximum allowed: {1}"
    debug-max-durability-tool: "Tool durability is greater than maximum allowed: {1}"
    debug-max-durability-tree: "Tool durability is greater than maximum allowed: {1}"
    debug-max-durability-success: "Tool meets maximum durability requirement"
    debug-min-durability-percent: "Tool durability is less than minimum allowed: {1}"
    debug-min-durability-percent-tool: "Tool durability is less than minimum allowed for tool: {1}"
    debug-min-durability-percent-tree: "Tool durability is less than minimum allowed for tree: {1}"
    debug-min-durability-percent-success: "Tool meets minimum durability requirement"
    debug-max-durability-percent: "Tool durability is greater than maximum allowed: {1}"
    debug-max-durability-percent-tool: "Tool durability is greater than maximum allowed: {1}"
    debug-max-durability-percent-tree: "Tool durability is greater than maximum allowed: {1}"
    debug-max-durability-percent-success: "Tool meets maximum durability requirement"
    debug-required-lore: "Tool is missing required lore: {0}"
    debug-required-lore-tool: "Tool is missing required lore for tool: {0}"
    debug-required-lore-tree: "Tool is missing required lore for tree: {0}"
    debug-required-lore-success: "Tool has all required lore"
    debug-required-name: "Tool name does not match required name: {0}"
    debug-required-name-tool: "Tool name does not match required name for tool: {0}"
    debug-required-name-tree: "Tool name does not match required name for tree: {0}"
    debug-required-name-success: "Tool name matches"
    debug-required-permissions: "Player is missing required permission: {0}"
    debug-required-permissions-tool: "Player is missing required permission for tool: {0}"
    debug-required-permissions-tree: "Player is missing required permission for tree: {0}"
    debug-required-permissions-success: "Player has all required permissions"
    debug-min-time: "Time is less than minimum allowed: {0}"
    debug-min-time-tool: "Time is less than minimum allowed for tool: {0}"
    debug-min-time-tree: "Time is less than minimum allowed for tree: {0}"
    debug-min-time-success: "Time meets minimum requirement"
    debug-max-time: "Time is greater than maximum allowed: {0}"
    debug-max-time-tool: "Time is greater than maximum allowed for tool: {0}"
    debug-max-time-tree: "Time is greater than maximum allowed for tree: {0}"
    debug-max-time-success: "Time meets maximum requirement"
    debug-min-phase: "Phase is less than minimum allowed: {0}"
    debug-min-phase-tool: "Phase is less than minimum allowed for tool: {0}"
    debug-min-phase-tree: "Phase is less than minimum allowed for tree: {0}"
    debug-min-phase-success: "Phase meets minimum requirement"
    debug-max-phase: "Phase is greater than maximum allowed: {0}"
    debug-max-phase-tool: "Phase is greater than maximum allowed for tool: {0}"
    debug-max-phase-tree: "Phase is greater than maximum allowed for tree: {0}"
    debug-max-phase-success: "Phase meets maximum requirement"
    debug-custom-model-data: "Custom model data does not match#: {0} != {1}"
    debug-custom-model-data-tool: "Custom model data does not match#: {0} != {1}"
    debug-custom-model-data-tree: "Custom model data does not match#: {0} != {1}"
    debug-custom-model-data-success: "Custom model data matches!"
    debug-allowed-trees-tool: "Tree is not allowed for tool: {0}"
    debug-allowed-trees-success: "Tree is allowed for tool"
    debug-enable-adventure: "TreeFeller is disabled in adventure mode"
    debug-enable-adventure-tool: "Tool is disabled in adventure mode"
    debug-enable-adventure-tree: "Tree is disabled in adventure mode"
    debug-enable-adventure-success: "All components OK for adventure mode"
    debug-enable-survival: "TreeFeller is disabled in survival mode"
    debug-enable-survival-tool: "Tool is disabled in survival mode"
    debug-enable-survival-tree: "Tree is disabled in survival mode"
    debug-enable-survival-success: "All components OK for survival mode"
    debug-enable-creative: "TreeFeller is disabled in creative mode"
    debug-enable-creative-tool: "Tool is disabled in creative mode"
    debug-enable-creative-tree: "Tree is disabled in creative mode"
    debug-enable-creative-success: "All components OK for creative mode"
    debug-with-sneak: "TreeFeller is disabled when sneaking"
    debug-with-sneak-tool: "Tool is disabled when sneaking"
    debug-with-sneak-tree: "Tree is disabled when sneaking"
    debug-with-sneak-success: "Felling allowed when sneaking"
    debug-without-sneak: "TreeFeller is disabled when not sneaking"
    debug-without-sneak-tool: "Tool is disabled when not sneaking"
    debug-without-sneak-tree: "Tree is disabled when not sneaking"
    debug-without-sneak-success: "Felling allowed when not sneaking"
    debug-worlds: "World {0} is invalid"
    debug-worlds-tool: "World {0} is invalid for tool"
    debug-worlds-tree: "World {0} is invalid for tree"
    debug-worlds-success: "World {0} is valid"
    debug-cooldown: "Cooldown remaining: {0}ms"
    debug-cooldown-tool: "Tool cooldown remaining: {0}ms"
    debug-cooldown-tree: "Tree cooldown remaining: {0}ms"
    debug-cooldown-success: "Cooldown ready"
    Discord
    https://discord.gg/dhcPSMt

Recent Reviews

  1. exciteabletom
    exciteabletom
    5/5,
    Version: 1.13.4
    Well documented and easy to configure, Lots of options, no bugs. The animations look good and don't cause any server lag
  2. LegendaryDan
    LegendaryDan
    5/5,
    Version: 1.12
    This is one of the best customizable tree felling plugins I've found! If something didn't quite work how I wanted it, there was always an option in the config. After some "shopping around," it became apparent that this plugin chops down trees a bit more intelligently than other other plugins too.
  3. SSS.BarX
    SSS.BarX
    5/5,
    Version: 1.12
    Thank you for providing constant updates for this. We have a mining world that lets our users go absolutely crazy cutting down trees, and with this, it makes it much easier.
  4. coolpvpv
    coolpvpv
    4/5,
    Version: 1.11
    very cool but why have a option for it to work in adventure mode when you cant even break blocks in adventure mode?
    1. Thiz
      Author's Response
      You can break blocks in adventure mode if the tool you’re holding has the block in its canDestroy tag.
  5. PawPawDude
    PawPawDude
    5/5,
    Version: 1.11
    This has got to be one of the most CONFIGURABLE (and useful and cool!) plugins I've ever worked with. The myriad options are astounding.
  6. Drupz
    Drupz
    5/5,
    Version: 1.11
    Works great, even with custom trees. Thiz is very responsive on his discord and helps fix any bugs there might be quickly.
  7. lokka30
    lokka30
    5/5,
    Version: 1.10.4
    An excellent tree feller plugin!
    Very customisable, performant, simple and without dramas.
    Highly recommended.
  8. NotMyFault
    NotMyFault
    5/5,
    Version: 1.10.4
    A tree feller which actually works without any negative side effects. Thanks for this amazing resource.
  9. ResleyNation
    ResleyNation
    5/5,
    Version: 1.7.1
    Very good and smooth plugin, did you could add a tree fall animation, falling to a side.
    1. Thiz
      Author's Response
      If you set log-behavior to FALL in the config, the tree will fall to the side as individual blocks, although not very realistically. (A more realistic fall is in the works)

      However, if you’re referring to Dynamic trees style falling animation, there’s currently no option for that as it would cause more than 8x the lag, in addition to causing issues on /reload or server restart.
  10. smellyonionman
    smellyonionman
    5/5,
    Version: 1.7.1
    Cross-sections is an awesome feature, that's really cool. Thanks for all the quick bugfixes.