アイテムの設定
menu-items 配下に記述するアイテム(要素)の詳細設定について解説します。
基本的なアイテム設定
menu-items:
- slot: 13
material: DIAMOND_SWORD
name: "&c&l伝説の剣"
amount: 1
glint: true
lore:
- "&7攻撃力: &c+10"
- "&7耐久度: &a無限"
- ""
- "&eクリックして購入"
sound: "ENTITY_PLAYER_LEVELUP"
close-menu: true
command: "shop buy sword"
アイテムの配置方法
アイテムの配置位置は slot または location のいずれかで指定します。
1. slot(スロット番号で指定)
インベントリの左上を 0 とした0始まりのインデックス番号です。
0 1 2 3 4 5 6 7 8 (1行目)
9 10 11 12 13 14 15 16 17 (2行目)
18 19 20 21 22 23 24 25 26 (3行目)
...
slot: 13 # 2行目の中央
slot に指定できるのは 0 から menu-size - 1 までです。範囲外の値はエラー(invalid-slot)、同じ番号を複数のアイテムが使うとエラー(duplicate-slot)になります。
2. location(列,行 で指定)
左上を "1,1" とした1始まりの「列,行」形式です(EasyMenu 5/6互換)。
location: "5,2" # 5列目・2行目(スロット13と同じ位置)
列は 1〜9、行は 1〜menu-size ÷ 9 の範囲で指定します(menu-size: 27 なら行は 1〜3)。"5, 2" のように空白を含めても読み取れますが、"5" や "5,2,1" のように2つの数値でない書き方、範囲外の値はエラー(invalid-slot)です。
計算式は スロット番号 = (行 - 1) × 9 + (列 - 1) です。
1つのアイテムに slot と location が両方書かれている場合は、slot の値が優先されます。警告(slot-overrides-location)が出力されます。
アイテムのプロパティ一覧
| キー | 型 | 既定値 | 説明 |
|---|---|---|---|
id | 文字列 | 自動生成 | 要素の識別ID。省略時は slot-13 や location-5-2 などから決定論的に生成されます。 |
material | Material名 | 必須 | アイテムの素材名(例: DIAMOND, COMPASS, PLAYER_HEAD)。 |
name | 文字列 | 素材名 | アイテムの表示名。カラーコードやプレースホルダーが使用可能。 |
lore | リスト | [] | アイテムの説明文(行のリスト)。 |
amount | 整数 | 1 | アイテムの個数(スタック数)。 |
glint | 真偽値 | なし | エンチャントの光沢効果を付与するかどうか。 |
custom-model-data | 整数 | なし | リソースパック用のCustomModelData値。 |
base64 | 文字列 | なし | プレイヤーの頭(PLAYER_HEAD)に適用するBase64テクスチャ文字列。 |
sound | Sound名 | なし | クリック受理時に再生される効果音。 |
close-menu | 真偽値 | true | アクション完了後にメニューを閉じるかどうか。 |
click-policy | 列挙型 | PRIMARY | 反応するクリック種類(PRIMARY, LEFT, RIGHT, ANY)。 |
slot も location も書かないアイテムは、他のアイテムが使っていない最初の空きスロットから、記述順に自動で並びます。
material が存在しない素材やアイテムでない素材の場合、そのアイテムはエラー(unknown-material)になります。
アイテムの全キーの一覧は YAML 全設定一覧 にまとめています。
プレイヤーヘッドとBase64スキン (base64)
material: PLAYER_HEAD を使用する場合、base64 キーでカスタムスキンのテクスチャを指定できます。
menu-items:
- slot: 13
material: PLAYER_HEAD
name: "&eプレゼントボックス"
base64: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWI3Y2JjY2UxMGFhMmJjNzRiOTZjNmYxNWQ3N2VkMTkyYmM3YjNmZGU5YThjMmY5NWVhYjlkMTFlOTMyZDYyIn19fQ=="
command: "present claim"
モダンアイテムコンポーネント (components)
Minecraft 1.20.5+ で導入されたコンポーネント機能に対応しています。
menu-items:
- slot: 13
material: NETHERITE_CHESTPLATE
name: "&6&l不滅の鎧"
components:
unbreakable: true # 耐久度無限
max-stack-size: 1 # 最大スタック数
rarity: epic # レアリティ (common, uncommon, rare, epic)
hide-tooltip: false # ツールチップ非表示フラグ
enchantment-glint-override: true # 光沢オーバーライド
item-model: "minecraft:bundle" # 1.21.6+ アイテムモデル指定
command: "shop buy armor"
使えるキーは unbreakable、max-stack-size、damage、max-damage、repair-cost、rarity、item-model、hide-tooltip、enchantment-glint-override の9つです。全キーの型と説明は YAML 全設定一覧 にあります。
これ以外のキーを書くと警告(unknown-component)が出力され、そのキーは無視されます。
実行中のサーバーバージョンがサポートしていないコンポーネント(例: 1.20.1での item-model)は、警告が出力され、安全にスキップされます。メニューやアイテム自体の読み込みが失敗することはありません。