feat(quests): support requests for all inventory items
Release / release (push) Successful in 2m46s
CI / build (push) Successful in 1m19s

This commit is contained in:
dmg
2026-09-09 21:50:16 -04:00
parent de8ff83c3c
commit 3bd2dc7d14
27 changed files with 174 additions and 60 deletions
@@ -1,17 +1,21 @@
---
type: User Story
title: "US-003: Create a block-delivery quest"
description: Let a player request block items while safely escrowing an inventory-funded reward.
title: "US-003: Create an item-delivery quest"
description: Let a player request inventory items while safely escrowing an inventory-funded reward.
status: done
---
# US-003: Create a block-delivery quest
# US-003: Create an item-delivery quest
As a **player**, I want to request a block material and quantity in exchange for items I already own so that another player can fulfill my request safely.
As a **player**, I want to request an item material and quantity in exchange for items I already own so that another player can fulfill my request safely.
## Acceptance criteria
- [x] A player can create a quest through a registered quest board by selecting a valid block material, a positive quantity, and reward items from their inventory.
- [x] Requests accept all inventory item materials, including shulker shells and existing block items, while rejecting air, invalid names, and non-item materials.
- [x] Contextual material autocomplete includes non-block items; command and dialog wording describes items rather than only blocks.
- [x] Regression tests verify shell creation, autocomplete, and existing block-item support.
- [x] A player can create a quest through a registered quest board by selecting a valid item material, a positive quantity, and reward items from their inventory.
- [x] Reward items must exist in the issuer's inventory and are removed only when quest creation succeeds.
- [x] Removed rewards are held durably in escrow by the quest system.
- [x] A created quest records a unique identifier, issuer UUID and current name, requested material and quantity, exact reward items, creation time, and expiration time.
@@ -24,5 +28,5 @@ As a **player**, I want to request a block material and quantity in exchange for
## Related
- [US-002: Create and use shared quest boards](us-002-create-and-use-shared-quest-boards.md)
- [US-005: Deliver blocks and complete a quest](us-005-deliver-blocks-and-complete-a-quest.md)
- [US-005: Deliver items and complete a quest](us-005-deliver-blocks-and-complete-a-quest.md)
- [US-007: Expire quests and claim held items](us-007-expire-quests-and-claim-held-items.md)