server-ui フォームビルダー
フォームを組み立てると、Script のコードを自動生成。仮想UIで、ちゃんと動くかまで確認できます。
従来の ActionFormData / ModalFormData / MessageFormData 用です。新しい OreUI(DDUI)の CustomForm は、OreUI版のフォームビルダーをご利用ください。
仮想UI(実際に動かせます)
ボタンを押したり、入力したりして、動きを確認できます。
生成されたコード(scripts/main.js など)
server-ui フォームビルダーの使い方
Script API の @minecraft/server-ui を使うと、ボタンメニュー(ActionForm)、入力フォーム(ModalForm)、確認ダイアログ(MessageForm)をプレイヤーに表示できます。サーバーのメニューやショップ、設定画面などの定番の仕組みですが、コードで書くとボタンの並びや戻り値の扱いが分かりにくくなります。このビルダーでは、画面上でフォームを組み立てると同じ動きをするコードを自動生成し、仮想UIでボタンを押して挙動まで確かめられます。
手順
- フォームの種類を選び、タイトルと本文を入力します。
- ボタン、トグル、スライダー、テキスト入力などの部品を追加し、並べ替えます。
- 仮想UIで操作し、入力した値の受け渡しを確認します。
- 生成されたコードをスクリプトに貼り付けて使います。
コードを書くときの注意
- フォームを表示した結果は
canceled(閉じられた)かどうかを最初に確認します。 - ModalForm の結果は
formValuesに、部品の順番どおりに入ります。 - チャット画面が開いている間は表示できないことがあるため、必要なら再表示の処理を入れます。
新しい見た目のOreUI(DDUI)版ビルダーもあります。manifest.json はこちらで作れます。
ほかのツール
- server.properties エディタ — BDSの全設定を日本語の説明つきで編集
- manifest.json ジェネレーター — UUID自動生成でアドオンのmanifest.jsonを作成
- lang ジェネレーター — アイテム・ブロック名のja_JP.langを自動生成
- アドオン読み込みJSONジェネレーター — world_behavior_packs.jsonを自動生成
- permissions.json / allowlist.json エディタ — 権限とホワイトリストをXUID検索つきで編集
- server-ui フォームビルダー(OreUI版) — OreUI(DDUI)のCustomFormを組み立てる
- アドオンスタジオ — ブラウザでアドオンを作って.mcaddonに書き出し
- ミュージックリスト → YouTubeリンク変換 — プレイリストURLを曲名とYouTubeリンクの一覧に変換
- Bedrock サーバー稼働チェッカー — 稼働状況・人数・pingをその場で確認
よくある質問
このツールで、実際にゲームで動くコードが作れますか?
はい。生成されるのは、@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 です。