Quest Reward Menu
The quest_reward_menu action opens a configurable GUI that allows players to claim specific rewards. The state of claimed rewards is persisted, ensuring each reward can only be claimed once (or as configured).
Type: Action Entry
ID: quest_reward_menu
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
menuId | String | "" | Unique ID for this specific menu instance (used to track claimed slots). |
artifact | Ref<ArtifactEntry> | empty | Reference to the btc_player_state_artifact used to store claim data. |
title | String | "<gold>Quest Rewards" | Title of the inventory GUI. |
rows | Int | 3 | Size of the GUI in rows (1-6). |
backgroundItem | Item | Empty | Item used to fill empty slots. |
rewardSlots | List<RewardSlotConfig> | [] | List of slots containing claimable rewards. |
infoSlot | RewardInfoSlotConfig? | null | Optional information slot to explain the menu. |
Behavior
- Persistence: Uses the
btc_player_state_artifactto remember which slots have already been claimed by the player for this specificmenuId. - Claiming: When a player clicks a reward slot:
- The reward items/actions are given.
- The slot is marked as claimed.
- The icon changes to the claimed state (or disappears/becomes background).
- Inventory Check: Prevents claiming if the player's inventory is full (if items are involved).
Use Cases
- Battle Pass / Event Pass: Create a page of rewards unlocked by completing quests.
- Milestone Rewards: A menu where players claim rewards for reaching certain levels.