バージョン移行ガイド
EasyMenu 7へのアップグレード手順と、過去バージョンからの移行について解説します。
EasyMenu 6 から EasyMenu 7 への移行
要点
- 既存のYAML設定ファイル(
config.yml,main.yml,sub/*.yml,lang/*.yml)は変更不要です。そのまま読み込まれます。 - NegiLib 1.x が必須となりました。
移行手順
- サーバーを停止します。
plugins/フォルダにNegiLib-1.1.0.jarとEasyMenu-7.0.1.jarを配置します。- 旧
EasyMenu-6.x.x.jarを削除します。 - サーバーを起動します。
- コンソールに
EasyMenu 7.x.x enabled; bound to NegiLibと出力されることを確認します。
要件の変更点
| 項目 | EasyMenu 6 | EasyMenu 7 |
|---|---|---|
| 対応サーバー | Spigot, Paper, Folia | Paper, Purpur, Folia |
| Java | 17 以降 | 17 以降 |
| Minecraft | 1.20.1 以降 | 1.20.1 以降 |
| 必須プラグイン | なし | NegiLib 1.x |
| PlaceholderAPI | 任意 | 任意 |
:::note Spigotのサポート終了 NegiLibがFoliaスケジューラーAPIを前提とするため、EasyMenu 7ではSpigotはサポートされません。Paper、Purpur、Folia環境をご利用ください。 :::
これまでどおり動作する設定
EasyMenu 6のすべてのYAML記法はEasyMenu 7でも完全に動作します。
menu-title: "&6&lEasyMenu"
menu-opensound: "ENTITY_EXPERIENCE_ORB_PICKUP"
menu-background-item: "GRAY_STAINED_GLASS_PANE"
menu-size: 54
menu-items:
- location: "3,3" # location と slot の両方を引き続きサポート
material: "RED_BED"
name: "&c&lHome"
command: "/home" # 先頭のスラッシュあり・なし両対応
sound: "ENTITY_ENDERMAN_TELEPORT"
close-menu: true
lore:
- "&7Teleport to your home"
- slot: 22
material: "EMERALD"
command: "sub_shop" # サブメニュー "shop" を開く
- slot: 26
material: "BARRIER"
command: "main_mainopen" # メインメニューを開く
型付きアクション(actions:)、click-policy、custom-model-data、input アクションもそのまま動作します。
把握しておきたい挙動の改善
| 変更点 | 理由・影響 |
|---|---|
command: "shop buy diamond" のように先頭スラッシュなしのコマンドがプレイヤーコマンドとして実行可能に(v6ではエラー) | 簡易記法を使いやすくするため |
| アクションを宣言したにもかかわらず1件も生成されなかった場合はリロード時にエラー検出 | ボタンが黙って装飾(無反応)になるのを防ぐため |
存在しないメニューへの open-menu 遷移先をリロード時に検出 | クリックしたプレイヤーだけが失敗するのを未然に防ぐため |
open-menu はターゲットメニューの描画完了を待ってから後続アクションを実行 | 画面遷移後のメッセージが正しく遷移先を指すようにするため |
入力フォームの initial(初期値)が入力条件を満たしているかを検証 | 最初の送信が理由不明で失敗するのを防ぐため |
| 未知のサウンド名は警告となり、サウンド再生アクションのみ除外されてメニューは開く | 装飾のサウンドでメニュー全体が開けなくなるのを防ぐため |
config.yml の新キー
既存の config.yml はそのまま使えます。EasyMenu 7の初回起動時に、以下の新しいキーが既定値で認識されます。
runtime:
default-presentation: inventory # 指定のないメニューの表示形式(既定: インベントリGUI)
diagnostics:
log-warnings-on-load: true
input:
default-timeout-seconds: 60
cooldown:
cleanup-interval-seconds: 60
切り戻し(ロールバック)について
EasyMenu 7はメニューファイルを新形式に自動変換・書き換えすることはありません。そのため、元の EasyMenu-6.x.x.jar に差し戻すだけでいつでも切り戻すことができます。
EasyMenu 5.x から EasyMenu 6 への移行(アーカイブ)
EasyMenu 5.xからアップグレードする場合の手順です。
フォルダの自動移行
EasyMenu 5.xで使用されていた以下のフォルダは、初回起動時に自動的に新フォルダへ移行されます。
plugins/EasyMenuPlugin/ → plugins/EasyMenu/
旧 config.yml 内にメニュー定義が含まれており、main.yml が存在しない場合は、メニュー部分が自動的に main.yml へ分離されます。
コマンドの変更
旧バージョンの /menureload コマンドは廃止されました。
/menu reload
権限ノードは easymenu.command.reload(または easymenu.admin)です。
互換記法
location: "5,3"command: "/spawn"command: "sub_shop"command: "main_mainopen"close-menu: true