カメラとエンティティの追跡
このページでは、カメラ視点変更時に測定対象エンティティを安全に解決するロジックを解説します。
📊 エンティティ追跡情報ボックス
| カメラコンテキスト | 評価対象 | 速度データソース |
|---|---|---|
| 通常 1人称/3人称視点 | プレイヤー (client.player) | entity.getKnownSpeed() |
| スペクテイター(自由飛行) | スペクテイターカメラ | entity.getKnownSpeed() |
| スペクテイター(対象に憑依) | 対象モブ / プレイヤー | entity.getKnownSpeed() |
| ボート/馬/トロッコに騎乗中 | 乗り物エンティティ | entity.getKnownSpeed() |
| Null 安全対策 | ゼロ値フォールバック | Speed: 0.00 b/s (H: 0.00, V: 0.00) |
🔄 エンティティ解決ロジック
java
Entity entity = client.getCameraEntity();
if (entity == null) {
entity = client.player;
}
if (entity == null) {
displayer.addLine("Speed: 0.00 b/s (H: 0.00, V: 0.00)");
return;
}client.getCameraEntity():現在のアクティブな描画視点を確認するプライマリ参照。entity == nullフォールバック:カメラエンティティが null の場合、client.playerに安全にフォールバック。- Null 安全ガード:カメラとプレイヤーの両方が null の場合、クラッシュを防止し安全にゼロ速度を出力。
