Files
spigot-base/design/user-stories/us-004-unlock-and-control-base-flight.md
dmg 9692df9101
Release / release (push) Successful in 4m20s
CI / build (push) Successful in 1m13s
fix(flight): show boundary warning only while flying
2026-08-21 22:23:01 -04:00

2.5 KiB

type, title, description, status
type title description status
User Story US-004: Unlock and control base flight Let players permanently unlock and toggle increasingly broad flight within their personal base. 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

  • 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 a prominent on-screen notice that the player is leaving the base appears only while the player is actively flying.
  • Passing beyond the warning buffer removes only flight granted by this plugin.
  • Flight is not granted outside the unlocked vertical range.
  • /basesettings flight enable enables unlocked flight idempotently, and /basesettings flight disable disables it idempotently.
  • Invalid flight arguments show command usage, and enable and disable are offered through autocomplete.
  • 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.