TOOL

server-ui フォームビルダー

フォームを組み立てると、Script のコードを自動生成。仮想UIで、ちゃんと動くかまで確認できます。

T6NetWork › ツール › server-ui フォームビルダー

従来の ActionFormData / ModalFormData / MessageFormData 用です。新しい OreUI(DDUI)の CustomForm は、OreUI版のフォームビルダーをご利用ください。

仮想UI(実際に動かせます)

「▶ 実行」を押すと、ここにフォームが表示されます。
ボタンを押したり、入力したりして、動きを確認できます。
プレイヤー「Steve」のチャット・コマンド
最後の response(コードの response に入る値)
(まだありません)

生成されたコード(scripts/main.js など)

server-ui フォームビルダーの使い方

Script API の @minecraft/server-ui を使うと、ボタンメニュー(ActionForm)、入力フォーム(ModalForm)、確認ダイアログ(MessageForm)をプレイヤーに表示できます。サーバーのメニューやショップ、設定画面などの定番の仕組みですが、コードで書くとボタンの並びや戻り値の扱いが分かりにくくなります。このビルダーでは、画面上でフォームを組み立てると同じ動きをするコードを自動生成し、仮想UIでボタンを押して挙動まで確かめられます。

手順

  1. フォームの種類を選び、タイトルと本文を入力します。
  2. ボタン、トグル、スライダー、テキスト入力などの部品を追加し、並べ替えます。
  3. 仮想UIで操作し、入力した値の受け渡しを確認します。
  4. 生成されたコードをスクリプトに貼り付けて使います。

コードを書くときの注意

  • フォームを表示した結果は canceled(閉じられた)かどうかを最初に確認します。
  • ModalForm の結果は formValues に、部品の順番どおりに入ります。
  • チャット画面が開いている間は表示できないことがあるため、必要なら再表示の処理を入れます。

新しい見た目のOreUI(DDUI)版ビルダーもあります。manifest.json はこちらで作れます。

ほかのツール

ツール一覧へ戻る

よくある質問

このツールで、実際にゲームで動くコードが作れますか?

はい。生成されるのは、@minecraft/server-ui の ActionFormData / ModalFormData / MessageFormData を使った、そのままアドオンに貼れるJavaScriptです。右側の仮想UIは、生成したコードそのものを実行して表示しているので、ボタンを押したときの動きや、入力した値の受け渡しを、ゲームに入る前に確認できます。

1.x と 2.x の違いは何ですか?

2.x では、見出し(header)・ラベル(label)・区切り線(divider)が使え、ドロップダウンやスライダーのオプションをオブジェクトで渡します(例: { defaultValue: 50 })。1.x では、これらが使えず、引数を並べて渡します。設定の「バージョン」で切り替えると、生成されるコードと、仮想UIの動作が変わります。1.x 用のコードを、2.x に書き換えるときの確認にも使えます。

UserBusy とは何ですか?

チャット画面などを開いている間にフォームを表示しようとすると、ゲームは、フォームを出さずに cancelationReason が UserBusy の結果を返します。チャットのコマンドでメニューを開くときに、よく起きます。「UserBusy 対策」をオンにすると、少し待って、自動で再表示するコードが入ります。仮想UIでは「次の表示を UserBusy にする」で、この状況を再現できます。

自分で書いたコードも試せますか?

はい。コード欄は、直接編集できます。手で書いた(または貼り付けた)スクリプトも、仮想UIで動かせます。コードを編集している間は、左側の設定は反映されません。「自動生成に戻す」で、左側の設定からの生成に戻ります。

シミュレーターで動かないものはありますか?

player のメソッドは、sendMessage・runCommand・タグ・playSound など、一部だけが動きます。それ以外は、何もせずに続行し、警告をログに出します。ワールドの状態に関わる処理は、実際のゲームで確認してください。MessageFormData の選択は、公式のサンプルに合わせて、button1 が 0、button2 が 1 です。