> For the complete documentation index, see [llms.txt](https://enchantedmobs.superiormc.cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://enchantedmobs.superiormc.cn/for-ultimatequest/configuration/scrolls.md).

# Quest Scrolls

A quest scroll is a physical item with its own objectives and rewards. A player carries it while completing the objectives, then exchanges the completed scroll for rewards through `/uq scroll`. You can give scrolls from other task rewards, events, or administrative commands.

## Creating a scroll

`scrolls/<profile>.yml` creates an item bound to a stored scroll record. Fixed `tasks` and root `source` (inline/template/pool) combine into one task. Complete every objective, then claim through `/uq scroll`; claiming consumes the scroll. Bundled example:

```yaml
enabled: true
name: '{lang:defaults.scrolls.novice.name}'
description:
- '{lang:defaults.scrolls.carry}'
- '{lang:defaults.scrolls.novice.duration}'
- '{lang:defaults.scrolls.reward-note}'
- '{lang:defaults.scrolls.claim}'
categories:
- adventure
item:
  material: MAP
  lore:
  - '{lang:defaults.scrolls.carry}'
  - '{lang:defaults.scrolls.novice.duration}'
  - '{lang:defaults.scrolls.reward-note}'
  - '{lang:defaults.scrolls.claim}'
icon:
  material: MAP
source:
  pool: daily
  count: 1
tasks:
  required_veteran:
    source:
      quest: veteran
      amount: 8
duration-seconds: 86400
rarity: common
difficulty: easy
rewards:
  supply:
    type: random
    pool: scroll_novice
    count: 3
    repeat: false
    display:
      name: '{lang:defaults.rewards.scroll_pack_novice}'
```

Give a scroll using `/uq scroll give <online-player> <profile> [rarity] [difficulty]` (`ultimatequest.admin`). `item` controls the physical item; `icon` controls its menu icon. Optional `rarities`/`difficulties` are positive-integer weighted maps. Unspecified labels are drawn; specified labels must exist in the map. Without maps scalar labels are used. Labels alone do not multiply quantities/rewards.

Carrying the scroll in inventory/offhand enables tracking; removing it pauses progress. After activation its expiry continues while absent. `duration-seconds` is a nonnegative integer; absent/0 means no expiry. Duration is established at first activation and restored with the saved instance. Objectives and the reward definition are fixed at issuance; the random reward is drawn when the player first carries and activates the scroll. Reconnecting or reloading does not draw it again.

One scroll occupies one slot, regardless of objective count. Activation checks [limits](/for-ultimatequest/features/task-limits.md). Visible names/lore cannot create a new valid token without a matching stored record.

## Giving a scroll

```
/uq scroll give Steve novice
```

This gives the online player Steve a scroll using `scrolls/novice.yml`. You need `ultimatequest.admin`; the command can also be executed by the console. Replace `novice` with the name of your scroll profile, without `.yml`.

Players carry the scroll while completing its objectives. They can open `/uq scroll` to check progress and claim the completed scroll's reward. A scroll with several objectives must have all of them completed.
