アーキテクチャ
カテゴリー、クエスト、メニューはそれぞれ独立しており、エントリーによってのみ結び付けられます。
データ
- Quest Category はグループの識別情報(名前、タイトル、アイコン、親、順序、クライテリア)を持ちます。
- Quest Assignment は、公式 Quest エクステンションのクエストをカテゴリーに割り当てます。複数のアサインメントが同じカテゴリーを対象にでき、そのオーバーライドはマージされます。
- Quest Lore は、カテゴリー内または全体で、1 つのクエストにステータスごとのロアを追加します。
メニュー
プレイヤーがメニューを開くと、エクステンションはその Category Menu を見つけ、参照先の Open GUI の simple レイアウトにあるすべてのマーカーをインデックス付きマーカーに書き換えます。続いて GUI エンジンでレイアウトを解析し、表示されている各マーカーを n 番目のクエストまたはカテゴリーに置き換えます。内容のないマーカーは空のスロットとして描画されます。ただし TRACKED_QUEST_SLOT は、設定したアイテムを空の状態として保持します。ソートボタンは、SORT_SLOT の位置に固定のオーバーレイとして描画されます。
トラッキングとリカバリー
追跡中のクエスト ID は、プレイヤーごとに順序付きでトラッキングアーティファクトに保持されます。公式 Quest エクステンションは HUD に主要クエストを 1 つだけ表示しますが、Quest Codex は他のクエストも保持し、再接続後に最後のものを復元します。リカバリーは、中断されたダイアログやシネマティックでも同様に動作します。短期間だけ有効なスナップショットが非同期に保存され、プレイヤーの再参加から数 tick 後に復元されます。シネマティックは、そのページを再開し、保存されたフレームまでジャンプします。
ウェイポイント
ウェイポイントはターゲット(固定位置、目標、追跡中の目標、エンティティ)を解決し、パケットのみで構成されたテキスト、ブロック、ビーコンのレイヤーを合成します。HUD レイヤーはプレイヤーのカメラに追従し、ターゲットレイヤーは目標の位置に置かれます。ディスプレイエンティティがワールドに保存されることはありません。
連携
- BlueMap — BlueMap Icon エントリーは、BlueMap の起動時に
Questsマーカーセットのマーカーに変換されます。マーカーは静的で、プレイヤーの進行状況には追従しません。 - Advancements — Advancement Definition エントリーは、起動時にデータパックとして書き出され、アクションによって付与されます。