Purpur 1.21.8+ 向けの視認性を重視したメニュープラグイン
- Javaエディションプレイヤーには最新のDialog APIを使用
- 階層型サブメニューシステム
- 絵文字アイコン付きの見やすい選択肢
- MiniMessage形式によるカラフルなデザイン
- Bedrockエディションプレイヤーには専用フォームを表示
- SimpleFormによる直感的なボタン式メニュー
- プレイヤータイプを自動判定
- プロフィール表示
- サーバーショップ - 5つのカテゴリ別ショップ
- SocialLikes - ソーシャル機能
- テレポート - 7つの主要地点への移動
- 便利機能 - 作業台、バックパック、暗視など
- リンク集 - Wiki、Discord、投票サイト、マップ
- 画像マップアート化 - URLから直接マップアート生成
- 管理者コマンド - OP専用の管理機能
- プレイヤー昇格
- CoreProtect操作 (lookup/rollback)
- プレイヤーBAN
- ワールドサイズ拡張
- ワールド作成(Multiverse + WorldBorder自動設定)
- サーバー: Purpur 1.21.8 (Paper 1.21.6+)
- Java: Java 21
- プラグインタイプ: Paper Plugin (paper-plugin.yml)
- オプション: Geyser-Spigot (Bedrock対応時)
mvn clean package生成されたJARファイルは target/avantgardemenu-1.0.0.jar に出力されます。
- ビルドしたJARファイルをサーバーの
pluginsフォルダにコピー - 重要:
src/main/resources/plugin.ymlを削除してください(Paper Plugin形式では不要) - サーバーを起動(自動的に設定ファイルが生成されます)
- 必要に応じて設定ファイルを編集
/menuadmin reloadで設定を再読み込み
plugins/AvantGardeMenu/
├── config.yml # メイン設定ファイル
└── menus/
├── shop.yml # ショップサブメニュー
├── teleport.yml # テレポートサブメニュー
├── utilities.yml # 便利機能サブメニュー
├── links.yml # リンクサブメニュー
└── admin.yml # 管理者サブメニュー (OP専用)
| コマンド | 説明 | 権限 |
|---|---|---|
/menu |
メニューを開く | visualmenu.use (デフォルト: true) |
/menuadmin reload |
設定を再読み込み | visualmenu.admin (デフォルト: op) |
/menuadmin debug |
デバッグ情報を表示 | visualmenu.admin (デフォルト: op) |
/menuadmin listmenus |
読み込まれたメニューを一覧表示 | visualmenu.admin (デフォルト: op) |
/menuadmin regenerate |
設定ファイルを強制再生成 | visualmenu.admin (デフォルト: op) |
エイリアス: /vmenu, /visualmenu
menu:
items:
custom_item:
title: "<red><bold>カスタムアイテム</bold></red>"
icon: DIAMOND
description:
- "§7これはカスタムアイテムです"
- "§8クリックして実行"
command: "[player]mycustomcommand"
permission: "myplugin.custom"
slot: 8-
[console]- コンソールから実行command: "[console]give %player% diamond 1"
-
[player]- プレイヤーとして実行command: "[player]warp lobby"
-
プレフィックスなし - デフォルトでプレイヤーとして実行
command: "shop"
-
[special]back- 前のメニューに戻るcommand: "[special]back"
-
[special]nightvision_toggle- 暗視のオン/オフ切り替えcommand: "[special]nightvision_toggle"
-
[special]open_url:<URL>- URLをチャットで送信command: "[special]open_url:https://example.com"
-
[special]tomap_dialog- 画像マップアート作成ダイアログを開くcommand: "[special]tomap_dialog"
-
[special]admin_promote- プレイヤー昇格ダイアログを開く (管理者専用) -
[special]admin_coreprotect- CoreProtect操作ダイアログを開く (管理者専用) -
[special]admin_ban- プレイヤーBANダイアログを開く (管理者専用) -
[special]admin_worldsize- ワールドサイズ拡張ダイアログを開く (管理者専用) -
[special]admin_createworld- ワールド作成ダイアログを開く (管理者専用)
メインメニューアイテムからサブメニューを開く:
items:
shop:
title: "ショップ"
icon: EMERALD
submenu: "shop" # shop.ymlのサブメニューを開く
permission: null%player%- プレイヤー名に置換されます
MiniMessage形式を使用:
title: "<gradient:#FF0000:#00FF00>レインボー</gradient>"レガシーカラーコードも使用可能:
title: "§b§lシンプルな青"対応している絵文字アイコン:
- 🧭 COMPASS
- ⚔️ DIAMOND_SWORD
- 📖 BOOK
- 🔮 ENDER_PEARL
- 💎 EMERALD
- その他多数...
src/main/
├── kotlin/com/github/sahyuya/avantgardemenu/
│ ├── AvantGardeMenu.kt # メインクラス
│ ├── command/
│ │ ├── MenuCommand.kt # メニュー表示コマンド
│ │ └── MenuAdminCommand.kt # 管理コマンド
│ ├── config/
│ │ └── MenuConfig.kt # 設定管理(サブメニュー対応)
│ ├── listener/
│ │ └── MenuListener.kt # イベントリスナー
│ ├── manager/
│ │ └── GeyserManager.kt # Geyser統合
│ └── menu/
│ └── JavaMenuBuilder.kt # Dialog API実装(階層メニュー)
└── resources/
├── paper-plugin.yml
├── config.yml
└── menus/
├── shop.yml
├── teleport.yml
├── utilities.yml
└── links.yml
- Kotlin: 2.0.21
- Paper API: 1.21.6+ (Dialog API)
- Geyser API: 2.4.4-SNAPSHOT
- Cumulus: 1.1.2 (Forms API)
- Maven: ビルドツール
このプロジェクトはMITライセンスの下で公開されています。
問題が発生した場合は、Issuesセクションで報告してください。