Files
spigot-base/design/user-stories/us-022-share-pocket-base-flight-through-a-portal.md
dmg ecb07d48ad
Release / release (push) Successful in 5m2s
CI / build (push) Successful in 1m28s
feat(pocket-base): start flying on flight portal entry
2026-09-06 20:52:25 -04:00

40 lines
2.8 KiB
Markdown

---
type: User Story
title: "US-022: Share Pocket Base flight through a portal"
description: Let an owner build a gold-block portal that temporarily grants controlled Pocket Base flight to players who pass through it.
status: done
---
# US-022: Share Pocket Base flight through a portal
As a **Pocket Base owner**, I want an activated flight portal inside my Pocket Base so that I can temporarily share controlled flight with guests without changing my own default-flight preference.
## Acceptance criteria
- [x] Entering the active flight portal immediately starts eligible Survival players flying without double-jumping.
- [x] Each portal entry sends “Pocket dimension flight enabled!” without repeated messages while standing in the portal.
- [x] Immediate takeoff preserves existing flight boundaries and expiry rules, with regression tests.
- [x] The owner must first unlock Pocket Base flight by winning a raid in their own Pocket Base.
- [x] Only the owner can activate a complete 4-by-5 gold-block frame with flint and steel as the active flight portal.
- [x] Every required frame block must be inside the owner's currently unlocked Pocket Base boundary at activation.
- [x] Each Pocket Base has at most one active flight portal, and activating another valid frame moves the active location without removing the old frame.
- [x] The active flight portal uses custom particles and collision without vanilla Nether portal blocks.
- [x] Breaking any required block in the active frame deactivates the flight portal.
- [x] Any player, including the owner or a guest, who passes through the active intact flight portal receives temporary Pocket Base flight.
- [x] Portal-granted flight remains independent of the owner's default Pocket Base flight preference.
- [x] Portal-granted flight spans the world's full build height and the current Pocket Base boundary plus 16 blocks on every side.
- [x] An actively flying player receives a warning inside the 16-block buffer, and flight ends beyond it.
- [x] Expanding the Pocket Base automatically expands the portal-granted flight area.
- [x] Portal-granted flight ends when the player leaves the Pocket Base, dies, disconnects, or changes out of Survival mode.
- [x] The active flight portal location and owner default-flight preference persist across restarts.
- [x] Existing saved Pocket Bases default to no flight portal while preserving raid-earned owner flight as enabled.
## Related
- [US-011: Configure and persist progression](us-011-configure-and-persist-progression.md)
- [US-016: Build and use Pocket Base portals](us-016-build-and-use-pocket-base-portals.md)
- [US-017: Expand a Pocket Base](us-017-expand-a-pocket-base.md)
- [US-020: Control a base through a dialog UI](us-020-control-base-through-dialog-ui.md)
- [US-021: Unlock Pocket Base flight](us-021-unlock-pocket-base-flight.md)