📦 Material Formatting Reference
The Material field in the Visual tab accepts five different formats. This is one of the most powerful parts of NxMenu.
1️⃣ Vanilla Bukkit Materials
Any standard Spigot Material name works. Type it in UPPERCASE.
DIAMOND_SWORDNETHERITE_INGOTOAK_PLANKSPLAYER_HEAD
The Menu Builder has a built-in autocomplete dropdown showing all 1,000+ valid materials.
2️⃣ Custom Model Data Format
Append :<number> to a material to use a Custom Model Data variant from your resource pack.
PAPER:10001— Paper item with CMD 10001DIAMOND_SWORD:5— Diamond Sword with CMD 5
NxMenu uses the modern (1.21.4+) CustomModelDataComponent API automatically, with fallback to the legacy method for older servers.
3️⃣ HEAD- (Live Player Skull)
Display a 3D player skull. The texture loads dynamically based on whose name you provide.
HEAD-Notch— Static skull of the player named "Notch".HEAD-%player%— Skull of whoever is viewing the menu.HEAD-%arg1%— Skull of the first command argument (used in profile menus).
HEAD-%player% creates that classic "this menu is about ME" effect for personal stat menus, kit selectors, and profiles.4️⃣ BASEHEAD- (Custom Texture)
Display a player skull with a fully custom Mojang texture (the kind you find on minecraft-heads.com).
BASEHEAD-eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6IiR0XC9pbWFnZS5wbmcifX19
Paste the entire base64 string after BASEHEAD-. Useful for decorative heads (gem icons, animals, custom art).
5️⃣ Custom Widget Names (from Texture Studio)
If you've drawn a custom icon in Texture Studio (e.g. gold_coin), you can use that name directly:
gold_coin
NxMenu auto-translates this to PAPER:<cmd> behind the scenes during deployment, using the Custom Model Data assigned in Texture Studio. When you reload your editor, it converts back to the friendly name automatically.
The AMOUNT Field
The Amount field accepts more than just a number:
5— Static stack of 5.%player_level%— Live updating amount based on placeholders.%vault_eco_balance%— Dynamic counter (note: max 127 per item; over that, it caps).
If your amount string contains a placeholder, the canvas preview shows {..} as a placeholder badge. The real value resolves at click time in-game.