Skip to main content

Global Placeholders

Global placeholders allow you to define values in one place and use them across all your inventories. This is useful for server information, URLs, and other values you might want to change centrally.

Configuration File​

Global placeholders are defined in plugins/zMenu/global-placeholders.yml.

Basic Usage​

Defining Global Placeholders​

# global-placeholders.yml

server-name: "My Awesome Server"
server-ip: "play.myserver.com"
discord: "discord.gg/myserver"
website: "https://myserver.com"
store: "https://store.myserver.com"
version: "1.0.0"

Using Global Placeholders​

Access them with %zmenu_global_placeholders_<key>%:

# In your inventory
items:
server-info:
slot: 4
item:
material: BOOK
name: "&6&l%zmenu_global_placeholders_server-name%"
lore:
- "&7IP: &f%zmenu_global_placeholders_server-ip%"
- "&7Discord: &9%zmenu_global_placeholders_discord%"
- "&7Website: &b%zmenu_global_placeholders_website%"

Advanced Features​

List Values​

You can define lists of values:

# global-placeholders.yml
rules:
- "&7- Be respectful to others"
- "&7- No cheating or hacking"
- "&7- No advertising"
- "&7- Have fun!"

Nested Values​

Use dots for organization (they become part of the key):

# global-placeholders.yml
social.discord: "discord.gg/myserver"
social.twitter: "@MyServer"
social.youtube: "youtube.com/myserver"

prices.vip: "9.99"
prices.mvp: "19.99"
prices.legend: "49.99"

Usage:

lore:
- "&7Discord: %zmenu_global_placeholders_social.discord%"
- "&7VIP Price: $%zmenu_global_placeholders_prices.vip%"

Examples​

Server Information Menu​

# global-placeholders.yml
server-name: "CraftWorld"
server-ip: "play.craftworld.net"
discord: "discord.gg/craftworld"
website: "https://craftworld.net"
owner: "Notch"
founded: "2020"
# inventories/server_info.yml
name: "&6Server Information"
size: 27

items:
info:
slot: 13
item:
material: BOOK
name: "&6&l%zmenu_global_placeholders_server-name%"
lore:
- "&8&m─────────────────"
- ""
- "&7IP: &f%zmenu_global_placeholders_server-ip%"
- "&7Discord: &9%zmenu_global_placeholders_discord%"
- "&7Website: &b%zmenu_global_placeholders_website%"
- ""
- "&7Owner: &e%zmenu_global_placeholders_owner%"
- "&7Founded: &a%zmenu_global_placeholders_founded%"
- ""
- "&8&m─────────────────"

Store Prices​

# global-placeholders.yml
rank.vip.price: "9.99"
rank.vip.name: "&a&lVIP"
rank.mvp.price: "19.99"
rank.mvp.name: "&b&lMVP"
rank.legend.price: "49.99"
rank.legend.name: "&6&lLEGEND"
# inventories/ranks.yml
items:
vip:
slot: 11
item:
material: IRON_BLOCK
name: "%zmenu_global_placeholders_rank.vip.name%"
lore:
- "&7Price: &a$%zmenu_global_placeholders_rank.vip.price%"

mvp:
slot: 13
item:
material: GOLD_BLOCK
name: "%zmenu_global_placeholders_rank.mvp.name%"
lore:
- "&7Price: &a$%zmenu_global_placeholders_rank.mvp.price%"

legend:
slot: 15
item:
material: DIAMOND_BLOCK
name: "%zmenu_global_placeholders_rank.legend.name%"
lore:
- "&7Price: &a$%zmenu_global_placeholders_rank.legend.price%"

Centralized Colors/Themes​

# global-placeholders.yml
color.primary: "&6"
color.secondary: "&7"
color.success: "&a"
color.error: "&c"
color.info: "&b"

prefix.shop: "&6&lSHOP &8»"
prefix.warp: "&5&lWARP &8»"
prefix.admin: "&c&lADMIN &8»"
# Use in inventories
items:
item:
item:
name: "%zmenu_global_placeholders_color.primary%My Item"

Benefits​

  1. Centralized Management: Change values in one place
  2. Consistency: Ensure the same values across all menus
  3. Easy Updates: Update server IP, Discord link, etc. once
  4. Organization: Keep configuration values together
  5. No Restarts: Changes apply after /zm reload

Comparison with Local Placeholders​

FeatureGlobal PlaceholdersLocal Placeholders
ScopeAll inventoriesSingle inventory
Fileglobal-placeholders.ymlInside inventory file
Access%zmenu_global_placeholders_key%%key%
Use caseServer-wide valuesInventory-specific values

Local Placeholders Example​

# In inventory file
local-placeholders:
category: "Weapons"
discount: "20%"

items:
header:
item:
name: "&6%category% Shop"
lore:
- "&7Sale: %discount% off!"

Reloading​

After making changes to global-placeholders.yml:

/zm reload config

Or reload everything:

/zm reload

Best Practices​

  1. Use descriptive keys: server-ip not ip
  2. Group related values: Use dot notation like social.discord
  3. Document your placeholders: Add comments in the YAML file
  4. Keep it organized: Group by purpose (social, prices, colors)
  5. Don't overuse: Only use for truly global values

Next Steps​

Copyright © 2026 GroupeZ|Build #loading...|-