feat(admin): complete configurable progression
Release / release (push) Successful in 3m57s
CI / build (push) Successful in 54s

This commit is contained in:
dmg
2026-08-09 15:12:04 -04:00
parent c87d923cad
commit 8b1064b971
41 changed files with 924 additions and 626 deletions
@@ -2,7 +2,7 @@
type: User Story
title: "US-004: Unlock and control base flight"
description: Let players permanently unlock and toggle increasingly broad flight within their personal base.
status: in-progress
status: done
---
# US-004: Unlock and control base flight
@@ -11,22 +11,22 @@ As a **player with Base I**, I want to unlock controlled flight around my base s
## Acceptance criteria
- [ ] Flight progression is unavailable until Base I is unlocked and a base is established.
- [ ] The plugin observes elytra held directly in the player's inventory and armor equipment while the player is in Survival mode.
- [ ] Elytra inside shulker boxes, bundles, or other nested containers do not count.
- [ ] Observing one elytra permanently unlocks Flight I, two simultaneous elytra unlock Flight II, and three simultaneous elytra unlock Flight III.
- [ ] A player observed with enough elytra for a later tier receives all unmet preceding flight tiers.
- [ ] Elytra are not consumed, and losing them later does not revoke an earned tier.
- [ ] Flight I permits plugin-granted flight within the current horizontal base radius and from 25 blocks below through 25 blocks above base Y by default.
- [ ] Flight II expands the vertical range to 100 blocks below and above base Y by default.
- [ ] Flight III expands the vertical range to the world's minimum and maximum build heights.
- [ ] A configurable five-block horizontal warning buffer extends beyond the current base radius.
- [ ] Plugin-granted flight remains active in the warning buffer and displays prominent on-screen notice that the player is leaving the base.
- [ ] Passing beyond the warning buffer removes only flight granted by this plugin.
- [ ] Flight is not granted outside the unlocked vertical range.
- [ ] `/baseflight` toggles the player's unlocked base flight on and off.
- [ ] The flight toggle persists across reconnects and restarts.
- [ ] The plugin handles teleportation, world changes, game-mode changes, death, logout, and plugin shutdown without leaving unintended flight enabled.
- [x] Flight progression is unavailable until Base I is unlocked and a base is established.
- [x] The plugin observes elytra held directly in the player's inventory and armor equipment while the player is in Survival mode.
- [x] Elytra inside shulker boxes, bundles, or other nested containers do not count.
- [x] Observing one elytra permanently unlocks Flight I, two simultaneous elytra unlock Flight II, and three simultaneous elytra unlock Flight III.
- [x] A player observed with enough elytra for a later tier receives all unmet preceding flight tiers.
- [x] Elytra are not consumed, and losing them later does not revoke an earned tier.
- [x] Flight I permits plugin-granted flight within the current horizontal base radius and from 25 blocks below through 25 blocks above base Y by default.
- [x] Flight II expands the vertical range to 100 blocks below and above base Y by default.
- [x] Flight III expands the vertical range to the world's minimum and maximum build heights.
- [x] A configurable five-block horizontal warning buffer extends beyond the current base radius.
- [x] Plugin-granted flight remains active in the warning buffer and displays prominent on-screen notice that the player is leaving the base.
- [x] Passing beyond the warning buffer removes only flight granted by this plugin.
- [x] Flight is not granted outside the unlocked vertical range.
- [x] `/baseflight` toggles the player's unlocked base flight on and off.
- [x] The flight toggle persists across reconnects and restarts.
- [x] The plugin handles teleportation, world changes, game-mode changes, death, logout, and plugin shutdown without leaving unintended flight enabled.
## Related