メインコンテンツまでスキップ

バージョン移行ガイド

EasyMenu 7へのアップグレード手順と、過去バージョンからの移行について解説します。


EasyMenu 6 から EasyMenu 7 への移行

要点

  • 既存のYAML設定ファイル(config.yml, main.yml, sub/*.yml, lang/*.yml)は変更不要です。そのまま読み込まれます。
  • NegiLib 1.x が必須となりました。

移行手順

  1. サーバーを停止します。
  2. plugins/ フォルダに NegiLib-1.1.0.jarEasyMenu-7.0.1.jar を配置します。
  3. EasyMenu-6.x.x.jar を削除します。
  4. サーバーを起動します。
  5. コンソールに EasyMenu 7.x.x enabled; bound to NegiLib と出力されることを確認します。

要件の変更点

項目EasyMenu 6EasyMenu 7
対応サーバーSpigot, Paper, FoliaPaper, Purpur, Folia
Java17 以降17 以降
Minecraft1.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-policycustom-model-datainput アクションもそのまま動作します。

把握しておきたい挙動の改善

変更点理由・影響
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