
Advanced TreeCapitator
Advanced TreeCapitator enables fast tree felling on Paper 1.21. Sneak with an axe to chop entire trees, with configurable durability loss, world restrictions, and a reload command.
Advanced TreeCapitator
Version: 1.3.0 | API: Paper 1.21+ | Author: Duong2012G
License: Apache-2.0 | Link: Modrinth
Fell an entire tree with a single axe swing — Fortune, Silk Touch, and realistic tool durability fully supported.
Features
| Feature | Description |
|---|---|
| BFS tree felling | Finds and breaks all connected logs using a 26-direction breadth-first search (handles Big Oak, Acacia, Dark Oak diagonal logs) |
require-leaves guard | Checks for adjacent leaves before felling — prevents accidental activation on player-built log walls and cabins |
| Fortune & Silk Touch | Work automatically on every block via breakNaturally(tool), no extra configuration needed |
| Durability pre-check | Calculates max breakable logs before breaking any — axe can never fell more than its remaining durability allows |
| Configurable leaf cost | leaf-durability-ratio controls how many leaves equal one durability hit (default: 10) |
| Partial chop | Trees larger than max-blocks are chopped up to the limit; remaining logs can be harvested with additional swings |
| Per-player toggle | Each player can enable/disable tree felling with /atc toggle without affecting others |
| Plugin API | TreeCapitatorEvent lets other plugins cancel felling or grant custom rewards based on tree size |
| World whitelist/blacklist | Restrict which worlds allow tree felling |
| Nether & Bamboo support | Crimson Stem, Warped Stem, and Bamboo Block all supported; require-leaves is automatically bypassed for these |
| Particle & sound effects | Configurable visual feedback on each fell |
| Hot reload | Apply config changes with /atc reload, no restart needed |
Installation
- Download
AdvancedTreeCapitator-1.3.0.jar - Place it in your server's
plugins/folder - Restart or reload the server
- Edit
plugins/AdvancedTreeCapitator/config.ymlas needed - Run
/atc reloadto apply changes without restarting
Requirements: Paper (or any Paper fork) 1.21+, Java 21+
Permissions
| Permission | Description | Default |
|---|---|---|
advancedtreecapitator.use | Use tree felling + /atc toggle | true (all players) |
advancedtreecapitator.admin | Reload config with /atc reload | op |
Commands
| Command | Description | Permission |
|---|---|---|
/atc toggle | Enable or disable tree felling for yourself | advancedtreecapitator.use |
/atc reload | Reload the configuration file | advancedtreecapitator.admin |
How to Use
- Hold an axe listed in
tool-whitelist - Sneak (Shift) if
require-sneak: true - Break the base log of a tree — the entire connected tree drops at once
Fortune: All logs and leaves receive Fortune bonus drops automatically.
Silk Touch: Logs and leaves drop as their block form instead of items.
Configuration Reference
# ── Activation ──────────────────────────────────────────────
enabled: true
require-axe: true # must hold an axe from tool-whitelist
require-sneak: true # must be sneaking (Shift)
require-leaves: true # at least 1 adjacent leaf required — prevents structure damage
# ── Mining ──────────────────────────────────────────────────
max-blocks: 100 # max logs per fell (partial chop above limit)
cooldown-ms: 200 # per-player cooldown in milliseconds
break-leaves: false # also break adjacent leaves
# ── Durability ──────────────────────────────────────────────
damage-axe: true # apply durability loss proportional to blocks broken
damage-multiplier: 1.0 # durability cost per log block (Unbreaking respected)
leaf-durability-ratio: 10 # how many leaves = 1 durability hit (when break-leaves: true)
# ── Effects ─────────────────────────────────────────────────
particle-effect: true
sound-effect: true
# ── World Restrictions ───────────────────────────────────────
whitelist-worlds: [] # only these worlds (empty = all)
blacklist-worlds: [] # block these worlds (empty = none)
World Restrictions
# Allow only specific worlds:
whitelist-worlds:
- world
- world_nether
# Or block specific worlds:
blacklist-worlds:
- creative_world
Adding Custom Log Types
Add any Material enum name (case-insensitive) to log-types:
log-types:
- OAK_LOG
- MUSHROOM_STEM # enables huge mushroom felling
# add more as needed...
Plugin API — TreeCapitatorEvent
Other plugins can hook into tree felling via the TreeCapitatorEvent:
import dev.duong2012g.atc.TreeCapitatorEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
public class MyListener implements Listener {
@EventHandler
public void onTreeFell(TreeCapitatorEvent event) {
Player player = event.getPlayer();
int logCount = event.getLogs().size();
// Example: cancel felling in a specific region
if (isProtectedRegion(player.getLocation())) {
event.setCancelled(true);
return;
}
// Example: reward economy based on tree size
economy.depositPlayer(player, logCount * 0.5);
}
}
Event fields:
| Method | Returns | Description |
|---|---|---|
getPlayer() | Player | The player who triggered the fell |
getLogs() | Set<Block> (unmodifiable) | Log blocks scheduled to break (origin excluded) |
getLeaves() | Set<Block> (unmodifiable) | Leaf blocks scheduled to break (empty if break-leaves: false) |
setCancelled(true) | — | Cancels the entire tree felling |
Changelog
See CHANGELOG.md
License
Apache-2.0 © Duong2012G
