API一覧(b8 / protocol 23.2.0)

公開済みのrelease b8(protocol 23.2.0、artifact 2320.0.0b8、 Minecraft 1.21.11、2026-10-03公開)で使えるProtocol APIの一覧です。 各言語のClient Libraryでの書き方は、それぞれのリポジトリを見てください。

このページは、仕様の正本wire-format-designの§4コマンド表と§7.3 error表から 自動生成しています。正確な条件、検証の順序、上限は正本を見てください。機械可読版(api.json)

接続 / 建築の文脈 / ブロック / 看板 / プレイヤー / エンティティ / 演出(パーティクル・音・雷) / チャット / イベント / カタログ / 認証 / エラー応答

接続

メソッド用途パラメーター(params)応答備考(wireの記述)
hello接続の最初に一度だけ送り、protocolの照合、認証、建築の文脈の受け取りをするobject(§6)あり接続ハンドシェイク。1接続に1回。identity/auth/build を担う
connection.flushそれまでに送ったcommandが処理されたことを確かめる区切り[]null同一connectionの先行commandに対する明示barrier(§3.5)

建築の文脈

メソッド用途パラメーター(params)応答備考(wireの記述)
build.setDimension建築する次元(overworld、the_nether など)を変える[dimension_ref]{dimension,origin}protocol 22のstream-local DimensionKeyを変更(§5.1)
build.setOrigin座標の原点を変える[x, y, z]{dimension,origin}build originを変更し、server正準build contextを返す

ブロック

メソッド用途パラメーター(params)応答備考(wireの記述)
world.setBlockブロックを1つ置く[x, y, z, blockSpec]id付きはnull / notification時なしprotocol 22では構造化BlockSpecで1ブロック設置(§7.1)
world.setBlocks直方体の範囲をブロックで埋める[x1, y1, z1, x2, y2, z2, blockSpec]id付きはnull / notification時なしprotocol 22では構造化BlockSpecで直方体充填(§7.1)
world.getBlockブロックを1つ調べる[x, y, z]ありprotocol 22では構造化BlockValueを返す(§7.1)
world.getBlocks直方体の範囲のブロックをまとめて調べる[x1, y1, z1, x2, y2, z2]BlockValue[]protocol 22の有界領域query(§7.1.1)
world.getHeightその位置のいちばん上の地面の高さを調べる[x, z]または[x, z, max_y]ありorigin相対の最上面block高を返す(b5、§5.6)

看板

メソッド用途パラメーター(params)応答備考(wireの記述)
world.getSign看板の両面の文字を読む[x, y, z]{front:[LineValue×4],back:[LineValue×4],waxed:bool}signの両面とwaxedを正準形で取得(b6、§5.8.1)
world.setSign看板の面の文字を4行まとめて書き換える[x, y, z, {front?:[LineSpec×4],back?:[LineSpec×4]}]null指定面を面内no-mergeの厳密4行へ置換(b6、§5.8.1)
world.updateSignLine看板の1行だけを書き換える[x, y, z, face, line_index, LineSpec]nullsignの一面・一行だけをPATCH(b6、§5.8.1)

プレイヤー

メソッド用途パラメーター(params)応答備考(wireの記述)
player.getPos自分の位置を調べる[]ありpaired playerの現在dimensionと現在位置をstream origin相対で返す(§5.2)
player.setPos自分を移動させる[dimension_ref, x, y, z]ありpaired playerを指定dimensionのstream origin相対位置へteleportする(§5.2)
player.getPose自分の位置と向きを調べる[]ありpaired playerの現在dimension・位置・向きをstream origin相対で返す(§5.3)
player.setPose自分の位置と向きをまとめて変える[dimension_ref, x, y, z, yaw, pitch]あり指定dimensionへ位置・向きを1回のteleportで一体反映する(§5.3)
player.getDirection自分の向いている方向を調べる[]DirectionValuepaired playerの現在方向を返す(b7、§5.8.2)
player.setDirection自分の向きだけを変える[x,y,z]適用後のDirectionValue非zero vectorを正規化してpaired playerの向きだけを変える(b7、§5.8.2)

エンティティ

メソッド用途パラメーター(params)応答備考(wireの記述)
world.spawnEntityエンティティ(動物など)を出し、あとで操作するためのhandleを受け取る[x, y, z, entity]ありentityを生成しepoch-scoped handleを返す(b5、§5.7)
world.getNearbyEntities近くのエンティティを探して一覧を受け取る[x, y, z, radius, max_entities]ありboundedな近傍entity検索。playerを除外。[{handle,type,pos}, ...]、0件は[](b8、§5.8.3)
entity.getPoseエンティティの位置と向きを調べる[handle]ありhandle対象のpose {dimension,pos,yaw,pitch}を返す(b8、§5.8.3)
entity.setPoseエンティティの位置と向きをまとめて変える[handle, dimension_ref, x, y, z, yaw, pitch]あり1回のteleportでposeを一体更新し、再読取りしたposeを返す(b8、§5.8.3)
entity.getDirectionエンティティの向いている方向を調べる[handle]DirectionValuehandle対象の現在方向を返す(b7、§5.8.2)
entity.setDirectionエンティティの向きだけを変える[handle,x,y,z]適用後のDirectionValue非zero vectorを正規化してhandle対象の向きだけを変える(b7、§5.8.2)
entity.removeエンティティを消す[handle]ありentityを除去しhandleを即時失効。成功時null(b8、§5.8.3)

演出(パーティクル・音・雷)

メソッド用途パラメーター(params)応答備考(wireの記述)
world.spawnParticleパーティクルを出す(色や大きさ、見せる相手も選べる)[x, y, z, offset_x, offset_y, offset_z, particle, speed, count, (force)]あり9/10 params、force省略時true。b8でparticleにobject形ParticleSpecを追加(§5.7/§5.8.3)
world.playSound位置から音を鳴らす[x, y, z, sound_id, (options)]null位置から音を鳴らす。receiverはworld/self(b8、§5.8.3)
world.playBlockSoundその位置のブロックの音(置く、叩く、壊すなど)を鳴らす[x, y, z, kind, (options)]nullその位置のblockの音を鳴らす(b8、§5.8.3)
world.strikeLightning雷を落とす[x,y,z]nullcurrent dimensionのorigin相対位置へdamage-capableなfull lightningを要求する(b7、§5.8.2)

チャット

メソッド用途パラメーター(params)応答備考(wireの記述)
chat.postチャットに書き込む[msg]id付きrequestの成功resultはnull(b9から、2026-10-03-01) / notification 時なしチャット送信

イベント

メソッド用途パラメーター(params)応答備考(wireの記述)
events.poll起きたイベント(つつく、チャット、矢が当たるなど)を受け取る[after_sequence]/[after_sequence, {max_events}]ありepoch-scoped event ringを非破壊取得。filterは初回stable後の候補(§5.4、2026-09-30-03)

カタログ

メソッド用途パラメーター(params)応答備考(wireの記述)
catalog.getサーバーで使えるブロック、エンティティ、パーティクルの一覧を受け取る[]あり稼働中 registry から block/entity/particle catalog を取得(b3 実装予定、§7.2.1)

認証

ペアリングとcredential管理は、表とは別に正本の§6.5 ペアリング、§6.6 credential管理で定めています。

メソッド用途
auth.pairBeginペアリングを始め、Minecraftで承認するためのコードを受け取る
auth.pairPollペアリングが承認されたかを確かめ、承認されたらtokenを受け取る
auth.listCredentials自分の長期credentialの一覧を見る
auth.revoke長期credentialを取り消す
auth.logout今使っている長期credentialを取り消して終わる

エラー応答(reason)

失敗したときは、JSON-RPCのerrorのdata.reasonで理由を見分けます。

理由(reason)コード(code)分類意味導入
unknown_block-32602(Invalid params)block検証block_idがblock不在(無印補完後の未知名含む)○
unknown_property-32602(Invalid params)block検証property名がそのblockに無い○
invalid_property_value-32602(Invalid params)property検証block state、sign色/装飾等の値が許容外。allowedを返せるb1、signはb6
invalid_params-32602(Invalid params)params 検証JSON-RPC params の形・型・座標値が不正b2
zero_direction-32602(Invalid params)params 検証directionの3成分がsigned zeroだけで向きを定義できないb7
unknown_dimension-32602(Invalid params)params 検証指定DimensionKeyがloaded dimensionとして解決できないb5/protocol 22
build_denied-32000番台(実装定義域)world-statebuild policy / 範囲 / 認可により操作拒否。返せる場合は data.bounds / data.violating 等で理由を補足○
permission_denied-32000番台(実装定義域)player-stateLuckPerms 等の認可により操作拒否。token は温存b2
player_offline-32000番台(実装定義域)player-statetoken は有効だが paired player がオンラインでないb2
teleport_failed-32000番台(実装定義域)player-stateplayer.setPose、entity.setPose等のteleport自体がpermission_denied/player_offline/unknown_dimension/invalid_params以外の要因で失敗b5/protocol 22、entity.setPoseはb8
height_not_found-32000番台(実装定義域)world-query指定上限以下に「非passableかつ直上passable」のblockが無いb5
no_block-32000番台(実装定義域)world-stateworld.playBlockSoundの位置のblockが空気b8
not_a_sign-32000番台(実装定義域)sign-state指定座標のblockがsignでないb6
sign_waxed-32000番台(実装定義域)sign-statewaxed signへのwriteを拒否。readは許可b6
sign_update_failed-32000番台(実装定義域)sign-statemutation時にstale snapshot等を検出し、部分変更なしでwriteを拒否b6
unknown_particle-32602(Invalid params)resource-refparticle ID(§5.0.2で補った後)がregistryに無い、または非正準形b5
particle_data_required-32602(Invalid params)resource-reftyped data必須particleでdataが欠落(文字列shorthandを含む)b5、b8で意味を精密化
particle_data_unsupported-32602(Invalid params)resource-ref登録済みだが、B8でdata型に対応しないparticleへ、objectでdataを指定して要求b8
unknown_entity-32602(Invalid params)resource-refentity ID(§5.0.2で補った後)がregistryに無い、または非正準形b5
entity_not_spawnable-32602(Invalid params)resource-refplayerまたはspawnを許可しないentity typeb5
unknown_sound-32602(Invalid params)resource-refsound ID(§5.0.2で補った後)がRegistry.SOUND_EVENTに無い、または非正準形b8
backpressure-32000番台(実装定義域)availability副作用開始前の一時的な処理能力超過。同一要求を後でretry可能b5
work_limit_exceeded-32000番台(実装定義域)availability入力量または走査量がwork上限を超過。自動retryせず入力を縮小するb5
entity_capacity_exhausted-32000番台(実装定義域)availabilityhandle slotを副作用前に予約できない。自動retryしないb5
entity_handle_not_found-32000番台(実装定義域)entity-stateforeign/unknown handle。存在差を公開しないb5
entity_removed-32000番台(実装定義域)entity-stateknown handleの対象entityが除去済みb5
entity_unloaded-32000番台(実装定義域)entity-stateknown handleの対象entityがunloadされ現在操作不能b5
entity_dimension_changed-32000番台(実装定義域)entity-state対象entityが外部要因でissued dimensionから移動。b7 directionでは初回検出時にhandleを失効b5、b7
entity_spawn_failed-32000番台(実装定義域)entity-stateadmission後のspawn自体が失敗b5
entity_not_found-32000番台(実装定義域)entity-stateb7 directionでempty/foreign/unknown/旧epoch/旧形式、または失効後のhandleを同値化b7
entity_unavailable-32000番台(実装定義域)entity-stateb7 directionでknown handleの対象が最初にremoved/unloaded/invalidと判明し、その場で失効b7
internal_error-32603(Internal error)server-state結果が確定できない。非冪等操作を自動retryしないb5
credential_not_found-32602(Invalid params)params 検証auth.revoke で指定した credential_id が要求元 UUID の active credential に無い(他 player の ID と存在しない ID を同値へ畳んで存在を隠す)。caller の token は温存し、ref に credential_id を返すbN
credential_limit_reached-32000番台(実装定義域)credential-stateUUID ごとの active long-lived credential 上限に到達。data.type / data.limit / data.active を返す。古い credential を自動失効させず、ユーザーが list / revoke するbN
credential_store_unavailable-32000番台(実装定義域)auth-serviceserver が credential 状態を現在検証できない、または credential 管理操作の durable な結果を確定できない。data.operation(resolve/issue/list/revoke/touch)を返す。単独では token を invalid と分類せず、client は token を削除せず自動再ペアリングもしない(token 温存・再試行)bN