EasyMenu 7
EasyMenu は、YAMLファイルから直感的にメニューを構築できるMinecraftサーバー向けプラグインです。
アイテムの素材、表示名、説明文、配置スロット、クリック時に実行するコマンドやアクションをYAMLに記述するだけで、高機能なメニュー画面を簡単に作成できます。
EasyMenu 7では描画基盤を NegiLib へ分離し、同じYAML設定から従来の「インベントリGUI(チェスト画面)」だけでなく、Minecraft 1.21.6以降の「Native Dialog(クライアントネイティブ画面)」にも自動対応します。
NegiLib-1.1.0.jar (必須 / UI描画を担当)
EasyMenu-7.0.1.jar (本体 / メニュー定義・動作を管理)
:::tip EasyMenu 6の設定はそのまま動作します
EasyMenu 7は下位互換性を重視して設計されています。EasyMenu 6で作成した config.yml、main.yml、sub/*.yml は一切書き換えることなくそのまま動作します。
:::
このガイドの構成
| カテゴリ | ページ | 内容 |
|---|---|---|
| はじめに | EasyMenu 7 | EasyMenu 7の概要(本ページ) |
| 導入 | サーバー要件とインストール手順 | |
| 5分でメニューを作る | 最初のメニュー作成チュートリアル | |
| v6 → v7への移行 | EasyMenu 6 / 5.xからのアップグレード手順 | |
| メニューを作る | メニューの基本 | main.yml の基本構造、サイズ、タイトル、背景 |
| アイテムの設定 | アイテム素材、スロット、モダンコンポーネント | |
| メニューを開く | コマンド、動的オープンコマンド、権限 | |
| サブメニュー | サブメニューの配置、階層構造、遷移 | |
| アクション | アクション概要 | アクションの書き方、実行順序、優先度 |
| コマンドを実行する | プレイヤーコマンド・コンソールコマンドの実行 | |
| メニュー・メッセージ・サウンド | 画面遷移、メッセージ送信、効果音、タイトル | |
| 高度なアクション | ディレイ、テレポート、ポーション効果、入力 | |
| 条件・動的表示 | 条件 | 権限、ワールド、数値比較などの条件構文 |
| 表示・使用条件 | visible-when と enabled-when の使い分け | |
| バリアント | プレイヤー条件に応じたアイテムの動的差し替え | |
| クールダウン | 連続実行の制限と共有キー | |
| PlaceholderAPI | プレースホルダーの展開とセキュリティ | |
| 表示方法 | インベントリGUI | チェストUI形式でのメニュー表示 |
| Native Dialog | Paper 1.21.6+ のクライアントダイアログ表示 | |
| 入力 | 名前付き入力フィールドとチャット入力 | |
| Body・Presentation | 装飾テキスト・アイテムと表示モード設定 | |
| 設定リファレンス | YAML 全設定一覧 | メニュー設定の全キー完全リファレンス |
| Action 一覧 | 全アクションタイプのリファレンス | |
| Condition 一覧 | 全条件タイプのリファレンス | |
| config.yml | プラグイン全体設定の解説 | |
| コマンド・権限 | 利用可能なコマンドとパーミッション | |
| 言語設定 | 多言語対応とメッセージのカスタマイズ | |
| その他 | 対応環境 | サーバーバージョンと対応機能一覧 |
| リロードと設定検証 | /menu reload の安全性と診断メッセージ | |
| トラブルシューティング | よくある問題と解決手順 | |
| NegiLibについて | 描画基盤NegiLibとの役割分担とAPI連携 |
主な特徴
- シンプルなYAML構文: 直感的な設定ファイルでメニューを定義。最小構成は数行で作成可能。
- マルチUI自動対応: インベントリGUIとNative Dialogに同一設定から対応。
- 柔軟なアクション: コマンド実行、画面遷移、メッセージ、効果音、タイトル、テレポート、ディレイなどを記述順に正確に実行。
- 高度な条件判定: 権限・ワールド・所持金(PlaceholderAPI)に応じた要素の表示/非表示、使用制限、バリアント切り替え。
- 安全なアトミックリロード:
/menu reload実行時、設定に誤りがあっても稼働中のメニューを壊さず安全にロールバック。 - 高いパフォーマンス: Foliaの非同期・リージョンスケジューラーに対応し、Paper / Purpur / Folia 環境で高負荷時も快適に動作。
- 安全なプレースホルダー: プレイヤー入力値のインジェクションを防ぐ厳格なサニタイズ処理。