Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
LemmeCutTrees
Server-authoritative Fabric tree felling for Minecraft Java Edition.
Hold a configured axe, sneak, and break a qualifying tree log. LemmeCutTrees handles the remaining logs and leaves while preserving vanilla block-breaking behavior, drops, tool durability, exhaustion, sounds, and compatible Fabric callbacks.
Features
- Tree felling: Detects configured trees and breaks their connected logs in a controlled queue.
- Leaf clearing: Removes connected leaves when enabled, without consuming extra axe durability.
- Vanilla behavior: Uses the server's normal block-breaking path for drops, enchantments, tool behavior, exhaustion, sounds, and callbacks.
- Durability protection: Reserves enough axe durability for the complete tree before felling starts. Queued trees are also accounted for.
- Safe interruption: Stops queued work when the player dies, disconnects, changes dimension, or stops holding a configured axe; blocks that are no longer interactable are skipped safely.
- Configurable detection: Add tree species, log and leaf blocks, diagonal leaf connections, size limits, height limits, and detection ranges.
- Server feedback: Shows an active actionbar while the feature is active and plays activation/deactivation sounds for the player.
- Dedicated-server friendly: Gameplay is authoritative on the logical server; connecting clients do not need the mod installed.
Installation
- Install Fabric Loader for Minecraft
26.1.2on the server. - Install the matching Fabric API in the server's
modsdirectory. - Put the
lemmecuttreesJAR in the samemodsdirectory. - Start the server once. The default configuration is created at
config/lemmecuttrees.yml. - Adjust the configuration if needed, then restart the server or run
/lemmecuttrees reload.
Usage
The default activation flow is:
- Hold one of the configured axes in your main hand.
- Hold Shift while targeting a tree log.
- Break the log normally.
- If the block is a qualifying tree, the first block breaks normally and the remaining logs are processed progressively.
The default configuration recognizes:
Oak ·
Azalea ·
Birch ·
Spruce ·
Jungle ·
Dark Oak ·
Acacia ·
Mangrove ·
Cherry ·
Pale Oak ·
Crimson ·
Warped
A tree must satisfy the configured log, leaf, size, height, shape, and vertical ratio checks. Blocks that have already changed or that the player can no longer interact with are skipped safely.
When a tree is accepted, the player receives a green LemmeCutTrees Activated
actionbar and activation sound. The actionbar remains visible while the player
continues holding an allowed axe. Switching to another item sends a red
LemmeCutTrees Deactivated actionbar and deactivation sound.
If the axe cannot cover the required log durability, the tree is not accepted and the player receives a durability warning. Creative players are not limited by the durability reservation.
Enchantments and cutting speed
| Enchantment/effect | Cutting speed |
|---|---|
| Efficiency I-V | Faster; higher level cuts faster |
| Haste | Faster |
| Mining Fatigue | Slower |
| Unbreaking, Mending, Fortune, Silk Touch | No effect |
Configuration
Configuration
The generated file is config/lemmecuttrees.yml. It is ordinary YAML and can
be edited while the server is stopped.
General settings
| Key | Default | Description |
|---|---|---|
require-shift |
true |
Require the player to sneak before tree detection runs. |
clear-leaves |
true |
Break detected leaves after the logs are processed. |
cutting-speed.multiplier |
1.0 |
Multiplies the vanilla per-log break time. Higher values are slower. |
cutting-speed.minimum-ticks-per-log |
1 |
Lower bound for the delay between queued log breaks. |
cutting-speed.maximum-ticks-per-log |
200 |
Upper bound for the delay between queued log breaks. |
Detection settings
| Key | Default | Description |
|---|---|---|
detection.scan-distance |
256 |
Maximum distance used while discovering connected logs. |
detection.required-logs |
4 |
Minimum logs required for a detected tree. |
detection.required-leaves |
10 |
Minimum connected leaves required for a detected tree. |
detection.maximum-logs |
250 |
Maximum logs allowed in one tree. |
detection.maximum-cut-height |
5 |
Maximum vertical distance from the broken origin to the lowest detected log. |
detection.leaf-detect-range |
6 |
Range used to decide whether a tree has enough leaves. |
detection.leaf-break-range |
6 |
Range of leaves that may be cleared. |
detection.maximum-horizontal-log-run |
6 |
Maximum straight horizontal log run. |
detection.minimum-vertical-log-ratio |
0.5 |
Minimum vertical-to-horizontal log ratio. |
detection.include-player-placed-leaves |
false |
Include persistent/player-placed leaves in detection and clearing. |
Axes and tree mappings
allowed-axes controls which main-hand items can activate the feature. The
default list contains wooden, stone, copper, iron, golden, diamond, and
netherite axes.
Each entry in trees defines a species with logs and leaves block ID lists.
The optional per-tree settings are:
diagonal-leaves: Allow diagonal leaf connections.required-logs: Override the global minimum log count.leaf-detect-range: Override the global leaf detection range.leaf-break-range: Override the global leaf clearing range.maximum-horizontal-log-run: Override the global horizontal run limit.
Use namespaced IDs such as minecraft:oak_log. Invalid IDs, duplicate tree
names, duplicate mappings, non-axe allowed items, and invalid numeric values
are rejected when the configuration loads.
Reloading
Operators with the server's gamemaster command permission can run:
/lemmecuttrees reload
Valid changes replace the active configuration. If the new YAML is invalid, the previous configuration remains active and the command reports the failure.
License and attribution
LemmeCutTrees is licensed under the GNU General Public License v3.0.
The tree-detection defaults are derived from the deliberately limited subset of TreeFeller 1.30.2 by ThizThizzyDizzy. See NOTICE for the attribution details.


