Ultimate Tree Feller

Default Behavior

Large Oak Tree

Individual Tree Detection

Birch trees with Overlapping leaves

Advanced Structure Detection

Advanced Structure Detection

Fully Configurable

Total Insanity

In-game Configuration

Custom trees can be configured in seconds by auto-detecting the tree's features

Configuring and felling a custom tree

Extensive Debugging info

Debugging info

  • 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 Classic
  • McMMO
  • EcoSkills
  • MMOCore
  • Zrip’s Jobs Reborn
  • CoreProtect
  • GriefPrevention
  • WorldGuard
  • Towny
  • Ore Regenerator
  • Drop2Inventory
  • And more!

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.

Troubleshooting?

If you can't get something 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

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-detect-range: 0, leaf-break-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 indexes, such as [0, 1, 2, 3, 4, 5] for the first 6 trees defined

(you may need to set max-height higher as well)

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
/treefeller config
Permission: treefeller.config
- Opens the ingame configuration

Donations

My plugins will always be free, but donations would be much appreciated ^-^
Consider supporting me on Ko-fi or Patreon:

ko-fi.com/thizthizzydizzy

patreon.com/thizthizzydizzy

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

 

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

# If set to false, the tree feller will be toggled off for each player by default (as with /treefeller toggle)
default-enabled: 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 detected?
leaf-detect-range: 6

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

# What is the maximum number of logs that a tree may have and still be counted as a tree?
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
force-distance-check: false

# Which decorations should be removed when felling? (ex. snow, vines)
decorations:
- snow
- vines
- cocoa
- weeping vines
- moss

# Which trunk blocks should prevent a tree from being felled? (Intended to help prevent player structures from being cut down)
# (For this to work, these must also be included in the tree trunk materials)
# Ex. planks/glass
banned-logs:

# Which blocks should prevent a tree from being felled? (Intended to help prevent player structures from being cut down)
# (For this to work, these must also be included in the tree leaf materials)
# Ex. planks or glass
banned-leaves:

# What is the maximum number of trunk blocks that may be in a horizontal line?
# (This is to help detect structures with long horizontal pillars of logs)
max-horizontal-trunk-pillar-length: 6

# What is the maximum number of trunks a tree may have?
# Note that the trunks are counted at the level at which the tree is cut; not at the base of the tree
# Similarly to leave-stump, this may include low-hanging leaves
max-trunks: 1

# 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 taken from the player's inventory to replant trees?
use-inventory-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

# The amount of delay a sapling may take to respawn (if spawn saplings is set to 1, saplings will be spawned only after this amount of time, but will still be immediately planted upon dropping from leaves)
sapling-timeout: 50

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

# How far away from the trunk can you use roots to cut down a tree?
root-distance: 6

# What felling behavior should logs have?
# Valid options:
# BREAK blocks will break and fall as items
# INVENTORY blocks will appear in the player's inventory as items, or fall as items if the player inventory is full
# NATURAL blocks will instantly fall in a more natural way (May not work with cutting-animation)
# FALL blocks will fall as falling blocks
# FALL_HURT blocks will fall as falling blocks and hurt any entity they land on
# FALL_BREAK blocks will fall as falling blocks and break when they reach the ground
# FALL_HURT_BREAK blocks will fall as falling blocks, hurt entities they land on, and break when they reach the ground
# FALL_INVENTORY blocks will fall as falling blocks, break, and appear in the player's inventory upon reaching the ground
# FALL_HURT_INVENTORY blocks will fall as falling blocks, break, hurt entities they land on, and appear in the player's inventory upon reaching the ground
# FALL_NATURAL blocks will fall as falling blocks. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_HURT blocks will fall as falling blocks and hurt any entity they land on. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_BREAK blocks will fall as falling blocks and break when they reach the ground. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_HURT_BREAK blocks will fall as falling blocks, hurt entities they land on, and break when they reach the ground. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_INVENTORY blocks will fall as falling blocks, break, and appear in the player's inventory upon reaching the ground. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_HURT_INVENTORY blocks will fall as falling blocks, break, hurt entities they land on, and appear in the player's inventory upon reaching the ground. Blocks will attempt to target a position to land as if the tree fell over realistically
# Note that falling blocks occasionally drop as items if they land wrong
log-behavior: BREAK

# What felling behavior should leaves have?
# Valid options:
# BREAK blocks will break and fall as items
# INVENTORY blocks will appear in the player's inventory as items, or fall as items if the player inventory is full
# NATURAL blocks will instantly fall in a more natural way (May not work with cutting-animation)
# FALL blocks will fall as falling blocks
# FALL_HURT blocks will fall as falling blocks and hurt any entity they land on
# FALL_BREAK blocks will fall as falling blocks and break when they reach the ground
# FALL_HURT_BREAK blocks will fall as falling blocks, hurt entities they land on, and break when they reach the ground
# FALL_INVENTORY blocks will fall as falling blocks, break, and appear in the player's inventory upon reaching the ground
# FALL_HURT_INVENTORY blocks will fall as falling blocks, break, hurt entities they land on, and appear in the player's inventory upon reaching the ground
# FALL_NATURAL blocks will fall as falling blocks. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_HURT blocks will fall as falling blocks and hurt any entity they land on. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_BREAK blocks will fall as falling blocks and break when they reach the ground. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_HURT_BREAK blocks will fall as falling blocks, hurt entities they land on, and break when they reach the ground. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_INVENTORY blocks will fall as falling blocks, break, and appear in the player's inventory upon reaching the ground. Blocks will attempt to target a position to land as if the tree fell over realistically
# FALL_NATURAL_HURT_INVENTORY blocks will fall as falling blocks, break, hurt entities they land on, and appear in the player's inventory upon reaching the ground. Blocks will attempt to target a position to land as if the tree fell over realistically
# Note that falling blocks occasionally drop as items if they land wrong
leaf-behavior: BREAK

# How much damage should falling blocks deal per block fallen? (Only applies to FALL_HURT fell behaviors)
fall-hurt-amount: 2.0

# What is the maximum amount of damage a falling block may deal upon landing? (Only applies to FALL_HURT fell behaviors)
fall-hurt-max: 40

# 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_EAST The tree will fall to the northeast
# SOUTH_EAST The tree will fall to the southeast
# NORTH_WEST The tree will fall to the northwest
# SOUTH_WEST The tree will fall to the southwest
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:
- AIR
- CAVE_AIR
- FERN
- GRASS
- LARGE_FERN
- SEAGRASS
- TALL_GRASS
- TALL_SEAGRASS
- WATER

# 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 explosive sideways velocity should falling blocks get? Velocity is applied away from the block that was used to cut down the tree (no velocity will be applied to blocks in the exact center)
# (Only used when log or leaf behavior is set to FALL or similar)
explosive-fall-velocity: 0.0

# 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

# An extra delay between breaking a block and spawning a falling block. (Only affects FALL behaviors)
# This is intended as a workaround for collision issues between fall behaviors and the cutting animation
fall-delay: 0

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

# If a tool has the (vanilla) Unbreakable tag, should it take no damage from felling trees?
respect-unbreakable: true

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

# If set to true, stacked tools will be consumed one at a time.
# This will treat the entire stack as one tool, so prevent-breakage will not keep individual tools from breaking, only the whole stack.
# WARNING: Stacked tools are not recommended!
stacked-tools: false

# 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 logs?
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

# A list of drops to convert into other drops when felling. add entries like this:
# oak_wood: oak_log
# oak_fence: stick
drop-conversions:
OAK_WOOD: OAK_LOG
SPRUCE_WOOD: SPRUCE_LOG
BIRCH_WOOD: BIRCH_LOG
JUNGLE_WOOD: JUNGLE_LOG
ACACIA_WOOD: ACACIA_LOG
DARK_OAK_WOOD: DARK_OAK_LOG
CRIMSON_HYPHAE: CRIMSON_STEM
WARPED_HYPHAE: WARPED_STEM

# Blocks in this list will never be broken; they will be converted instead.
block-conversions:

# 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

# How much food should be be consumed upon felling a tree? (This is in addition to per-block settings)
consumed-food-base: 0.0

# How much food should be be consumed per block of log upon felling a tree? (This is in addition to the base setting)
consumed-food-logs: 0.0

# How much food should be be consumed per block of leaves upon felling a tree? (This is in addition to the base setting)
consumed-food-leaves: 0.0

# How much health should be be consumed upon felling a tree? (This is in addition to per-block settings)
consumed-health-base: 0.0

# How much health should be be consumed per block of log upon felling a tree? (This is in addition to the base setting)
consumed-health-logs: 0.0

# How much health should be be consumed per block of leaves upon felling a tree? (This is in addition to the base setting)
consumed-health-leaves: 0.0

# 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 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
min-phase:

# 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
max-phase:

# How much food should be required to fell trees? (0 - 20)
min-food:

# What is the maximum food level allowed in order to fell trees? (0 - 20)
max-food:

# How much health should be required to fell trees?
min-health:

# What is the maximum health level allowed in order to fell trees?
max-health:

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

# If enabled, connected trees will also be felled resulting in a cascade that could fell an entire forest
cascade: false

# How many cascades can happen in the same tick? (Keep low to prevent runaway performance)
parallel-cascade-limit: 1

# How many cascade checks can happen in the same tick? (Much less performance impact, but will help performance when cutting down big trees)
cascade-check-limit: 64

# EXP will be provided to these professions when a tree is felled
# EXP is provided per-block (a value of 1 means 1 EXP per block of trunk)
# use "global" to add global experience
# ex:
# - global: 3
# - woodcutting: 8
mmocore-trunk-xp:
- woodcutting: 1

# EXP will be provided to these professions when a tree is felled
# EXP is provided per-block (a value of 1 means 1 EXP per block of leaves)
# use "global" to add global experience
# ex:
# - global: 3
# - woodcutting: 8
mmocore-leaves-xp:
- woodcutting: 0

# These professions' levels will be checked before a tree is felled
mmocore-required-profession-level:

# EXP will be provided to these professions when a tree is felled
# EXP is provided per-tree (a value of 1 means 1 EXP per tree)
# use "global" to add global experience
# ex:
# - global: 3
# - woodcutting: 8
mmocore-tree-xp:
- woodcutting: 0

# Toggle emulating MMOCore's Block Regen (see MMOCore/professions/mining.yml)
# MMOCore's "temp-block" option must not be set, otherwise tree will not fell
mmocore-emulate-regen: false

# Toggle compatibility with MMOCore
compatibility-mmocore: true

# Toggle compatibility with Jobs Reborn
compatibility-jobs: true

# Should the mcMMO Double Drops feature apply when cutting down trees?
mcmmo-double-drops: true

# Toggle compatibility with mcMMO
compatibility-mcmmo: true

# Toggle compatibility with mcMMO Classic
compatibility-mcmmo-classic: true

# Toggle compatibility with CoreProtect
compatibility-coreprotect: true

# Toggle compatibility with WorldGuard
compatibility-worldguard: true

# Toggle compatibility with GriefPrevention
compatibility-griefprevention: true

# Toggle compatibility with Towny
compatibility-towny: true

# The delay before trees should regenerate
oreregenerator-regen-delay: 1200

# Toggle compatibility with OreRegenerator
compatibility-oreregenerator: false

# Toggle compatibility with Drop2Inventory
compatibility-drop2inventory: true

# EXP will be provided to these skills when a tree is felled
# EXP is provided per-block (a value of 1 means 1 EXP per block of trunk)
ecoskills-trunk-xp:
- Woodcutting: 1

# EXP will be provided to these skills when a tree is felled
# EXP is provided per-block (a value of 1 means 1 EXP per block of leaves)
# use "global" to add global experience
# ex:
# - global: 3
# - woodcutting: 8
ecoskills-leaves-xp:
- woodcutting: 0

# EXP will be provided to these skills when a tree is felled
# EXP is provided per-tree (a value of 1 means 1 EXP per tree)
# use "global" to add global experience
# ex:
# - global: 3
# - woodcutting: 8
ecoskills-tree-xp:
- woodcutting: 0

# Toggle compatibility with EcoSkills
compatibility-ecoskills: true

# How much Job experience should be given per block of trunk felled?
ecojobs-trunk-xp:

# How much Job experience should be given per block of leaves felled?
ecojobs-leaf-xp:

# Should EcoJobs multipliers be applied to experience earned through TreeFeller?
ecojobs-apply-multipliers: true

# Toggle compatibility with EcoJobs
compatibility-ecojobs: true

# Toggle compatibility with LogBlock (pre-1.19)
compatibility-logblock-legacy: true

# Toggle compatibility with LogBlock (1.19)
compatibility-logblock: true

# Toggle compatibility with Lands
compatibility-lands: true

# Toggle compatibility with PlaceholderAPI
compatibility-placeholderapi: true

# Toggle compatibility with SaberFactions
compatibility-saberfactions: true

# EXP will be provided to these skills when a tree is felled
# EXP is provided per-block (a value of 1 means 1 EXP per block of trunk)
# ex:
# - foraging: 8
aureliumskills-trunk-xp:
- foraging: 1

# EXP will be provided to these skills when a tree is felled
# EXP is provided per-block (a value of 1 means 1 EXP per block of leaves)
# ex:
# - foraging: 8
aureliumskills-leaves-xp:
- foraging: 0

# Should AureliumSkills modifiers be applied to experience earned through TreeFeller?
aureliumskills-apply-modifiers: true

# Toggle compatibility with AureliumSkills
compatibility-aureliumskills: true

# Toggle compatibility with BlockRegen
compatibility-blockregen: false

# 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-detect-range
# leaf-break-range
# required-logs
# required-leaves
# max-logs
# max-height
# allow-partial
# player-leaves
# require-cross-section
# decorations
# banned-logs
# banned-leaves
# max-horizontal-trunk-pillar-length
# max-trunks
# cutting-animation
# anim-delay
# replant-saplings
# use-inventory-saplings
# spawn-saplings
# sapling-timeout
# log-behavior
# leaf-behavior
# fall-hurt-amount
# fall-hurt-max
# directional-fall-behavior
# overridables
# lock-fall-cardinal
# directional-fall-velocity
# vertical-fall-velocity
# explosive-fall-velocity
# random-fall-velocity
# fall-delay
# respect-unbreaking
# respect-unbreakable
# damage-mult
# stacked-tools
# leaf-fortune
# leaf-silk-touch
# log-fortune
# log-silk-touch
# leave-stump
# rotate-logs
# drop-conversions
# block-conversions
# leaf-drop-chance
# log-drop-chance
# global-effects
# consumed-food-base
# consumed-food-logs
# consumed-food-leaves
# consumed-health-base
# consumed-health-logs
# consumed-health-leaves
# 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
# min-food
# max-food
# min-health
# max-health
# custom-model-data
# allowed-trees If set, the tool can only fell specific trees. The given value is a list of tree indicies, 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
# cascade
# mmocore-required-profession-level
# mcmmo-double-drops
# ecojobs-trunk-xp
# ecojobs-leaf-xp
# ecojobs-apply-multipliers
# aureliumskills-apply-modifiers
# 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-detect-range
# leaf-break-range
# required-logs
# required-leaves
# max-logs
# max-height
# allow-partial
# player-leaves
# diagonal-leaves
# ignore-leaf-data
# require-cross-section
# force-distance-check
# decorations
# banned-logs
# banned-leaves
# max-horizontal-trunk-pillar-length
# max-trunks
# cutting-animation
# anim-delay
# replant-saplings
# use-inventory-saplings
# spawn-saplings
# sapling If replant-saplings is enabled, this will replant the tree with this type of sapling
# sapling-timeout
# max-saplings If replant-saplings is enabled, this will limit the number of saplings that can be replanted
# grass
# roots Roots can be used to cut down a tree when you can't reach the trunk. (The nearest tree will be attempted to be cut down)
# root-distance
# log-behavior
# leaf-behavior
# fall-hurt-amount
# fall-hurt-max
# directional-fall-behavior
# overridables
# lock-fall-cardinal
# directional-fall-velocity
# vertical-fall-velocity
# explosive-fall-velocity
# random-fall-velocity
# fall-delay
# respect-unbreaking
# respect-unbreakable
# damage-mult
# leaf-fortune
# leaf-silk-touch
# log-fortune
# log-silk-touch
# leave-stump
# rotate-logs
# drop-conversions
# block-conversions
# leaf-drop-chance
# log-drop-chance
# global-effects
# consumed-food-base
# consumed-food-logs
# consumed-food-leaves
# consumed-health-base
# consumed-health-logs
# consumed-health-leaves
# 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
# min-food
# max-food
# min-health
# max-health
# custom-model-data
# enable-adventure
# enable-survival
# enable-creative
# with-sneak
# without-sneak
# worlds
# world-blacklist
# cooldown
# cascade
# cascade-trees Which trees should be checked during a cascade? (If not set, only the tree which was originally cut will be checked) The given value is a list of tree indicies, starting at 0 (the first tree defined is 0, the second is 1, etc.)
# mmocore-trunk-xp
# mmocore-leaves-xp
# mmocore-required-profession-level
# mmocore-tree-xp
# mmocore-emulate-regen
# mcmmo-double-drops
# oreregenerator-regen-delay
# ecoskills-trunk-xp
# ecoskills-leaves-xp
# ecoskills-tree-xp
# ecojobs-trunk-xp
# ecojobs-leaf-xp
# ecojobs-apply-multipliers
# aureliumskills-trunk-xp
# aureliumskills-leaves-xp
# aureliumskills-apply-modifiers
# 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: 4}]
- [[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}]
- [[OAK_LOG, OAK_WOOD], [AZALEA_LEAVES, FLOWERING_AZALEA_LEAVES], {sapling: [AZALEA, FLOWERING_AZALEA], max-saplings: 1, diagonal-leaves: true}]
- [[MANGROVE_LOG, MANGROVE_WOOD], [MANGROVE_ROOTS, MANGROVE_LEAVES], {roots: [MANGROVE_ROOTS], sapling: [MANGROVE_PROPAGULE], max-saplings: 1, max-trunks: 16, max-horizontal-trunk-pillar-length: 16, leaf-detect-range: 16, leaf-break-range: 16, required-logs: 3, root-distance: 16, diagonal-leaves: true}]
- [[CHERRY_LOG, CHERRY_WOOD], CHERRY_LEAVES, {sapling: CHERRY_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-detect-range: 8, leaf-break-range: 8}]
- [[WARPED_STEM, WARPED_HYPHAE], [WARPED_WART_BLOCK, SHROOMLIGHT], {sapling: WARPED_FUNGUS, max-saplings: 1, grass: [WARPED_NYLIUM], diagonal-leaves: true, leaf-detect-range: 8, leaf-break-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
# decoration The effect will occur at every block of decorations removed from the tree
# tool The effect will occur at the block that was cut down
# tool_break The effect will occur at the block that was cut down, when the tool breaks
# 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
# marker A marker for use with datapacks (An armor stand or area effect cloud)
# 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)
# Marker settings:
# permanent: (true|false) If true, an armor stand will be created. If false, an area effect cloud will be created. (Area effect clouds last exactly 1 tick)
# tags: [<values>] A list of tags to apply to the created entity. (Note that the "tree_feller" tag is always applied)
# 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 at ({0}, {1}, {2})"
debug-require-cross-section-tool: "A full cross-section has not been cut for tool at ({0}, {1}, {2})"
debug-require-cross-section-tree: "A full cross-section has not been cut for tree at ({0}, {1}, {2})"
debug-require-cross-section-success: "A full cross-section has been cut"
debug-banned-logs: "Tree contains banned log: {0}"
debug-banned-logs-tool: "Tree contains banned log for tool: {0}"
debug-banned-logs-tree: "Tree contains banned log for tree: {0}"
debug-banned-logs-success: "Tree does not contain any banned logs"
debug-banned-leaves: "Tree contains banned leaf: {0}"
debug-banned-leaves-tool: "Tree contains banned leaf for tool: {0}"
debug-banned-leaves-tree: "Tree contains banned leaf for tree: {0}"
debug-banned-leaves-success: "Tree does not contain any banned leaves"
debug-max-horizontal-trunk-pillar-length: "Found a horizontal trunk pillar that was too long! {0}>{1}"
debug-max-horizontal-trunk-pillar-length-tool: "Found a horizontal trunk pillar that was too long for tool! {0}>{1}"
debug-max-horizontal-trunk-pillar-length-tree: "Found a horizontal trunk pillar that was too long for tree! {0}>{1}"
debug-max-horizontal-trunk-pillar-length-success: "No excessive horizontal trunk pillars found"
debug-max-trunks: "Tree has too many trunks! {0}>{1}"
debug-max-trunks-tool: "Tree has too many trunks for tool! {0}>{1}"
debug-max-trunks-tree: "Tree has too many trunks for tree! {0}>{1}"
debug-max-trunks-success: "Trunk count is valid"
debug-required-enchantments: "Enchantment missing: {0} ({1}<{2})"
debug-required-enchantments-tool: "Enchantment missing for tool: {0} ({1}<{2})"
debug-required-enchantments-tree: "Enchantment missing for tree: {0} ({1}<{2})"
debug-required-enchantments-success: "All required enchantments met"
debug-banned-enchantments: "Tool contains banned enchantment: {0} ({1}>{2})"
debug-banned-enchantments-tool: "Tool contains banned enchantment for tool: {0} ({1}>{2})"
debug-banned-enchantments-tree: "Tool contains banned enchantment for tree: {0} ({1}>{2})"
debug-banned-enchantments-success: "No banned enchantments found"
debug-min-durability: "Tool durability is less than minimum allowed: {0}<{1}"
debug-min-durability-tool: "Tool durability is less than minimum allowed for tool: {0}<{1}"
debug-min-durability-tree: "Tool durability is less than minimum allowed for tree: {0}<{1}"
debug-min-durability-success: "Tool meets minimum durability requirement"
debug-max-durability: "Tool durability is greater than maximum allowed: {0}>{1}"
debug-max-durability-tool: "Tool durability is greater than maximum allowed: {0}>{1}"
debug-max-durability-tree: "Tool durability is greater than maximum allowed: {0}>{1}"
debug-max-durability-success: "Tool meets maximum durability requirement"
debug-min-durability-percent: "Tool durability is less than minimum allowed: {0}%<{1}%"
debug-min-durability-percent-tool: "Tool durability is less than minimum allowed for tool: {0}%<{1}%"
debug-min-durability-percent-tree: "Tool durability is less than minimum allowed for tree: {0}%<{1}%"
debug-min-durability-percent-success: "Tool meets minimum durability percentage requirement"
debug-max-durability-percent: "Tool durability is greater than maximum allowed: {0}%>{1}%"
debug-max-durability-percent-tool: "Tool durability is greater than maximum allowed: {0}%>{1}%"
debug-max-durability-percent-tree: "Tool durability is greater than maximum allowed: {0}%>{1}%"
debug-max-durability-percent-success: "Tool meets maximum durability percentage 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 {0} §rdoes not match required name: {1}"
debug-required-name-tool: "Tool name {0} §rdoes not match required name for tool: {1}"
debug-required-name-tree: "Tool name {0} §rdoes not match required name for tree: {1}"
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}<{1}"
debug-min-time-tool: "Time is less than minimum allowed for tool: {0}<{1}"
debug-min-time-tree: "Time is less than minimum allowed for tree: {0}<{1}"
debug-min-time-success: "Time meets minimum requirement"
debug-max-time: "Time is greater than maximum allowed: {0}>{1}"
debug-max-time-tool: "Time is greater than maximum allowed for tool: {0}>{1}"
debug-max-time-tree: "Time is greater than maximum allowed for tree: {0}>{1}"
debug-max-time-success: "Time meets maximum requirement"
debug-min-phase: "Phase is less than minimum allowed: {0}<{1}"
debug-min-phase-tool: "Phase is less than minimum allowed for tool: {0}<{1}"
debug-min-phase-tree: "Phase is less than minimum allowed for tree: {0}<{1}"
debug-min-phase-success: "Phase meets minimum requirement"
debug-max-phase: "Phase is greater than maximum allowed: {0}>{1}"
debug-max-phase-tool: "Phase is greater than maximum allowed for tool: {0}>{1}"
debug-max-phase-tree: "Phase is greater than maximum allowed for tree: {0}>{1}"
debug-max-phase-success: "Phase meets maximum requirement"
debug-min-food: "Not enough food: {0}<{1}"
debug-min-food-tool: "Not enough food for tool: {0}<{1}"
debug-min-food-tree: "Not enough food for tree: {0}<{1}"
debug-min-food-success: "Food meets minimum requirement"
debug-max-food: "Too much food: {0}>{1}"
debug-max-food-tool: "Too much food for tool: {0}>{1}"
debug-max-food-tree: "Too much food for tree: {0}>{1}"
debug-max-food-success: "Food meets maximum requirement"
debug-min-health: "Not enough health: {0}<{1}"
debug-min-health-tool: "Not enough health for tool: {0}<{1}"
debug-min-health-tree: "Not enough health for tree: {0}<{1}"
debug-min-health-success: "Health meets minimum requirement"
debug-max-health: "Too much health: {0}>{1}"
debug-max-health-tool: "Too much health for tool: {0}>{1}"
debug-max-health-tree: "Too much health for tree: {0}>{1}"
debug-max-health-success: "Health 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 for tool: {0} != {1}"
debug-custom-model-data-tree: "Custom model data does not match for tree: {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"
debug-mmocore-required-profession-level: "Insufficient MMOCore profession level: {2} - {0}<{1}"
debug-mmocore-required-profession-level-tool: "Insufficient MMOCore profession level for tool: {2} - {0}<{1}"
debug-mmocore-required-profession-level-tree: "Insufficient MMOCore profession level for tree: {2} - {0}<{1}"
debug-mmocore-required-profession-level-success: "All MMOCore profession requirements met"

Discord

https://discord.gg/dhcPSMt


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

Categories

Members

Recent Files