Skip to content

Camera & Entity Tracking

This page documents how Speedometer resolves entity targeting for HUD rendering when camera perspective or player state changes.


📊 Entity Tracking Infobox

Camera ContextEvaluated TargetSpeed Source
Normal First/Third PersonPlayer Entity (client.player)entity.getKnownSpeed()
Spectator Mode (Free Fly)Spectator Camera Entityentity.getKnownSpeed()
Spectator Mode (Mounted/Possessing Mob)Target Mob / Playerentity.getKnownSpeed()
Mounted on Boat / Horse / MinecartVehicle Entityentity.getKnownSpeed()
Null Entity SafetyFallback zero stringSpeed: 0.00 b/s (H: 0.00, V: 0.00)

🔄 Entity Resolution Logic

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;
}
  1. client.getCameraEntity(): Primary lookup that checks the current active rendering viewpoint.
  2. entity == null Fallback: If the camera entity returns null (e.g. during world loading or camera initialization), the code falls back to client.player.
  3. Null-Safety Guard: If both camera entity and player are null, Speedometer safely outputs zero speed without causing NullPointerExceptions or thread crashes.

Official documentation & web portal for Dasik Igaijinn mods.