当記事はJava Edition(Java版)向けです。
揚げたてのポテト
揚げたてのポテト
海外サーバーなどでこんなのは見たことありませんか?
アイテムをクリックすると、インベントリが開いて更にその中のアイテムをクリックするとワールド移動できたり、メッセージが表示されるというものです。
揚げたてのポテト
こんなのできたらいいなと思ったことはありませんか?
今回はそういうことを可能にするプラグインをご紹介したいと思います。
あわせて読みたい
【注意喚起】マイクラプラグインのマルウェア感染に気を付けよう!対処方法を紹介します【プラグイン/M…
こんにちは!先日、マイクラのプラグインについて気になる情報を見かけたので、皆さんに周知したいと思います。 なんだろう…? 特にマイクラサーバー管理者に大きく関…
目次
Command Panelsとは
海外の方が開発されたプラグインで、バージョンは1.8~最新版まで対応しています。
Command Panelsは、事前に設定したアイテムをクリックするとインベントリを表示させることができ、更にその中でアイテムを表示させてクリックした時に様々なアクションを起こさせることができるプラグインです。
例えば、ワールド移動※1やサーバー移動※2ができたり、特定のアイテムを配布したりメッセージを表示させるなどができるようになります。
※1:ワールド間で移動ができるMultiverse-Coreなどを導入済みの必要あり
※2:サーバー間で移動ができるBungeeCordなどを導入済みの必要あり
要するにアイテムにコマンドを埋め込んでインベントリで表示し、クリックするとそれぞれのコマンドを実行できるよ!ということです。
※埋め込めるのは、バニラコマンドの他にプラグインコマンドなども可能です。
Command Panelsのダウンロード
Command Panelsは、1.8~1.12.2が対応しているCommand Panels Classicと1.13~最新版が対応しているCommand Panelsの2つに分かれています。
この2つはほぼ変わらないので、使い方は問題ないと思います。
今回はCommand Panelsを基準にご紹介します。
Command Panels Classicのダウンロード【1.8~1.12.2】
Command Panelsのダウンロード【1.13~最新版】
Command Panelsのコマンド一覧
Command Panelsでは、インベントリのことをパネルと呼ばれています。
Command Panelsのコマンド一覧を開く
コマンド | 許可(Permission) | 説 明 |
---|
/cp | - | コマンド一覧を表示する |
/cp [panel] | commandpanel.panel.[panel perm] | 指定のパネルを開く |
/cp [panel] [player name] | commandpanel.other | 指定プレイヤーに指定のパネルを開き、同時にホットバーにアイテムを与える |
/cp [panel] item [player name] | commandpanel.item.[panel perm] | 指定のパネルのアイテムを取得する |
/cpl | commandpanel.list | パネル一覧を表示する |
/cpc | commandpanel.close | 現在、開いているパネルを閉じる |
/cpg [rows] | commandpanel.generate | インベントリの行(1〜6)でパネルを生成する 指定が無い場合はチェスト(3×9)からパネルを生成します。 |
/cpr | commandpanel.reload | プラグインの設定を再読み込みする |
/cpv | commandpanel.version | プラグインのバージョンを確認する |
/cpv latest | commandpanel.update | 最新バージョンのCommandPanelsがダウンロードされ、サーバーの再起動時にインストールされます。 |
/cpv [version] | commandpanel.update | サーバーリロード/再起動時に指定したCommandPanelsのバージョンをダウンロードします。 例:/cpv3.14.2.0 |
/cpv cancel | commandpanel.update | 上記のダウンロードをキャンセルします。 |
/cpd | commandpanel.debug | コンソールでバグの詳細を表示する |
/cpe [panel] | commandpanel.edit | エディタを開く パネルを指定した場合は編集するパネルを開く |
/cpb add [panel] | commandpanel.block.add | ブロックを右クリックしたときにパネルを開く |
/cpb remove | commandpanel.block.remove | ブロックからパネルを削除する |
/cpb list | commandpanel.block.list | パネルがアタッチされているブロックの場所を一覧で表示する |
- | commandpanel.* | 全てのコマンドを許可する |
Command Panelsのプレースホルダー一覧
プレースホルダーとは、あらかじめ用意されている値(データ)を取得して置き換えることができます。
後ほど、使い方で説明するパネル設定のときに使うことができます。
詳しい使い方は、下記のCommand Panelsのパネル設定方法をご参照ください。
Command Panelsのプレースホルダー一覧を開く
プレースホルダー | 説 明 |
---|
%cp-player-displayname% | プレイヤーの表示名 |
%cp-player-name% | プレイヤー名 |
%cp-player-x% | プレイヤーのX座標 |
%cp-player-y% | プレイヤーのY座標 |
%cp-player-z% | プレイヤーのZ座標 |
%cp-player-input% | プレイヤーは、チャットに入力して、プレースホルダーの変更先を決定するよう求められる このプレースホルダーをアイテムごとに複数回使用すると、アイテムごとに入力が複製する |
%cp-player-world% | プレイヤーがいるワールド名 |
%cp-player-balance% | プレーヤーのバランス(economyとVaultが必要) |
%cp-player-online-1-find% | 番号1を任意の番号に変更できます。サーバースロットをチェックし、そのスロットでプレイヤーを見つける あなたがオンラインで1人だけで、番号1を使用している場合、それは自分自身として表示される 次に2にすると、サーバー上にプレイヤーが1人しかいないため、オフラインで表示される |
プレースホルダー | 説 明 |
---|
%cp-material-<slot>% | intのパネルでスロットを選択すると、そのスロットからMaterialが返されます。 Minecraftバージョンがレガシーバージョン(1.12以下)の場合、最後にIDが表示されます。WOOD:5 |
%cp-stack-<slot>% | intのパネルでスロットを選択すると、そのスロットからスタックサイズが返されます。 |
%cp-damaged-<slot>% | パネルでintのスロットを選択します。選択したアイテムが破損している場合はtrueを返し、破損していない場合はfalseを返します。 |
%cp-identical-<custom item>,<slot>% | このプレースホルダーを使用して、パネル内のアイテムがパネルのカスタムアイテムセクション内にあるアイテムと同一であるかどうかを判断できます。 |
プレースホルダー | 説 明 |
---|
%cp-data-<dataName>% | プレイヤーデータの値が取得されます。 プレイヤーにその名前で保存されたデータがない場合、プレースホルダーは値に変更されません。 |
%cp-data-<dataName>,<playerName>% | プレイヤーデータの値が取得されます。 ただし、このプレースホルダーには、表示するプレイヤーデータを選択できるため、プレイヤー名セクションが含まれています。 |
%cp-setdata-<dataName>,<dataValue>% | プレースホルダーを介してデータ値を変更できます。 このプレースホルダーをアイテムのセクションに追加すると、パネルが更新されるたびに実行されます。 例:
name:set-data=%cp-setdata-playerTeam,yellow% |
%cp-mathdata-<dataName>,<dataValue>% | プレースホルダーを介して数学データ値を変更できます。 このプレースホルダーをアイテムのセクションに追加すると、パネルが更新されるたびに実行されます。 例:name:math-data=%cp-setdata-playerMoney,+1% |
%cp-random-MIN,MAX% | 最小および最大の整数に基づいて乱数を出力します。 例:%cp-random-1,10% |
プレースホルダー | 説 明 |
---|
%cp-online-players% | オンラインのプレイヤー数 |
%cp-clicked% | パネルでクリックしたアイテム名 |
%cp-tag% | プラグインのタグを表示します。 デフォルトは、[CommandPanels] |
%cp-server-<IP>:<PORT>% | 指定したサーバーがオンラインの場合は「true」を出力 オフラインの場合は「false」を出力 |
プレースホルダー | 説 明 |
---|
%cp-tokenmanager-balance% | プレイヤーのトークン残高(TokenManagerが必要) |
%cp-votingplugin-points% | プレイヤーが持っているポイントの量(VottingPluginが必要) |
Command Panelsのタグ一覧
あらかじめ一部のバニラコマンド等がタグとして設定されています。
詳しい使い方は、下記のCommand Panelsのパネル設定方法をご参照ください。
Command Panelsのタグ一覧
タグ | 説 明 |
---|
open= | パネルを開きます。 使用法:open= <panel name> [placeholder:value] これは、パネル変数を処理する場合に役立ちます。詳細については、「パネル変数」ページを参照してください。 現在開いているパネルを開くために使用することはできません。 |
cpc | コマンドセクションでこれを使用すると、パネルが閉じます。 |
refresh | パネルを強制的に更新します。 アイテムがクリックされると同時にパネルが閉じないことを確認してください。 |
server= | BungeeCordを使用してプレイヤーを指定のサーバーにテレポートする。 |
delay= | 特定のコマンドを遅らせます。 使用法:delay = <Ticks> <コマンド> 例:delay= 20 msg= このメッセージを1秒後に表示されました |
sudo= | クリックしたプレイヤーに直接コマンドを実行する。 使用法:sudo= [command] |
console= | コンソールでコマンドを実行します。 |
nopapi= | 次のコマンドタグを使用して、PlaceHolderAPIプレースホルダーの実行を停止できます。 使用法:nopapi= [command] |
event= | メッセージを添付してPanelCommandEventをトリガーします。 例えば、メッセージにスペースを含めることはできません。 使用法:event= <message> |
sequence= | 異なるアイテムに同じコマンドを使用する場合にシーケンスを実行できます。使用法: sequence= [YAML location] |
op= | コマンドの権限を必要とせずにプレイヤーが実行できるようにします(非推奨) |
タグ | 説 明 |
---|
paywall= | 特定のコストを消費してコマンドを実行する。 使用法:paywall= [price] |
item-paywall= | 特定のアイテムを消費してコマンドを実行する。 使用法:item-paywall= [item] [amount] |
xp-paywall= | 特定のXPレベルを消費してコマンドを実行する。 使用法:xp-paywall= [xp price] |
tokenpaywall= | トークンの量を消費してコマンドを実行する。 使用法: tokenpaywall= [token price] |
タグ | 説 明 |
---|
sound= | アイテムをクリックすると音が鳴ります 。 使用法:sound= [sound name] サウンド名のリストはこちら。 |
stopsound= | アイテムがクリックすると音を止めます。 使用法:stopsound= [sound name] サウンド名のリストはこちら。 |
teleport= | プレイヤーをテレポートできます。 使用法1:teleport= [x] [y] [z] [optional player] 使用法2:teleport= [x] [y] [z] [yaw] [pitch] |
send= | チャットでグローバルにプレイヤーとしてメッセージを送信できます。使用法:send= [message] |
msg= | コマンドを実行しているプレイヤーにメッセージを送信します。使用法:msg= [message] |
タグ | 説 明 |
---|
buy= | プレイヤーはアイテムを購入します。(Vaultが必要) 使用法:buy= [price] [material] [amount] [material ID (for colours, etc)] 12個の羊毛を3コインで購入します。 例:buy= 3 WOOL 12 id:15 |
sell= | プレイヤーはアイテムを販売します。(Vaultが必要) 使用法:
sell= [price given back] [material] [amount] [material ID (for colours, etc)] 12個の羊毛を3コインで販売します。 例:sell= 3 WOOL12 id:15 ※ポーションの場合は、PotionEffectTypeを次のように追加する必要があります。 例:sell= 1 IRON_INGOT 45 potion:HEAL |
buycommand= | プレイヤーはコマンドを購入します。 使用法:buycommand= [price] [command] コンソールで実行するには、これはプレイヤー名の例:buycommand= 100 console= gamemode creative %cp-player-name% |
tokenbuy= | プレイヤーはアイテムを購入します。(Vaultが必要) 使用法:tokenbuy= [token price] [material] [amount] [material ID (for colours, etc)] 12個の羊毛を3コインで購入します。 例:tokenbuy= 3 WOOL 12 id:15 |
tokensell= | プレイヤーはアイテムを販売します。(Vaultが必要) 使用法:
tokensell= [token price given back] [material] [amount] [material ID (for colours, etc)] 12個の羊毛を3コインで販売します。 例:tokensell= 3 WOOL12 id:15 |
tokenbuycommand= | プレイヤーはコマンドを購入します。 使用法:tokenbuycommand= [token price] [command] コンソールで実行するには、これはプレイヤー名の例:tokenbuycommand= 100 console= gamemode creative %cp-player-name% |
タグ | 説 明 |
---|
setitem= | パネルスロット内のアイテムを別のものに設定するために使用され、配置可能なアイテムスロットに役立ちます。 使用法:setitem= <custom item name> <slot> |
give-item= | プレイヤーにパネルカスタムアイテムを与えるために使用されます。使用法:give-item= <customItem> |
タグ | 説 明 |
---|
placeholder= | open =に似ていますが、現在のパネルでプレースホルダーを編集するために使用されます。 使用法:placeholder= [placeholder:value] |
set-data= | プレイヤーのデータが特定の値に設定されます。 値の長さは1ワードのみです。プレイヤー名の入力は不要です。 使用法:set-data= <dataName> <Value> [player name] |
add-data= | プレイヤーのデータが特定の値に設定されます。 値の長さは1ワードのみです。 これは古いデータを上書きしないので、プレイヤーがすでに特定のデータを持っている場合はスキップします(コマンドオンオープンセクションで適切です)。 プレイヤー名の入力は不要です。 使用法:add-data= <dataName> <Value> [player name] |
math-data= | 数値データを変更するために使用されます。 使用法:math-data= <dataName> <operation> [player name]+ - * /+1+0.1-15*3/5 |
del-data= | プレイヤーからデータを削除します。 プレイヤー名の入力は不要です。 使用法:del-data= <dataName> [player name] |
clear-data= | プレイヤーからデータのすべてのポイントをクリアします。使用法:clear-data= <player name> |
アイテムを指定するときに設定できます
マテリアルタグ | 説 明 |
---|
cps= | 頭ブロック(カスタムヘッド)を指定できます。 |
hdb= | ヘッドデータベースを利用して頭ブロックを追加します。 |
%cp-player-online-1-find% | スロットを確認し、そのスロットでプレイヤーを見つける。 もし、プレイヤーがオンライン上で1人だけで、1を指定していた場合、自分自身として表示される。 次に2と指定すると、サーバー上にプレイヤーが1人しかいないため、オフラインで表示される。 ※1の数値は任意の番号に変更可能 |
アイテムをクリックする時に特定のクリックで実行させるように設定できます
クリックタグ | タグ |
---|
right= | コマンドを実行するには右クリックをする必要がある。 |
rightshift= | コマンドを実行するには右クリック+スニークをする必要がある。 |
left= | コマンドを実行するには左クリックをする必要がある。 |
leftshift= | コマンドを実行するには左クリック+スニークをする必要がある。 |
middle= | コマンドを実行するには中クリックをする必要がある。 |
詳しくは、こちらのCommand PanelsのWikiをご参照ください!
Command Panelsのパネル設定方法
それでは、パネルを作っていきましょう!実際に作成しながら説明していきます。
パネルの作成
下記のコマンドでパネルの大きさを決めましょう。
※最大6行まで指定できます。
※後から行数を変更できます。
今回は、3行×9列のパネルを作成するので「/cpg 3」と打ちこみました。
すると、このようにパネルが作成されるのでこの中に設定したいアイテムを入れます。
今回は、ベッドとリンゴとポーションを入れてみました。インベントリを解除すると入れたアイテムがパネルとして保存されます。
赤線で引かれているのが、作成されたパネル名になります。
それでは、作成したパネルにコマンドなどの設定をしていきましょう。
パネルの設定
「plugins」フォルダにある「CommandPanels」フォルダを開きます。
その中の「panels」フォルダを開き、先程作成されたパネルを開きます。
今回は、「panel-1」を開きます。
するとこのように先程、設置したアイテムがアイテムIDとして入っていると思います。こちらをいじっていきます。
行ごとに説明していくので、好きなように変えてください。
1行 | これはパネル設定ファイルのパーミッションです。 ※絶対に変えてはいけません。 |
2行 | パネルの名前です。好きな名前に変えることができます。 ※英数字ハイフン、アンダーバーのみ |
3行 | パーミッションの設定です。権限別に与えたい時に設定します。 ※PermissionsExやLuckPermプラグインを入れてる時のみ可能 |
4行 | パネルの行数を変更できます。 |
5行 | パネルを開いた時に左上に表示させるタイトルを設定します。 ※カラーコードや日本語も使用可能 |
6行 | コマンドを実行した時に表示させるパネルコマンドを設定します。 |
7行 | 設置したアイテム以外のスロットを指定のアイテムで埋めることができます。 ※デフォルトは黒の板ガラスになっています。 |
8行 | ここからアイテムの設定をするというものです。 ※絶対に変えてはいけません。 |
9行 | スロットの値になります。この値でアイテムを格納します。 ※スロットは左上から右に0~26と割り振られています。 |
10行 | アイテムのマテリアルを設定します。基本的にアイテムIDになります。 |
11行 | アイテムの名前を設定できます。 ※カラーコードや日本語も使用可能 |
12行以降 | 上記と同じ |
私は、このように設定してみました!
それでは、上書き保存して「cpr」コマンドでリロードしましょう。
そして、先程作成したパネルコマンドを実行させるとパネルが表示されると思います。
これだけだと、アイテムをクリックしても何も起こりません。
次に各アイテムにコマンドを埋め込む設定をする必要があります!
パネルのコマンド設定
ここからはコマンド埋め込みやアイテムを取得する設定をしていきます。
下記に必要な書式を追加しました、追加した書式について説明していきます。
panels:
menu:
perm: default
rows: 3
title: '&8メニュー'
commands:
- menu
sound-on-open: BLOCK_NOTE_BLOCK_CHIME
empty: YELLOW_STAINED_GLASS_PANE
open-with-item:
material: POTATO
name: '&b&lメニュー'
lore:
- '&3クリックでメニューを開きます'
stationary: 4
item:
'10':
material: RED_BED
name: '&eロビー'
lore:
- '&7ロビーに移動します'
commands:
- mvtp Main-lobby
- msg= &cロビー&eに移動しました
'13':
material: APPLE
name: '&c美味しいりんご'
lore:
- '&7新鮮なりんごを手に入れる'
commands:
- give %cp-player-name% minecraft:apple 1
- msg= &c美味しいりんご&eを手に入れました!
'16':
material: POTION
potion: NIGHT_VISION
name: '&b暗視ポーション'
lore:
- '&7暗視を付与する'
commands:
- effect give %cp-player-name% minecraft:night_vision 999999 1 true
7行 | アイテムをクリックした時に鳴らす音を設定します。 ※こちらのサウンドの書式に合わせて入力する必要あり |
9行 | パネルを開くための専用アイテムを設定します。 ※設定方法はアイテム設定と同じ |
14行 | アイテムをホットバーに常時表示させる設定です。 ※0~8の値で設定可能、常時表示させない場合はfalse |
21行 | アイテムにコマンドを埋め込む設定です。 バニラコマンドやプラグインコマンドの埋め込みが可能 |
22行 | ハイフン(-)の後にスペース(空白)を入れて、コマンドを入力します。 ※上記で説明したプレースホルダやタグの指定も可能(30行、39行または23行を参照)。 |
この書式を設定ファイル(panel-1.yml)に置き換えると、
クリックした時に設定したコマンドが実行されるようになります!
最後に
いかがでしょうか。
Command Panelプラグインの他にも同じようなプラグインは沢山ありますが、ここまで自由に設定ができ、設定しやすいのは初めてです!
特に私が気に入ったのは、パネルを開いてアイテムをクリックした時に更にパネルを開ける機能もできる所がとても気に入りました。
これでパネルを開いて、更にワールド一覧のパネルを表示させることも出来て便利です。
それでは、最後まで見ていただきありがとうございました。
揚げたてのポテト
このオプションの使い方が分からない!って方はコメントしていただければわかる範囲でお答えします!
ガイザー経由で統合版って使えますか?
質問失礼します。ボタンをクリックした際に名前などを入力できるようにしたいのですが、どうしたらできますか?
例(Sethomesプラグインの場合) : ボタンをクリック→家の名前を入力→完了
説明相当下手で申し訳ございません…
お願いします!
OP権限がないプレイヤーがパネルを開くと、以下のようなエラーが出てしまいます。対処法を教えていただきたいです。バージョンは1.20.1で、BungeeCordを使っています。
エラー文↓
[CommandPanels] No permission
ymlファイルの中身↓
panels:
menu:
perm: default
rows: 1
title: ‘&8饅頭鯖のメニュー’
sound-on-open: BLOCK_NOTE_BLOCK_CHIME
empty: BLACK_STAINED_GLASS_PANE
open-with-item:
material: CHEST
name: ‘&b&lメニュー’
lore:
– ‘&dクリックでメニューを開きます’
stationary: 0
item:
‘0’:
material: ENCHANTING_TABLE
stack: 1
name: ‘§aハブに行く’
commands:
– server= hub
‘1’:
material: BOW
stack: 1
name: ‘§cPVPをする’
commands:
– server= pvp
導入しているプラグイン↓
Advanced-Portals-0.9.3
CommandPanels
Geyser-Spigot
GSit-1.4.10
HolographicDisplays
LuckPerms-Bukkit-5.4.102
ProtocolLib
worldedit-bukkit-7.2.15
ゲーム内で中身を変更できますか?
paper-1.12.2、java18-openj9サーバーで
コンパスを左クリックすると次のパネルが開けるように設定したのですが、
「Nothing to pass through!」と表示されてしまいます。configは以下の通りです
panels:
menu:
perm: default
rows: 3
title: ‘&aカナブン鯖メニュー!’
commands:
– menu
sound-on-open: BLOCK_NOTE_BLOCK_CHIME
empty: AIR
open-with-item: COMMPAS
material: left=
name: ‘&6カナブン鯖メニュー’
lore:
– ‘&3クリックでメニューを開きます’
stationary: 4
item:
‘9’:
material: EYE_OF_ENDER
name: ‘&e開発中!’
lore:
– ‘&7お楽しみ!’
commands:
– msg= &cおっと!見せないよ~
’11’:
material: CAKE
name: ‘&eイベント鯖に行く!
lore:
– ‘&9期間限定’
commands:
– server= event
’13’:
material: GRASS
name: ‘&eサバイバル鯖に行く!’
lore:
– ‘&6[1.19.4-最新]’
commands:
– server= survival
’15’:
material: DIAMOND_SWORD
name: ‘&ePVP鯖に行く!’
lore:
– ‘&c現在休止中’
commands:
– msg= &c今は入れないよー
’17’:
material: BED
name: ‘&ebedwars鯖に行く!’
lore:
– ‘&6[1.8-最新]’
commands:
– tp 2 119 158
あと追加で質問して申し訳ないのですが、
初期状態からパネルを開けるコンパスを所持し、捨てられないように設定することは可能でしょうか?
よろしくお願いいたします。