feat(undo): restore the latest felled tree safely

This commit is contained in:
dmg
2026-08-11 17:32:41 -04:00
parent 17f1631b96
commit 8c7c008ca0
10 changed files with 521 additions and 19 deletions
+9
View File
@@ -2,6 +2,15 @@
## 2026-08-11
### US-005 safe undo completed
- Added one runtime-only latest-felling record per player with original world, coordinates, material, block-data string, and completion time.
- Added `/treefeller undo` behind the separate `treefeller.undo` permission and the configurable six-minute default window.
- Undo now preflights worlds, loaded chunks, empty target positions, exact block data, and aggregate inventory materials before making any change.
- Missing-material failures report every material and quantity; successful undo withdraws materials once, restores orientation-aware block data without physics, and consumes the record.
- Unexpected inventory or world failures roll back changed blocks and inventory where possible and preserve the record while logging suppressed recovery failures for administrators.
- Verified shortages, occupied locations, expiration, successful restoration, command reporting, permissions, and the complete build with `./gradlew clean check jar`.
### US-003 animated tree felling completed
- Added eligibility-aware automatic felling for unlocked species with sneaking, saved preference, and administrative-lock bypasses.