37 lines
2.5 KiB
Markdown
37 lines
2.5 KiB
Markdown
---
|
|
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: done
|
|
---
|
|
|
|
# US-004: Unlock and control base flight
|
|
|
|
As a **player with Base I**, I want to unlock controlled flight around my base so that I can build large structures more conveniently.
|
|
|
|
## Acceptance criteria
|
|
|
|
- [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 a prominent on-screen notice that the player is leaving the base appears only while the player is actively flying.
|
|
- [x] Passing beyond the warning buffer removes only flight granted by this plugin.
|
|
- [x] Flight is not granted outside the unlocked vertical range.
|
|
- [x] `/basesettings flight enable` enables unlocked flight idempotently, and `/basesettings flight disable` disables it idempotently.
|
|
- [x] Invalid flight arguments show command usage, and `enable` and `disable` are offered through autocomplete.
|
|
- [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
|
|
|
|
- [US-001: Unlock and establish Base I](us-001-unlock-and-establish-base.md)
|
|
- [US-003: Expand the base](us-003-expand-the-base.md)
|
|
- [US-009: View progression and unlock notifications](us-009-view-progression-and-notifications.md)
|