Tags
Creators
Details
0.0.1
Compatibility
Changes
MathTreeChop
MathTreeChop is a plugin for Bukkit / Paper / Spigot / Purpur 1.21+ that simulates tree felling with a toppling animation inspired by Panda's Falling Trees.
When breaking a valid tree trunk, the plugin detects the entire tree, removes the real-world structure, creates a visual animation with BlockDisplay, and only then releases the drops at the end of the impact.
β¨ Main Features
- Falling tree animation with BlockDisplay
- Fall based on player position
- Final effect with two small impact oscillations
- Drops generated only at the end of the animation
- Detection system for extra trunks, leaves, and blocks
- Dynamic slowdown when mining large trees
- Configurable axe damage
- Multi-language support
- Support for hex, gradient, and legacy code colors
- Compatible with Minecraft 1.21+
βοΈ How it works
The plugin's main flow is:
- The player breaks a trunk
- The plugin checks if that block belongs to a valid tree
- The complete structure is detected
- The vanilla break is canceled
- The actual blocks are removed from the world
- The entire tree is animated toppling together
- On impact, the drops are finally generated
π³ Tree Detection
The plugin considers a structure to be a tree if it has:
- valid trunks
- valid leaves
- optional extra blocks
Accepted Trunks
-
blocks in
Tag.LOGS -
materials ending in:
-
_WOOD -
_HYPHAE -
_STEM
Accepted Leaves
- blocks in
Tag.LEAVES - persistent leaves can be ignored via configuration
Supported Extra Blocks
-
vines -
cocoa -
bee_nests
π¬ Falling Animation
The entire tree falls as a single visual unit.
Animation Behavior
- Main drop with progressive acceleration
- Joint rotation of all blocks
- Drop direction based on player position
- Final impact with 2 sequential waves
- Optional drops only on impact
Drop Direction
The direction depends on where the player is relative to the tree at the moment of cutting.
βοΈ Dynamic Mining Slowdown
While the player is looking at a valid tree, the plugin can apply a dynamic reduction in the breaking speed based on the tree's size.
Current Default
0.5%per block counted- Maximum limit of
95%
This helps balance the cutting of very large trees.
πͺ Tool Damage
The plugin can automatically damage the axe when the tree is cut.
Rules
- Does not apply damage in creative mode
- Can ignore players with bypass permission
- By default, only logs are counted
- Optionally, the entire structure can be used
π Languages
The plugin has a language system with files in:
pt-BR.ymlen-US.yml
If the configured language does not exist, the plugin uses pt-BR as a fallback.
--
π¨ Color Support
The messaging system supports:
-
hex:
&#RRGGBB -
hex:
&##RRGGBB -
hex:
<#RRGGBB> -
gradient:
<gradient:#start:#end>text</gradient> -
legacy codes such as
&a,&l, etc.
π¦ Main Structure
Main Class
com.matheider.MathTreeChop.MathTreeChopPlugin
Core Services
TreeDetectionServiceMiningSlowdownServiceFallingAnimationService
Main Listener
TreeBreakListener
Management
-
ConfigManager -
LanguageManager -
HEX
π§© Commands
Main Command
/mathtreechop
Alias
/mathtrc
Subcommand
/mathtreechop reload
π Permissions
-
math.treechop.use -
math.treechop.command -
math.treechop.command.reload -
math.treechop.bypass.slowdown -
math.treechop.bypass.durability -
math.treechop.bypass.tool
π οΈ Summary of default configuration
General
- Plugin enabled by default
- Creative disabled
- Player target range:
6 - Tree cache:
10 ticks
Tools
-
Requires axe
-
Allowed materials:
-
WOODEN_AXE -
STONE_AXE -
IRON_AXE -
GOLDEN_AXE -
DIAMOND_AXE -
NETHERITE_AXE
Detection
-
min-logs: 1 -
min-leaves: 4 -
max-logs: 512 -
leaf-search-radius: 6
Animation
-
fall-duration-ticks: 54 -
bounce-duration-ticks: 18 -
bounce-angle: 7.0 -
view-range: 64 -
interpolation-duration: 3
π Current Behavior
- The actual tree is removed immediately
- What falls is a visual representation with
BlockDisplay - Extras are included in the visual animation
- Extras do not count towards damage or slowdown by default
- Logs below the initial block are not collected
- Persistent leaves can be ignored to avoid false positives in constructions
β Summary
MathTreeChop transforms tree cutting into something more visual and immersive:
- Detects the entire tree
- Applies configurable rules
- Slows down mining as the size increases
- Removes the actual structure
- Animates the fall with impact
- Generates the drops at the end
If you want a tree-cutting plugin that's more beautiful, modern, and delivers a realistic sense of impact, MathTreeChop was made for you.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:FZsURDDw:mLE5FmHf"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:FZsURDDw:mLE5FmHf"
}

