menus.yml
(Questborn/top.yml)
# ==============================================================================
# Questborn — Menus Configuration
# ==============================================================================
#
# This file defines the layout and ALL item display strings for every GUI.
# Statuses, dynamic text and objective descriptions are in the language file.
#
# STRUCTURE:
# title — Inventory title. Placeholders: {quest}, {type}, {page}, {total}
# rows — Number of inventory rows (1-6)
# mask — Slots filled with the "filler" item (ranges: "0-9", lists: "1,2,3")
# slots — Named slot ranges for functional content (quests, players, input)
# items — All static items and button definitions
#
# ITEM FIELDS:
# material — Minecraft material or itemsadder:namespace:id
# name — Display name (&a color codes, <#RRGGBB> hex)
# lore — List of lore lines (same formatting)
# slot — Inventory slot (0-53)
# custom-model-data — Resource pack model integer (optional)
#
# ==============================================================================
menus:
# ============================================================================
# MAIN MENU — quest type selection
# ============================================================================
main:
title: "&0Quests - Main Menu"
rows: 5
mask:
- "0-9"
- "17, 18, 26, 27, 35, 36"
- "36-44"
items:
filler:
material: BROWN_STAINED_GLASS_PANE
name: " "
top:
slot: 40
material: JUNGLE_HANGING_SIGN
name: "<#ffe380>🏆 Top Players"
lore:
- "<#cccccc>Top-100 players"
- "<#cccccc>by quests completed"
locked:
material: RED_STAINED_GLASS_PANE
name: "<#ff5555>Requirements apply"
lore:
- "{requirements}"
- ""
- "<#cccccc>You do not meet the"
- "<#cccccc>requirements for this"
- "<#cccccc>quest type."
# ============================================================================
# QUEST LIST — paginated quests for a type
# ============================================================================
quest-list:
title: "&0{type} - Page {page}/{total}"
rows: 5
slots:
quests:
- "10-16"
- "19-25"
- "28-34"
mask:
- "0-9"
- "17, 18, 26, 27, 35, 36"
- "36-44"
items:
filler:
material: BROWN_STAINED_GLASS_PANE
name: " "
back:
slot: 38
material: ARROW
name: "<#ffccaa>← Previous Page"
next:
slot: 42
material: ARROW
name: "<#aaffdd>Next Page →"
main:
slot: 40
material: GUSTER_BANNER_PATTERN
name: "<#ffeeaa>Main Menu"
# ============================================================================
# QUEST DETAILS — objectives, rewards, actions
# ============================================================================
quest-details:
title: "&0{type} - {quest}"
rows: 5
mask:
- "0-9"
- "17, 18, 26, 27, 35, 36"
- "36-44"
items:
filler:
material: BROWN_STAINED_GLASS_PANE
name: " "
# ---- quest icon (material comes from quest definition) ----
icon:
slot: 4
# ---- objective info ----
objective:
slot: 20
material: SPYGLASS
name: "<#ffe999>Current Objective"
lore:
- "<#cccccc>Stage {stage}/{total_stages}"
- ""
- "{objective_details}"
# ---- rewards ----
rewards:
slot: 22
material: CHEST_MINECART
name: "<#ffe999>Rewards"
lore:
- "{reward}"
# ---- item transfer (shared slot, state-dependent name/lore) ----
transfer:
slot: 24
material: MINECART
transfer-required:
name: "<#cccccc>Deliver items"
transfer-none:
material: FURNACE_MINECART
name: "<#cccccc>Deliver items"
lore:
- "<#cccccc>This stage does not require"
- "<#cccccc>any items"
# ---- back button ----
back:
slot: 38
material: ORANGE_DYE
name: "<#ffcc55>← Back"
lore:
- "<#cccccc>Return to quest list"
# ---- action button (shared slot, state-dependent name/lore) ----
action:
slot: 42
action-activate:
material: LIME_DYE
name: "<#a7ff99>Activate Quest"
lore:
- "<#99ffd4>This quest will become your active quest."
- "<#99ffd4>Progress will appear at the bottom of the screen."
action-cancel:
material: RED_DYE
name: "<#ff6666>Cancel Quest"
lore:
- "<#ffaaaa>The quest will be canceled."
- "<#ffaaaa>All progress will be lost."
action-confirm-cancel:
material: RED_DYE
name: "<#ff6666>Really cancel?"
lore:
- "<#ffaaaa>Are you sure you want to"
- "<#ffaaaa>cancel this quest?"
- "<#ffaaaa>Click again to confirm."
action-blocked:
material: GRAY_DYE
name: "<#aaaaaa>Unavailable"
lore:
- "<#aaaaaa>Complete your current"
- "<#aaaaaa>active quest first."
action-replace:
material: YELLOW_DYE
name: "<#a7ff99>Replace Active Quest"
lore:
- "<#99ffd4>Your current active quest will be canceled."
- "<#99ffd4>This quest will take its place."
action-change:
material: YELLOW_DYE
name: "<#fffb99>Quest already active"
lore:
- "<#ccc97a>You already have an active quest"
- "<#ccc97a>Change active quest?"
action-confirm-change:
material: ORANGE_DYE
name: "<#ffc499>Quest Change"
lore:
- "<#ffe1cc>When switching, progress of the"
- "<#ffe1cc>inactive quest will be saved!"
action-cooldown:
material: GRAY_DYE
name: "<#dcdcdc>Cooldown"
lore:
- "<#dcdcdc>This quest is temporarily unavailable."
- "<#dcdcdc>Try again later."
action-completed:
material: GRAY_DYE
name: "<#c8c8c8>Quest Completed"
lore:
- "<#bbbbbb>This quest is already completed."
- "<#bbbbbb>It cannot be repeated."
# ---- claim reward ----
claim-reward:
slot: 42
material: EMERALD
name: "<#a7ff99>Claim Reward"
# ============================================================================
# QUEST TRANSFER — item delivery interface
# ============================================================================
quest-transfer:
title: "&0Transfer - {quest}"
rows: 5
mask:
- "0-3, 5-9"
- "17, 18, 26, 27, 35, 36"
- "37, 39, 40, 41, 43, 44"
slots:
input:
- "10-16"
- "19-25"
- "28-34"
items:
filler:
material: BROWN_STAINED_GLASS_PANE
name: " "
info:
slot: 4
cancel:
slot: 38
material: ORANGE_DYE
name: "<#ff6666>Cancel Delivery"
lore:
- "<#ffaaaa>Cancel item delivery"
- "<#ffaaaa>and return"
confirm:
slot: 42
material: LIME_DYE
name: "<#a7ff99>Deliver Items"
lore:
- "<#99ffd4>Deliver items to"
- "<#99ffd4>continue the quest"
# ============================================================================
# TOP PLAYERS — leaderboard
# ============================================================================
top:
title: "&0Top Players - Page {page}/{total}"
rows: 5
enabled: true
limit: 100
rank-styles:
1:
prefix: "<#FFAA00>♛ "
footer: "<#FFAA00>🏆 TOP 1 LEADER 🏆"
2:
prefix: "<#E0E0E0>🥈 "
footer: "<#E0E0E0>🥈 RUNNER UP"
3:
prefix: "<#CD7F32>🥉 "
footer: "<#CD7F32>🥉 THIRD PLACE"
default:
prefix: "<#AAAAAA>"
footer: ""
slots:
players:
- "10-16"
- "19-25"
- "28-34"
mask:
- "0-9"
- "17, 18, 26, 27, 35, 36"
- "36-44"
items:
filler:
material: BROWN_STAINED_GLASS_PANE
name: " "
stats:
slot: 4
material: PLAYER_HEAD
name: "<#6966ff>📊 Your Stats"
lore:
- "<#cccccc>Rank: <#ffe999>#{rank}"
- ""
- "<#cccccc>{type}: <#ffe999>{count}"
- ""
- "<#cccccc>Total: <#ffd37a>{total}"
player:
material: PLAYER_HEAD
name: "<#ffe380>{position} <#ffffff>{player}"
lore:
- "<#cccccc>Completed: <#ffd37a>{count}"
back:
slot: 40
material: GUSTER_BANNER_PATTERN
name: "<#ffeeaa>Main Menu"
prev:
slot: 38
material: ARROW
name: "<#ffccaa>← Previous Page"
next:
slot: 42
material: ARROW
name: "<#aaffdd>Next Page →"
Last updated