feat(progress): add species unlock progression

This commit is contained in:
dmg
2026-08-11 17:18:57 -04:00
parent 12a8e84535
commit 8067b3ebfb
23 changed files with 686 additions and 13 deletions
+8
View File
@@ -34,3 +34,11 @@
- Added UUID-keyed immutable player state with retained names, saturating progress, unlocks, preferences, locks, defensive reads, forward-field retention, and atomic YAML replacement.
- Invalid required configuration now disables partial plugin startup with a focused log message.
- Verified settings, persistence, corruption handling, atomic replacement, and the complete build with `./gradlew clean check jar`.
### US-001 species unlock progression completed
- Added stable taxonomy for all approved overworld trees, Nether fungi, and giant mushrooms while excluding bamboo and treating azalea logs as oak.
- Replaced the old recursive search with a deterministic, bounded, iterative scanner that follows connected trunk blocks laterally and upward but never downward and requires matching foliage or caps.
- Added Survival-and-axe eligibility, automatic-break suppression, durable one-point increments, saturating counters, permanent unlocks, and next-qualifying-block threshold evaluation.
- Registered progress handling through the Spigot block-break lifecycle and persisted every accepted update before notifying observers.
- Verified taxonomy, detection, tools, eligibility, progression, persistence, and the complete build with `./gradlew clean check jar`.