Bedrock Observer

統合版の専用サーバー(BDS)で、プレイヤーとワールドの状態を 1 行の JSON で読み取れるアドオン。デバッグや AI エージェントのプレイに。

バージョン1.0.1公開日
草原の丘にいるヒツジ・ウシ・ブタと光るダイヤのようなブロックが、それぞれ色の枠で囲まれ、右側の JSON のパネルに線でつながっているイメージイラスト(ゲーム画面ではありません)

対応環境

Bedrock Observer の対応環境
エディション統合版
対応バージョン1.26.50
パックの種類ビヘイビアパック、リソースパック
実験的機能不要
ライセンスMIT

ダウンロード

このサイトから直接ダウンロード

ダウンロード(.mcaddon・17.2 KB)

be-observer-1.0.1.mcaddon

SHA-256: 686c8e715420dc25c6988b2fcc64985fb6702eb03dda581587f28631d38c445b

Bedrock Observer は、Minecraft 統合版の Bedrock Dedicated Server(BDS)専用の、読み取り専用の観測アドオンです。外部のツール(統合版を遊ぶ AI エージェント、試験のスクリプト、アドオンを調べる人など)が JSON の要求を送ると、アドオンはサーバーの標準出力に 1 行の JSON で答えます。プレイヤーの位置と見ているもの、ブロック、周りのエンティティ、効果、地面の高さ、スコアボード、そしてゲーム内の出来事を知らせます。

先に読んでください

遊ぶためのアドオンではありません。専用サーバー(BDS)で動かして、外部のツールから使うためのものです。クライアントで開いたワールドと Realms には対応しません。観測の結果にはプレイヤー名・位置・インベントリが含まれるので、ほかの人が参加するサーバーに入れる前に「注意事項」を読んでください。

ブタ・ヒツジ・ウシ・ダイヤモンドブロックが映るゲーム画面と、同じ瞬間の snapshot の応答。それぞれのモブと、見ているブロックが JSON の typeId に対応している

できること

  • 読み取り専用。 ワールドを変えません。コマンドの実行も、値の書き込みも、チャンクの読み込みもしません。
  • ツールに依存しない。 入力は /scriptevent、出力はログの行だけです。AI のモデル、MCP、HTTP を前提にしません。
  • 上限つき。 要求ごとに、大きさ・件数・半径・距離の上限があり、capabilities で分かります。
  • 安定版の API だけ。 @minecraft/server 2.10.0 を使い、実験的機能もベータ版の API も使いません。
  • ゲーム内の出来事も届く。 参加・退出・スポーン・プレイヤーに関わる死亡・ディメンションやゲームモードやゲームルールの変更が、要求がなくても 1 行ずつ出ます。

観測できるもの

メソッド 返すもの
capabilities バージョン、メソッド、セクション、上限、既定値。最初に呼びます
players ワールドにいるプレイヤー
player 位置、頭の位置、向き、視線、速度、移動の状態、ゲームモード。任意で体力・インベントリ・装備・効果・時刻
block / blocks 座標で指定したブロック(未読み込みと範囲外を、空気と区別します)
target プレイヤーが見ているブロック(任意でエンティティ)
entities プレイヤーか地点の周りのエンティティ。距離順。種類・ファミリー・名前・タグで絞れます
entity id で指定した 1 体のエンティティ
top / tops 列の一番上のブロック(地面の高さ)。tops は簡潔な高さの地図
scoreboard objective の一覧、objective ごとのスコア、プレイヤーごとのスコア
snapshot 1 人のプレイヤーについて、上のいくつかを 1 つの応答で
events 最近の出来事を取り直す

取れないものもあります。チャットとコマンドの使用(安定版の API がないため)、画面、あらゆる入力です。ワールドを変えることは、設計として扱いません。

使い方

BDS のコンソールで、次のように要求を送ります(先頭の / は付けません。ASCII だけを使い、ほかの文字は \uXXXX で書きます)。

scriptevent to3izo_bo:query {"requestId":"c1","method":"capabilities"}
scriptevent to3izo_bo:query {"requestId":"p1","method":"player","params":{"player":{"name":"Steve"},"include":["health","effects"]}}

要求 1 つに、標準出力の 1 行が必ず返ります(行の前に BDS の時刻が付きます)。

to3izo_bo.response {"protocol":1,"requestId":"p1","ok":true,"method":"player","tick":144897,"session":"rohuvqp7","seq":4,"time":1792311918513,"data":{"id":"-8589934591","name":"Steve",...}}

応答と要求は requestId で突き合わせます。エラーは "ok":false と、決まった error.code で返ります。ゲーム内の出来事は、要求がなくても to3izo_bo.event {...} の行で出ます。

ゾンビに倒されたあとのゲームオーバー画面と、その瞬間に出た entity_die イベントの行。cause は entityAttack、killer は minecraft:zombie

プレイヤーのチャットからは、operator なら、チートを有効にしなくても、次のコマンドで同じ要求を送れます。引数は JSON を " で囲んだもので、中の " はすべて \" と書きます。

/to3izo_bo:query "{\"requestId\":\"p1\",\"method\":\"player\"}"

チャットからの /scriptevent to3izo_bo:query {...} も使えますが、こちらはチートの有効化も必要です。長いコマンドを送るとそのプレイヤーが切断されるので、コマンド全体を約 448 文字以内にしてください。

ツールから使う

アドオンは、ワールドを読んで行を書くだけです。要求を送り、行を回収するのはツールの役目です。BDS は、標準入出力をツールにつないで起動します。

ツールが動く場所 要求の送り方 応答の回収
BDS と同じマシン BDS の標準入力に scriptevent to3izo_bo:query {...} を書く 標準出力(またはそのログ)を読む
別のマシン(例: Mac のエージェントと、Windows の VM の BDS) VM の経路でコンソールに送る。または operator のチャットに /to3izo_bo:query "…" を入力する 同じ経路でログを読む

アドオンにはネットワークで送る仕組みはありません。ネットワークで行を運ぶ必要があるときは、Minecraft の外のプログラムで送ってください。

導入方法

  1. 下の「入手先」から .mcaddon ファイルをダウンロードし、zip として展開します(中に be-observer_BP と be-observer_RP があります)。

  2. be-observer_BP を <BDS>/behavior_packs/ に、be-observer_RP を <BDS>/resource_packs/ にコピーします。

  3. ワールドで有効にします。worlds/<ワールド名>/world_behavior_packs.json と world_resource_packs.json に、パックの UUID とバージョンを書きます。

    world_behavior_packs.json: [{"pack_id":"cbe4cdb9-3dc0-43c3-9750-a100b27a414e","version":[1,0,1]}]
    world_resource_packs.json: [{"pack_id":"3d21d349-fedb-4dd4-8b7c-a7f130ea5fe7","version":[1,0,1]}]
    
  4. server.properties を content-log-console-output-enabled=true にしてサーバーを起動します(これがないと、スクリプトの出力が標準出力に出ません)。ログに [Scripting] [be-observer] scripts loaded が出れば成功です。

対応環境

  • Bedrock Dedicated Server(確認済み: Windows、1.26.52.3)・ゲームのバージョン 1.26.50 以上。Linux 版の BDS でも動く見込みですが、未確認です。
  • クライアントで開いたワールドと Realms には対応しません。
  • ビヘイビアパックとリソースパックの両方が入っています。実験的機能は不要です。

注意事項

観測の結果には、プレイヤー名・位置・インベントリが含まれ、サーバーの標準出力に書かれます。サーバーのコンソールと operator は、すべてのプレイヤーを観測できます。ほかのプレイヤーは要求を送れません。ほかの人が参加するサーバーに入れる前に、その点をサーバーの参加者に伝えてください。

更新履歴

  • 1.0.1(2026-10-18): パックのアイコンとドキュメントだけの更新です(プロトコルと動作は 1.0.0 と同じ)。このサイトでの最初の公開。

ライセンス

MIT ライセンスです。

MIT License

Copyright (c) 2026 to3izo

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

アドオンの一覧へ