Menus
Menus (also called GUIs - Graphical User Interfaces) provide a visual way for players to interact with Homestead without typing commands. Menus appear as chest inventories with clickable items.
Overview
Homestead uses menus for:
- Viewing and managing regions
- Configuring flags
- Managing trusted members
- Accessing region settings
- And much more!
All menu customization is done in the menus.yml file located in the Homestead plugin folder.
Customizing Menu Titles
Menu titles appear at the top of the chest inventory interface.
Configuration
In menus.yml, find the menu-titles section:
menu-titles:
0: "Regions"
1: "Region: &2{region}"
2: "Player Flags (Global)"
3: "World Flags"
4: "Member Flags"
5: "Region Members"
6: "Sub-Areas"
7: "Region Bank"
8: "Region Settings"
Using Color Codes
You can use Minecraft color codes to style titles:
menu-titles:
1: "&6&lRegion: &2&l{region}" # Gold, bold "Region:", green, bold region name
2: "&c&lPlayer Flags" # Red, bold title
5: "&b» &fMembers &b«" # Aqua arrows, white text
Common Color Codes:
&0- Black&1- Dark Blue&2- Dark Green&3- Dark Aqua&4- Dark Red&5- Dark Purple&6- Gold&7- Gray&8- Dark Gray&9- Blue&a- Green&b- Aqua&c- Red&d- Light Purple&e- Yellow&f- White
Formatting Codes:
&l- Bold&o- Italic&n- Underline&m- ~~Strikethrough~~&r- Reset formatting
Customizing Menu Buttons
Buttons are the clickable items in menus. Each button has a name, description (lore), and appearance (item type).
Configuration
In menus.yml, find the buttons section:
buttons:
0:
name: "&cBack"
lore:
- "&7Return to the previous menu."
type: RED_STAINED_GLASS_PANE
1:
name: "&9Previous"
lore:
- "&7Go to the previous page."
type: ARROW
2:
name: "&9Next"
lore:
- "&7Go to the next page."
type: ARROW
Button Properties
name:
The button's display name. Supports color codes.
lore:
A list of description lines shown when hovering over the button.
lore:
- "&7Click to confirm this action."
- "&cThis cannot be undone!"
- ""
- "&eLeft-click to continue"
type:
The Minecraft item/block to use as the button. See below for options.
Button Types
Using Regular Items
You can use any Minecraft material name:
type: DIAMOND # A diamond item
type: IRON_SWORD # An iron sword
type: OAK_DOOR # An oak door
type: GRASS_BLOCK # A grass block
type: ENCHANTED_BOOK # An enchanted book
Finding Material Names:
- Visit the Minecraft Wiki
- Search for the item you want
- Look for the "Data values" or "ID" section
- Use the namespaced ID without
minecraft:(e.g.,DIAMOND_SWORD, notminecraft:diamond_sword)
Using Player Heads
Player heads let you use custom textures for buttons, creating unique icons.
Format:
Where <texture> is the texture ID from Minecraft-Heads.com.
Getting Custom Player Head Textures
Step-by-Step Guide:
-
Visit Minecraft-Heads.com
-
Search for a head design you like (e.g., "grass block", "warning sign", "arrow up")
-
Select the head you want to use
-
Scroll down to find the "Minecraft URL" section
-
Copy the URL, which looks like:
-
Extract the texture ID (everything after
/texture/): -
Use it in your button:
Popular Head Categories
- Arrows: Up, down, left, right navigation
- Symbols: Checkmarks, X marks, warning signs
- Blocks: Realistic versions of Minecraft blocks
- Letters: Individual alphabet letters
- Numbers: 0-9 for displays
- Misc: Gears, keys, locks, coins
Fallback Behavior
If a material name doesn't exist (wrong spelling, version mismatch, etc.), Homestead automatically uses a BARRIER block as a fallback.
Version Compatibility
If you're using a newer Minecraft version than Homestead's API version, some materials might not be recognized. For example, if Minecraft 1.21.9 adds "COPPER_GOLEM_STATUE", Homestead might not recognize it until updated. It will show as a barrier block instead.
Reloading Changes
After editing menus.yml, reload the configuration:
Players may need to close and reopen menus to see changes.
Best Practices
- Use consistent colors for similar actions (green for confirm, red for cancel)
- Keep lore concise; players should quickly understand the button
- Test thoroughly after making changes
- Back up
menus.ymlbefore major changes - Use player heads for unique, professional-looking menus
- Consider color-blind players; don't rely only on color to convey meaning