MathTreeChopСкачатьСкачать
ВЕРСИИ (2)
release
MathTreeChop 0.0.2
0.0.229 мая 2026 г.272Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Что нового
Added systems and functions:
- tree-detection:
- any-log-with-leaves-is-tree: true
- This function, if set to "TRUE", will count any wood with adjacent leaves as trees.
- If set to "FALSE", it will only count trees generated by the world (may not work in some modified worlds).
release
MathTreeChop 0.0.1
0.0.120 апр. 2026 г.29Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Что нового
# 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:
1. The player breaks a trunk
2. The plugin checks if that block belongs to a valid tree
3. The complete structure is detected
4. The vanilla break is canceled
5. The actual blocks are removed from the world
6. The entire tree is animated toppling together
7. 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.yml`
- `en-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
- `TreeDetectionService`
- `MiningSlowdownService`
- `FallingAnimationService`
### 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.