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
| Property | Value |
|---|---|
| Speedometer Registry Key | Identifier.withDefaultNamespace("speedometer") |
| Native Vanilla Key | Identifier.withDefaultNamespace("player_speed") |
| Interface Implemented | net.minecraft.client.gui.components.debug.DebugScreenEntry |
| Mixin Target 1 | net.minecraft.client.gui.components.debug.DebugScreenEntries |
| Mixin Target 2 | net.minecraft.client.gui.components.debug.DebugScreenEntryList |
| Default Display State | DebugScreenEntryStatus.IN_OVERLAY |
🏗 Architekturdiagramm
+----------------------------------------------------------------+
| Minecraft F3 Debug Screen |
+----------------------------------------------------------------+
|
DebugScreenEntries.<clinit>()
|
DebugScreenEntriesMixin
|
+-----------------------+-----------------------+
| |
register() put()
Speedometer-ID Spielergeschwindigkeits-ID
| |
DebugEntrySpeedometer DebugEntryPlayerSpeedWrapper
(Separate Zeile) (Zusammengefasste Zeile)⚙️ Registrierungsablauf
- Statische Klassenlade-Injektion (
DebugScreenEntriesMixin): Während der Initialisierung (<clinit>) vonDebugScreenEntriesruft Speedometer die private Methoderegisterauf, umspeedometerzur Vanilla-Registry hinzuzufügen. - Standardstatus-Initialisierung (
DebugScreenEntryListMixin): Beim Ausführen vonDebugScreenEntryList.rebuildCurrentList()prüft Speedometer, obspeedometervorhanden ist, und registriert es andernfalls alsIN_OVERLAY. - Spy Wrapper Replacement: Falls Vanilla
player_speednativ registriert (z. B. ab Minecraft 26.3+), ersetztDebugScreenEntriesMixindas Vanilla-Objekt durch unserenDebugEntryPlayerSpeedWrapper.
