feat(board): add shared physical quest boards
Release / release (push) Successful in 4m19s
CI / build (push) Successful in 1m20s

This commit is contained in:
dmg
2026-09-04 23:33:18 -04:00
parent f024744440
commit 63779d1631
20 changed files with 645 additions and 12 deletions
@@ -2,7 +2,7 @@
type: User Story
title: "US-002: Create and use shared quest boards"
description: Let administrators establish persistent physical boards that expose one shared quest system.
status: backlog
status: done
---
# US-002: Create and use shared quest boards
@@ -11,15 +11,15 @@ As an **administrator**, I want to turn a targeted block into a quest board so t
## Acceptance criteria
- [ ] An authorized administrator can use `/questadmin createboard` to register the block they are targeting.
- [ ] Creation rejects a missing, invalid, or already registered target without changing state.
- [ ] Registered boards persist across server restarts with their world and block coordinates.
- [ ] Interacting with any registered board opens the quest-board interface.
- [ ] Every registered board exposes the same global quests and claimable items.
- [ ] The interface uses Purpur's supported native dialog API and follows the interaction style of Spigot Base.
- [ ] Ordinary block interaction is not intercepted at unregistered locations.
- [ ] Administrative actions require the `spigotquestboard.admin` permission, granted to server operators by default.
- [ ] Automated tests verify board registration, persistence, shared visibility, authorization, and interaction routing.
- [x] An authorized administrator can use `/questadmin createboard` to register the block they are targeting.
- [x] Creation rejects a missing, invalid, or already registered target without changing state.
- [x] Registered boards persist across server restarts with their world and block coordinates.
- [x] Interacting with any registered board opens the quest-board interface.
- [x] Every registered board exposes the same global quests and claimable items.
- [x] The interface uses Purpur's supported native dialog API and follows the interaction style of Spigot Base.
- [x] Ordinary block interaction is not intercepted at unregistered locations.
- [x] Administrative actions require the `spigotquestboard.admin` permission, granted to server operators by default.
- [x] Automated tests verify board registration, persistence, shared visibility, authorization, and interaction routing.
## Related