メニューを開く
作成したメニューをプレイヤーが開く方法には、基本コマンド、動的コマンド登録、別メニューからの画面遷移があります。
基本コマンド
EasyMenuが標準で提供するコマンドです。
メインメニューを開く
/menu
plugins/EasyMenu/main.yml で定義されたメインメニューを開きます。デフォルトでは全プレイヤーが実行可能です。
サブメニューを直接開く
/submenu <メニューID>
# または短縮エイリアス
/sm <メニューID>
例えば plugins/EasyMenu/sub/shop.yml を開く場合は /submenu shop を実行します。
動的オープンコマンド (open-command)
各メニューファイルで open-command を設定すると、そのメニュー専用のカスタムコマンド(例: /shop, /warp)をサーバーに自動登録できます。
plugins/EasyMenu/sub/shop.yml
menu-title: "&a&lショップメニュー"
menu-size: 27
# 専用のオープンコマンドを登録
open-command:
name: "shop"
aliases:
- "store"
- "market"
permission: "myserver.command.shop"
permission-default: true
menu-items:
- slot: 13
material: EMERALD
name: "&a購入"
command: "shop buy"
open-command の設定項目
| キー | 型 | 既定値 | 説明 |
|---|---|---|---|
name | 文字列 | 必須 | 登録するメインコマンド名(先頭のスラッシュなし)。 |
aliases | 文字列リスト | [] | コマンドの別名(エイリアス)リスト。 |
permission | 文字列 | なし | コマンド実行に必要なパーミッションノード。 |
permission-default | 真偽値 / 文字列 | op | 権限の既定許可対象。true で全プレイヤーに許可、false / op でOPのみに許可。 |
:::warning コマンド名の重複チェック 既に他のプラグインが所有しているコマンド名や、EasyMenu内の別メニューと重複する名前を指定した場合、リロード時にエラー(衝突)が検出され、安全にリロードが拒否されます。他のプラグインのコマンドを誤って上書きしてしまうことはありません。 :::
開封条件 (open-when)
特定の条件を満たしたプレイヤーのみにメニューを開かせることができます。
# VIP権限を持つプレイヤーのみ開けるメニュー
open-when:
permission: "myserver.vip"
# 権限がない場合に表示するメッセージ
open-denied-message: "&cこのメニューはVIPランク専用です。"
/menu、/submenu <id>、および open-command のどの経路から開いた場合でも、open-when の条件が共通して適用されます。条件構文の詳細は 条件 を参照してください。