API и интеграция аддонов
В этом документе описано, как разработчики могут взаимодействовать со Спидометром или использовать его паттерн шпионской обертки.
📊 Сводный инфобокс API
| Property | Specification |
|---|---|
| Public Constants Class | net.vanillaoutsider.speedometer.SpeedometerMod |
| Speedometer Identifier | Identifier.withDefaultNamespace("speedometer") |
| Идентификатор скорости игрока | Identifier.withDefaultNamespace("player_speed") |
| Custom Entry Interface | net.minecraft.client.gui.components.debug.DebugScreenEntry |
💡 Spy-Wrapper Pattern Reference
java
public class DebugEntryPlayerSpeedWrapper implements DebugScreenEntry {
private final DebugScreenEntry parent;
public DebugEntryPlayerSpeedWrapper(DebugScreenEntry parent) {
this.parent = parent;
}
@Override
public void display(DebugScreenDisplayer displayer, Level level, LevelChunk clientChunk, LevelChunk serverChunk) {
DebugScreenDisplayer spyDisplayer = new DebugScreenDisplayer() {
@Override
public void addLine(String line) {
displayer.addLine(modifyLine(line));
}
private String modifyLine(String original) {
if (original != null && original.startsWith("Speed: ")) {
return original + ", custom suffix";
}
return original;
}
};
parent.display(spyDisplayer, level, clientChunk, serverChunk);
}
}