For the complete documentation index, see llms.txt. This page is also available as Markdown.

Menus & GUIs

Every inventory screen has a dedicated file under plugins/DrakoDungeons/menus/. Menu files control presentation and layout; gameplay values remain in settings/, content/, and zones/.

Basic structure

schema-version: 1
title: '<dark_aqua><bold>Dungeons</bold> <dark_gray>({page}/{pages})'
size: 54
filler:
  slots: [1-54]
  material: BLACK_STAINED_GLASS_PANE
  name: ' '
  lore: []
items:
  previous-page:
    slots: [46]
    material: ARROW
    name: '<yellow>Previous Page'
    lore: []

Menu sizes must be a valid inventory size. Slots are 1-based, unlike zero-based hotbar settings.

Slot lists support individual numbers and inclusive ranges:

slots: [1, 5, 11-17, 46]

Overlapping state templates are allowed only where the service expects them, such as selected/unselected variants occupying the same logical position.

Item fields

Depending on the item template, available presentation fields include:

  • slots

  • material

  • amount

  • custom-model-data

  • head-texture

  • name

  • lore

  • glow

  • values for repeated actions such as ticket or hatch amounts

Materials must be valid for the running Minecraft version. Head texture URLs should use the Minecraft texture service.

Placeholders

Placeholders use braces, such as {zone}, {page}, {price}, or {level}. Each screen has its own supported values. Preserve existing placeholders when changing wording unless you intentionally want to hide that value.

Some placeholders expand into several lore rows. In menus/sword-enchanter.yml, keep {description_lines}, {effects}, and {upgrade_lines} on their own lines so the generated lore remains aligned.

Capacity checks

Several gameplay catalogues are validated against their menu capacity:

  • zones and stages paginate through their configured card slots;

  • armor tier count must fit menus/armor.yml;

  • Sword Attribute levels must fit each state in menus/sword-attributes.yml;

  • ability definitions must fit menus/abilities.yml;

  • companion definitions must fit menus/companion-eggs.yml;

  • sword crystal socket count must equal the socket slots in menus/crystals.yml;

  • perk ticket bundle values must match content/perks.yml.

Do not remove or rename required item IDs. The plugin validates the required controls for every menu and will reject incomplete layouts.

Resource-pack titles

Some bundled menu titles contain private-use font glyphs such as \uE7F0. These select resource-pack backgrounds. Change them only when the matching font mappings and textures are also updated.

Publishing changes

Open every modified menu at its first page, last page, empty state, locked state, affordable state, and maximum-level state before releasing the design.