Skip to content

F3-Debug-Bildschirm Integration

Diese Seite dokumentiert, wie sich der Geschwindigkeitsmesser über DebugScreenEntries und DebugScreenEntryList in die F3-Rendering-Pipeline integriert.


📊 F3-Debug-Integration Infobox

PropertyValue
Speedometer Registry KeyIdentifier.withDefaultNamespace("speedometer")
Native Vanilla KeyIdentifier.withDefaultNamespace("player_speed")
Interface Implementednet.minecraft.client.gui.components.debug.DebugScreenEntry
Mixin Target 1net.minecraft.client.gui.components.debug.DebugScreenEntries
Mixin Target 2net.minecraft.client.gui.components.debug.DebugScreenEntryList
Default Display StateDebugScreenEntryStatus.IN_OVERLAY

🏗 Architekturdiagramm

+----------------------------------------------------------------+
|                     Minecraft F3 Debug Screen                   |
+----------------------------------------------------------------+
                               |
                   DebugScreenEntries.<clinit>()
                               |
                      DebugScreenEntriesMixin
                               |
        +-----------------------+-----------------------+
        |                                               |
   register()                                      put()
   Speedometer-ID                                  Spielergeschwindigkeits-ID
        |                                               |
 DebugEntrySpeedometer                     DebugEntryPlayerSpeedWrapper
   (Separate Zeile)                           (Zusammengefasste Zeile)

⚙️ Registrierungsablauf

  1. Statische Klassenlade-Injektion (DebugScreenEntriesMixin): Während der Initialisierung (<clinit>) von DebugScreenEntries ruft Speedometer die private Methode register auf, um speedometer zur Vanilla-Registry hinzuzufügen.
  2. Standardstatus-Initialisierung (DebugScreenEntryListMixin): Beim Ausführen von DebugScreenEntryList.rebuildCurrentList() prüft Speedometer, ob speedometer vorhanden ist, und registriert es andernfalls als IN_OVERLAY.
  3. Spy Wrapper Replacement: Falls Vanilla player_speed nativ registriert (z. B. ab Minecraft 26.3+), ersetzt DebugScreenEntriesMixin das Vanilla-Objekt durch unseren DebugEntryPlayerSpeedWrapper.

🔗 Verwandte Seiten

Official documentation & web portal for Dasik Igaijinn mods.