> 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/menus/menus-1.md).

# Free Menu Configuration

The direct `.yml` filename in menus/ is its menu ID. Open with `/uq menu <id>`. enabled defaults true; permission defaults empty. Disabled menus cannot be opened; console -b can skip menu permissions. Text supports language placeholders and colors.

Use 1–6 layout rows, 9 symbols per row. Each symbol identifies a contents region or static items button; repeating it allocates more slots. There is no per-entry slot/slots field in this layout model. Example:

```yaml
enabled: true
permission: ultimatequest.use
title: '&8Quests {page}/{pages}'
layout:
- FFFFFFFFF
- FQQQQQQQF
- PKFFCRFFN
category-filter:
  enabled: true
contents:
  Q:
    type: quests
    filterable: true
    sort: actionable
    use-quest-icon: true
    item:
      name: '&a{name}'
      lore: ['{objectives}', '{rewards}', '{hint}']
    click-actions:
      LEFT:
        type: quest
      RIGHT:
        type: abandon_quest
        confirm: true
        confirm-seconds: 5
items:
  F:
    item: {material: BLACK_STAINED_GLASS_PANE, name: ' '}
  P:
    item: {material: ARROW, name: '&ePrevious'}
    actions: {type: previous_page}
  N:
    item: {material: ARROW, name: '&eNext'}
    actions: {type: next_page}
  K:
    category-button: true
    item: {material: CHEST, name: '&eCategories'}
    actions: {type: open_categories}
  R:
    item: {material: COMPASS, name: '&eRefresh'}
    actions: {type: refresh}
  C:
    item: {material: BARRIER, name: '&cClose'}
    actions: {type: close}
```

Content types: quests (normal tasks), period, scroll, challenge, battlepass, milestone. include/exclude filter definition IDs. categories imposes a fixed category range. filterable enables the view filter. sort: actionable prioritizes actionable entries; natural preserves ordinary ordering. use-quest-icon defaults true; omit item.material to preserve definition icons.

Battle-pass/milestone catalogs and details use catalog-title/catalog-layout and detail-title/detail-layout; battle passes also use challenge-title/challenge-layout. contents..display restricts content to catalog/detail/challenges; track filters free/premium/default stages. Catalog entries use catalog-item; other entries use the matching state-items override, falling back to item.

state-items. overrides appearance; empty-item/empty-slot controls empty-region feedback. Static buttons support hide-on-first-page, hide-on-last-page, hidden-item, view-items., and category-button. See [menu options](/for-ultimatequest/menus/menus/builtin-options.md), [actions](/for-ultimatequest/menus/menus/actions.md), and [categories](/for-ultimatequest/configuration/categories.md).

## Period group filter

period-filter.enabled defaults true for the period menu. period-filter.groups optionally limits the list to existing profile IDs plus all; without it, enabled profiles and saved assignment groups are included. cycle\_period\_group cycles profiles; set\_period\_group uses its group field to select one. items..period-items. customizes a button per selected group. {period-id} is its ID and {period-group} its localized name. Category and status filters combine with the selected period group.

## 🎛️ Status and scroll filters

view-filter.values controls valid status choices and their order; scroll-filter.enabled/groups controls scroll profile filtering. Static group buttons support scroll-button and scroll-items.. category-filter.hide-empty optionally hides categories with zero matching tasks. See the [per-file option reference](/for-ultimatequest/menus/menus/builtin-options.md) for current defaults and the [navigation actions](/for-ultimatequest/configuration/actions/navigation.md).
