1 World Morph Lifecycle
AttODao edited this page 2026-08-13 18:37:39 +09:00

ワールド形態のライフサイクル

新規ワールド

  1. ワールド開始時に選択が未確定なら、サーバーが利用可能な形態と各形態の有効なデータパック設定をクライアントへ送ります。
  2. クライアントは3列の選択画面を表示し、形態と許可されたvariant要求を送信します。
  3. サーバーが形態ID、設定上の利用可否、variantのレジストリ値を再検証します。
  4. 初期スポーンを決め、自然スポーン時の状態を確定してワールド保存データへ格納します。
  5. 確定した形態、NBT、形態設定を全プレイヤーへ同期します。

選択は一度だけ受理されます。2回目以降の作成時選択ペイロードは無視されます。

保存済みワールド

形態はオーバーワールド側のSavedData mob_life:world_morphに保存されます。保存要素は次の4つです。

  • morph: 形態ID
  • nbt: サニタイズ済みの形態Entity NBT
  • selection_chosen: 初回選択が確定済みか
  • initial_spawn_configured: 初期スポーン調整が完了済みか

既存ワールドでは保存済み形態が優先されます。サーバーConfigで後から形態選択を無効化しても、保存済みのMob形態を自動でプレイヤーへ戻す処理はありません。

参加・再参加

参加時にサーバーConfig、形態、NBT、該当形態の解決済みJSON、違和感を同期します。通常のアイドル移行または手動復帰可能な本能モードは再接続後に復元されますが、最大違和感・空腹・ダメージによる強制移行は復元フラグとして保存されません。

形態変更

/moblife morphは保存済み形態をワールド全体で置き換え、参加中の全プレイヤーへ即時適用します。NBT未指定なら現在のワールドスポーンで自然スポーン相当の初期化を一度行います。

関連: コマンドVariantとNBT同期と反映タイミング