【まるきの】のブログ

(自分のメモ)フェーズまとめ

(この記事は自分のメモなので解説は超雑です)

ゲームティックのフェーズ(Phases)について


(1)Command Function Phase(独立しているフェーズ)

(2)World Time Sync Phase

(3)World Border Phase

(4)Weather Phase

(5)World Time Phase

(6)Block Tick Phase

(7)Fluid Tick Phase

(6と7を合わせてTile Tick Phaseともいう)

(8)Raid Phase

(9)Chunk Logic Phase

(10)Block Change Sync Phase

(11)Entity Tracker Phase

(12)Block Event Phase

(13)Dragon Fight Phase

(14)Entity Phase

(15)Tile Entity Phase

(16)Entity Management Phase

(17)Player Entity Phase(独立しているフェーズ)

(18)Console Phase(独立しているフェーズ)

(19)Auto Save Phase(独立しているフェーズ)

(20)Player Action(input) Phase(独立しているフェーズ)

 

(1)Command Function Phase

functionとデータパックを実行するフェーズ。

このフェーズは独立している(他のフェーズとの関連性がない)。


(2)World Time Sync Phase

ワールドタイムをクライアント側と同期するフェーズ。


(3)World Border Phase

ワールドボーダーのサイズを変更する必要があるかを確認し、あるならサイズ変更するフェーズ。


(4)Weather Phase

天気を更新するフェーズ。

様々な複雑な処理が行われているが割愛。

プレイヤーの睡眠に関する処理もここで行われている。


(5)World Time Phase

ワールドタイムとデイタイム(day time)を1増やすフェーズ。

World Time PhaseなどはなくWeather Phaseにこれらの処理が行われているのでは?という人もいる(私はWorld Time Phaseの存在を信じてるので書いた)。


(6)Block Tick Phaseと(7)Fluid Tick Phase

これらのフェーズを合わせてTile Tickフェーズと言われている。

主にスケジュールの更新と実行がされる。


(8)Raid Phase

襲撃関係の処理をするフェーズ。


(9)Chunk Logic Phase

・チャンクレベルの更新

・チケットの発行、失効

・mobの自然スポーン

・スポナーからのmobのスポーン

・ランダムティック(スケルトンホースのスポーン、雪と氷の生成、サブチャンクからブロックの選定)

・プレイヤーの動き

(↑これらを合わせてチャンクティックと言われている)

・チャンクのアンロードetc…

これらの処理を行うフェーズ。

Chunk Logicは1.17以前(多分)ではWorld Time Phaseの後にあった。


(10)Block Chang Sync Phase

チャンク内で変更されたブロックをクライアント側に同期するフェーズ。


(11)Entity Tracker Phase

エンティティの更新をクライアント側に同期するフェーズ。


(12)Block Event Phase

ブロックイベントを実行するフェーズ。

※ブロックイベント:gtを跨いで処理されるもの

例:ピストン、シュルカーボックスの開閉アニメーション、ベル、音符ブロックの音etc…


(13)Dragon Fight Phase

エンダードラゴンとの戦闘に関する処理…?

(あまり知らない)


(14)Entity Phase

エンティティを処理するフェーズ。

例:防具立て、アイテム、モブetc…


(15)Tile Entity Phase

複雑なデータを持つブロックを処理するフェーズ。

例:チェスト系、看板、旗、ピストンが押してる間のブロックetc…


(16)Entity Management Phase

チャンクのロード、アンロードによるエンティティのロード、アンロードを処理するフェーズ。


(17)Player Entity Phase

プレイヤーのエンティティを処理するフェーズ。

このフェーズは独立している。


(18)Console Phase

ログなどを書き込むフェーズ。

このフェーズは独立している。


(19)Auto Save Phase

ワールドの自動保存を行うフェーズ。

このフェーズは独立している。


(20)Player Action(input) Phase

プレイヤーからの入力を処理するフェーズ

例:ブロックの破壊、設置、ボタンやレバーをオンにするetc…

このフェーズは独立している。


(21?)Instantaneous

どのフェーズでも動作することのできるブロック。

代表例はレッドストーンダストとパワードレール&アクティベーターレール。

他にもオンになる時はinstantaneousだが、オフになる時はスケジュールで動作するブロックや、更新を伝えるのはinstantaneousだが、機能するのは特定フェーズみたいなブロックもある。