メニューの基本
EasyMenuでは、直感的なYAMLファイルを使って簡単にメニューを作成できます。
ここでは、最初の一歩となる最小構成から始めて、段階的に機能を追加していく手順をわかりやすく解説します。
1. 最小構成のメニュー
EasyMenuの最もシンプルなメニューは、これだけで作成できます。
menu-title: "&6ショップ"
menu-items:
- slot: 13
material: DIAMOND
name: "&bダイヤモンド"
command: "shop buy diamond"
これだけで、中央にダイヤモンドが1個並び、クリックするとコマンドを実行する立派なメニューとして動作します。
2. ステップ1: タイトルを変える
メニュー最上部に表示されるタイトルは menu-title で設定します。Minecraft標準のカラーコード(&a〜&f、&l 等)が使えます。
menu-title: "&8[&6EasyMenu&8] &eメインロビー"
3. ステップ2: メニューのサイズを変える
インベントリ画面のマス数(スロット数)は menu-size で変更できます。9の倍数(9, 18, 27, 36, 45, 54)から選びます。
# 3行(27マス)のメニューにする場合
menu-size: 27
menu-size | 行数 | 主な用途 |
|---|---|---|
9 | 1行 | 簡易選択バー |
27 | 3行 | 小さめのショップ・ワープ画面 |
54 (既定値) | 6行 | 大型メインメニュー・多機能パネル |
4. ステップ3: アイテムを追加・配置する
menu-items の中にアイテムを追加していきます。
スロット番号(slot)は 左上を 0 としたマス目の番号 です。27マスのメニューの場合、0〜26番のスロットにアイテムを配置できます。
menu-items:
# スロット11(左側)にコンパスを配置
- slot: 11
material: COMPASS
name: "&aスポーンへ行く"
lore:
- "&7クリックするとスポーン地点へ移動します"
command: "/spawn"
# スロット15(右側)にダイヤモンドを配置
- slot: 15
material: DIAMOND
name: "&bショップを開く"
lore:
- "&7アイテムショップ画面へ移動します"
command: "sub_shop"
material: アイテムの素材名(MinecraftのMaterial名)。name: アイテムの表示名。lore: アイテムの説明文(行のリスト)。
5. ステップ4: クリック時のコマンドを設定する
アイテムをクリックしたときに実行するコマンドは command で指定します。
command: "/spawn" # スラッシュあり
command: "give {player} diamond 1" # スラッシュなし・プレイヤー変数使用
{player} と書くと、アイテムをクリックしたプレイヤーの名前に自動で置き換わります。
6. ステップ5: サブメニューへ移動する
ショップ画面やワープ一覧などの別の画面を開きたい場合は、command: "sub_<メニュー名>" を指定するだけです。
# plugins/EasyMenu/sub/shop.yml を開く
command: "sub_shop"
サブメニュー側からメインメニューに戻る場合は、command: "main_mainopen" を指定します。
# メインメニューに戻る
command: "main_mainopen"
7. 背景アイテムと効果音で装飾する
空いているスロットをガラス板で埋めたり、開封時に音を鳴らすと、メニューの見た目がさらに良くなります。
menu-title: "&6&lマイサーバーメニュー"
menu-size: 27
# 空きスロットをガラス板で埋める
menu-background-item: "GRAY_STAINED_GLASS_PANE"
# メニューを開いたときの効果音
menu-opensound: "BLOCK_CHEST_OPEN"
menu-items:
- slot: 13
material: DIAMOND
name: "&bダイヤモンドを購入"
sound: "ENTITY_EXPERIENCE_ORB_PICKUP" # クリック時の効果音
close-menu: true # クリック後にメニューを閉じる
command: "shop buy diamond"
ファイルを編集したら、ゲーム内で /menu reload を実行すれば即座にメニューが更新されます!
次のステップ
基本をマスターしたら、さらに高度な機能を使ってみましょう。