(自分のメモ)フェーズまとめ
(この記事は自分のメモなので解説は超雑です)
ゲームティックのフェーズ(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だが、機能するのは特定フェーズみたいなブロックもある。