▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/Advanced TreeCapitator
Advanced TreeCapitator

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.

453
2
Все версииAdvanced TreeCapitator 1.4.0

Advanced TreeCapitator 1.4.0

Release9 ч. назад

Список изменений

[1.4.0] — 2026-05-14

Fixed

  • [CRITICAL] Forced Java 21 requirement — The pom.xml compile target has been lowered from Java 21 to Java 17. Previously the plugin threw UnsupportedClassVersionError on any server running Java 17 (Paper 1.20.x, Purpur, Pufferfish, most shared hosting providers). No source changes were needed because the code does not use any Java 21-specific APIs.
  • [CRITICAL] Protection plugin bypass — Extra log blocks (every block other than the origin) were broken with breakNaturally() without first firing a BlockBreakEvent, meaning WorldGuard, GriefPrevention, Lands, and Residence had no opportunity to intervene. A dedicated BlockBreakEvent is now fired for each extra block before it is broken; if any protection plugin cancels that event, the block is silently skipped.
  • [CRITICAL] Missing anti-recursion guard — The protection-plugin fix above fires BlockBreakEvent programmatically, which caused the plugin's own listener to trigger again for each block, creating an infinite loop. A breakingTrees Set<UUID> now marks any player whose felling session is currently in progress; the listener returns immediately if the player's UUID is already present. The set is always cleared inside a finally block so a player can never get permanently stuck.
  • [MEDIUM] BFS linking two nearby trees — The 26-direction BFS could follow diagonal log connections to merge two adjacent trees into one oversized fell. A new MAX_HORIZONTAL_DISTANCE = 8 constant (Manhattan X+Z distance from the origin block) causes BFS to skip any candidate block beyond that threshold. The value of 8 is wide enough to accommodate Big Oak and Dark Oak canopies without bridging two separate trunks.
  • [MEDIUM] No config value validation — Values such as max-blocks: -1 or damage-multiplier: -100 were loaded directly into fields, producing undefined behaviour (negative BFS limits, inverted durability). clamp() and clampDouble() helpers have been added to Config.reload(); all numeric values are now constrained to a valid range (e.g. max-blocks[1, 1000], damage-multiplier[0.1, 10.0]).

Clarified (not a bug)

  • Double durability damage (analyst report #2) — The audit report claimed that breakNaturally(tool) automatically reduces the tool's durability in the player's inventory, causing damage to be applied twice alongside DurabilityHandler. After reviewing the Paper API source: Block.breakNaturally(ItemStack) uses the ItemStack only to determine drop calculations (Fortune, Silk Touch) and does not modify the item in the player's inventory. DurabilityHandler remains the sole source of durability loss. No double damage occurs.

Changed

  • Lowered the supported api-version from Paper 1.21 to Paper 1.20.4+, broadening compatibility without requiring any 1.21-specific API.
  • Added Javadoc to TreeFinder, TreeCapitatorTask, and Config.

Not Fixed (planned v1.5.0)

  • Folia incompatibility — The plugin schedules work with BukkitScheduler.runTask(), which is incompatible with Folia's region-based threading model. A proper fix requires migrating to RegionScheduler / GlobalRegionScheduler and is planned for v1.5.0.

Файлы

AdvancedTreeCapitator-1.4.0.jar(21.70 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.4.0

Загрузчики

Bukkit
Paper
Purpur
Spigot

Версии игры

1.21–1.21.11

Загрузок

3

Дата публикации

9 ч. назад

Загрузил

ID версии

Главная