Guides / Commands & Data

ダイアログ画面:Modなしで本格的なメニューを構築する

データパックのダイアログを使えば、入力欄とボタンを備えた本格的なウィンドウを作成できます。JSONの構造、ボタンでコマンドを実行する方法、そして従来の「本メニュー」との比較を解説します。

以前のサーバーメニューは、クリック可能なページを持つ「本」や、アイテムフレームで偽装されたチェストGUIが主流でした。しかし、ダイアログの登場により、これらは実際の画面に置き換えられました。

ダイアログとは

データパック内のJSONファイルで記述されるウィンドウのことです。

data/<namespace>/dialog/welcome.json
{
  "type": "minecraft:notice",
  "title": { "text": "Welcome" },
  "body": [{ "type": "minecraft:plain_message",
             "contents": { "text": "Pick a class to begin." } }],
  "action": { "label": { "text": "Continue" } }
}

その後、/dialog show @p my_pack:welcome

種類

種類形状
noticeテキストと閉じるボタン1つ
confirmationはい/いいえ、それぞれ独自のアクションを持つ
multi_actionボタンのグリッド
server_links組み込みのリンクリスト
dialog_list他のダイアログを開くメニュー

multi_actionは、クラス選択、ショップ、ワープリストなど、多岐にわたる用途で活躍します。

ボタンでコマンドを実行する

{ "label": { "text": "Warp to spawn" },
  "action": { "type": "minecraft:run_command", "command": "/spawn" } }

チャットでのclickEventと同様に、これはクリックしたプレイヤーとして、その権限レベルで実行されます。OP専用コマンドを呼び出すボタンは、通常のプレイヤーには何も実行しません。標準的な回避策は、triggerの目標です。ボタンが/trigger warp set 1を実行し、ティック関数が特権部分を実行します。

入力

"inputs": [
  { "type": "minecraft:text", "key": "name", "label": { "text": "Your name" }, "max_length": 16 },
  { "type": "minecraft:boolean", "key": "pvp", "label": { "text": "Enable PvP" } },
  { "type": "minecraft:single_option", "key": "class", "options": [
      { "id": "mage", "display": { "text": "Mage" } },
      { "id": "rogue", "display": { "text": "Rogue" } } ] }
]

値は、ボタンが呼び出す関数のマクロ引数として渡されるため、受け取る関数はマクロになります。

$say Welcome $(name), you chose $(class)

行頭の$プレフィックスと、置換のための$(key)。これがバインディングメカニズムのすべてであり、ダイアログを単なる装飾ではなく、真に役立つものにしている要素です。

なぜ「本メニュー」よりも優れているのか

  • 画面であること。 チャット履歴に残るのではなく、入力を一時停止します。
  • 入力が実際に存在する。 本ではリンクしか提供できませんでした。
  • アイテムが不要。 失ったり、落としたり、複製したりするものがありません。
  • きれいに閉じ、スクロールして戻ることもできません。

本がまだ優れている唯一の点は、長文の読書です。ダイアログの本文は、3ページ分の伝承を記述するのに適した場所ではありません。

ウェイポイントのスタイル

同じツールでロケーターバーのウェイポイントもカバーしています。これは、追跡中のプレイヤーや位置に表示されるマーカーの色とスプライトを制御する、独立したデータパックレジストリです。ボスバーが邪魔になるようなチームマーカーに便利です。

入力とボタンを備えたダイアログ画面の構築や、ウェイポイントのスタイルのカスタマイズは、Dialog Input & Waypoint Style Builderで行えます。

ダイアログ & ウェイポイントスタイルビルダー →

More guides

Browse all →

ほかのマインクラフトツールをお探しですか?

ブラウザだけで動くジェネレーター・ビューア・変換ツールの数々。すべて無料です。