feat(protection): add configurable Strength effect
Release / release (push) Successful in 2m26s
CI / build (push) Successful in 56s

This commit is contained in:
dmg
2026-08-10 22:58:18 -04:00
parent e064c7398c
commit 5609a0a656
17 changed files with 279 additions and 71 deletions
+9
View File
@@ -86,3 +86,12 @@
- Leaf now removes exact managed-prefix text without discarding surrounding third-party formatting, clears stale prefixes after reload, and normalizes repeated prefixes before applying one leaf.
- Added regression coverage for wrapped names, duplicate stale prefixes, untracked stale prefixes, unrelated formatting, tab names, and scoreboard cleanup.
- Verified the fix with `./gradlew clean check jar`.
### Strength protection added
- Opted-in players now receive quiet, infinite Strength I alongside Resistance I by default; both effects must be active for Leaf status to report active protection.
- Added independent `resistance-level` and `strength-level` settings with live `/leaf effect <resistance|strength> <1-5>` administration and positional autocomplete.
- Retained `/leaf strength <1-5>` as a deprecated compatibility alias for changing Resistance.
- Opt-out, combat, administrative disablement, and global disablement remove both Leaf-managed effects while conservatively preserving distinct external effects.
- Minecraft calculates the initiating PvP hit before Leaf can process the damage event, so that first hit can include the configured Strength bonus before automatic opt-out.
- Verified settings, runtime reconciliation, status, combat cleanup, persistence, command compatibility, autocomplete, and the complete build with `./gradlew clean check jar`.