feat: hide HUD modules on debug, fix avg speed
This commit is contained in:
parent
598c5c8ad3
commit
9c296d76dc
5 changed files with 51 additions and 29 deletions
|
@ -16,19 +16,19 @@ import static ftbsc.bscv.tools.Text.TextBuilder;
|
||||||
public class ActiveModules extends HudModule implements ICommons {
|
public class ActiveModules extends HudModule implements ICommons {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onRenderOverlay(RenderGameOverlayEvent event) {
|
public void onRenderOverlay(RenderGameOverlayEvent event) {
|
||||||
if (event.getType() == ElementType.TEXT) {
|
if (event.getType() != ElementType.TEXT) return;
|
||||||
int offset = 0;
|
if (this.shouldHide()) return;
|
||||||
for (IModule m : Boscovicino.modManager.mods) {
|
int offset = 0;
|
||||||
if (m.isEnabled() && !m.getGroup().equalsIgnoreCase("HUD")) {
|
for (IModule m : Boscovicino.modManager.mods) {
|
||||||
TextBuilder()
|
if (m.isEnabled() && !m.getGroup().equalsIgnoreCase("HUD")) {
|
||||||
.txt(String.format("%s <", m.getName()))
|
TextBuilder()
|
||||||
.anchor(this.anchor.get())
|
.txt(String.format("%s <", m.getName()))
|
||||||
.x(this.x.get())
|
.anchor(this.anchor.get())
|
||||||
.y(this.y.get() + offset)
|
.x(this.x.get())
|
||||||
.scale(this.scale.get())
|
.y(this.y.get() + offset)
|
||||||
.render(event.getMatrixStack(), event.getWindow());
|
.scale(this.scale.get())
|
||||||
offset += MC.font.lineHeight;
|
.render(event.getMatrixStack(), event.getWindow());
|
||||||
}
|
offset += MC.font.lineHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,15 +15,17 @@ import static ftbsc.bscv.tools.Text.TextBuilder;
|
||||||
public class Coordinates extends HudModule implements ICommons {
|
public class Coordinates extends HudModule implements ICommons {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onRenderOverlay(RenderGameOverlayEvent event) {
|
public void onRenderOverlay(RenderGameOverlayEvent event) {
|
||||||
if (event.getType() == ElementType.TEXT && MC.player != null) {
|
if (event.getType() != ElementType.TEXT) return;
|
||||||
Vector3d position = MC.player.position();
|
if (MC.player == null) return;
|
||||||
TextBuilder()
|
if (this.shouldHide()) return;
|
||||||
.txt(String.format("[ X %.1f | %.1f Z ] %.1f Y", position.x(), position.z(), position.y()))
|
|
||||||
.anchor(this.anchor.get())
|
Vector3d position = MC.player.position();
|
||||||
.x(this.x.get())
|
TextBuilder()
|
||||||
.y(this.y.get())
|
.txt(String.format("[ X %.1f | %.1f Z ] %.1f Y", position.x(), position.z(), position.y()))
|
||||||
.scale(this.scale.get())
|
.anchor(this.anchor.get())
|
||||||
.render(event.getMatrixStack(), event.getWindow());
|
.x(this.x.get())
|
||||||
}
|
.y(this.y.get())
|
||||||
|
.scale(this.scale.get())
|
||||||
|
.render(event.getMatrixStack(), event.getWindow());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,7 @@ public class EntityList extends HudModule implements ICommons {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onRenderOverlay(RenderGameOverlayEvent event) {
|
public void onRenderOverlay(RenderGameOverlayEvent event) {
|
||||||
if (event.getType() != ElementType.TEXT) return;
|
if (event.getType() != ElementType.TEXT) return;
|
||||||
|
if (this.shouldHide()) return;
|
||||||
|
|
||||||
List<String> entities = new ArrayList<>();
|
List<String> entities = new ArrayList<>();
|
||||||
for (Entity e : MC.level.entitiesForRendering()) {
|
for (Entity e : MC.level.entitiesForRendering()) {
|
||||||
|
|
|
@ -16,6 +16,8 @@ import net.minecraftforge.event.TickEvent.Phase;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.Queue;
|
||||||
|
|
||||||
import static ftbsc.bscv.tools.Text.TextBuilder;
|
import static ftbsc.bscv.tools.Text.TextBuilder;
|
||||||
|
|
||||||
|
@ -25,12 +27,12 @@ public class InfoDisplay extends HudModule implements ICommons {
|
||||||
private Vector3d last_position = new Vector3d(0.0, 0.0, 0.0);
|
private Vector3d last_position = new Vector3d(0.0, 0.0, 0.0);
|
||||||
private double instant_speed = 0.0;
|
private double instant_speed = 0.0;
|
||||||
private double average_speed = 0.0;
|
private double average_speed = 0.0;
|
||||||
private ArrayDeque<Double> history_speed = new ArrayDeque<>();
|
private Queue<Double> history_speed = new LinkedList<>();
|
||||||
|
|
||||||
public final ForgeConfigSpec.ConfigValue<Boolean> logo;
|
public final ForgeConfigSpec.ConfigValue<Boolean> logo;
|
||||||
public final ForgeConfigSpec.ConfigValue<Boolean> speed;
|
public final ForgeConfigSpec.ConfigValue<Boolean> speed;
|
||||||
public final ForgeConfigSpec.ConfigValue<Boolean> time;
|
public final ForgeConfigSpec.ConfigValue<Boolean> time;
|
||||||
// public final ForgeConfigSpec.ConfigValue<Boolean> fps;
|
public final ForgeConfigSpec.ConfigValue<Boolean> fps;
|
||||||
// public final ForgeConfigSpec.ConfigValue<Boolean> biome;
|
// public final ForgeConfigSpec.ConfigValue<Boolean> biome;
|
||||||
// public final ForgeConfigSpec.ConfigValue<Boolean> latency;
|
// public final ForgeConfigSpec.ConfigValue<Boolean> latency;
|
||||||
// public final ForgeConfigSpec.ConfigValue<Boolean> tps;
|
// public final ForgeConfigSpec.ConfigValue<Boolean> tps;
|
||||||
|
@ -64,6 +66,12 @@ public class InfoDisplay extends HudModule implements ICommons {
|
||||||
.fallback(true)
|
.fallback(true)
|
||||||
.build(this);
|
.build(this);
|
||||||
|
|
||||||
|
this.fps = Setting.Bool.builder()
|
||||||
|
.name("fps")
|
||||||
|
.comment("show current framerate")
|
||||||
|
.fallback(true)
|
||||||
|
.build(this);
|
||||||
|
|
||||||
this.hide_effects = Setting.Bool.builder()
|
this.hide_effects = Setting.Bool.builder()
|
||||||
.name("hide-effects")
|
.name("hide-effects")
|
||||||
.comment("hide effect icons on top right corner")
|
.comment("hide effect icons on top right corner")
|
||||||
|
@ -76,16 +84,15 @@ public class InfoDisplay extends HudModule implements ICommons {
|
||||||
if (!this.speed.get()) return;
|
if (!this.speed.get()) return;
|
||||||
if (event.phase == Phase.END) return;
|
if (event.phase == Phase.END) return;
|
||||||
if (MC.player != null) {
|
if (MC.player != null) {
|
||||||
this.instant_speed =
|
this.instant_speed = this.last_position.distanceTo(MC.player.position());
|
||||||
this.last_position.distanceTo(MC.player.position());
|
|
||||||
this.last_position = MC.player.position();
|
this.last_position = MC.player.position();
|
||||||
} else {
|
} else {
|
||||||
this.instant_speed = 0.0;
|
this.instant_speed = 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.history_speed.push(this.instant_speed);
|
this.history_speed.add(this.instant_speed);
|
||||||
while (this.history_speed.size() >= 100) { // TODO customize this parameter
|
while (this.history_speed.size() >= 100) { // TODO customize this parameter
|
||||||
this.history_speed.pop();
|
this.history_speed.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
double buf = 0.0;
|
double buf = 0.0;
|
||||||
|
@ -143,5 +150,16 @@ public class InfoDisplay extends HudModule implements ICommons {
|
||||||
.render(event.getMatrixStack(), event.getWindow());
|
.render(event.getMatrixStack(), event.getWindow());
|
||||||
offset += MC.font.lineHeight * scale;
|
offset += MC.font.lineHeight * scale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.fps.get()) {
|
||||||
|
TextBuilder()
|
||||||
|
.txt("> " + MC.fpsString)
|
||||||
|
.anchor(this.anchor.get())
|
||||||
|
.x(this.x.get())
|
||||||
|
.y(this.y.get() + offset)
|
||||||
|
.scale(scale)
|
||||||
|
.render(event.getMatrixStack(), event.getWindow());
|
||||||
|
offset += MC.font.lineHeight * scale;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@ public class PlayerList extends HudModule implements ICommons {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public void onRenderOverlay(RenderGameOverlayEvent event) {
|
public void onRenderOverlay(RenderGameOverlayEvent event) {
|
||||||
if (event.getType() != ElementType.TEXT) return;
|
if (event.getType() != ElementType.TEXT) return;
|
||||||
|
if (this.shouldHide()) return;
|
||||||
|
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
for (Entity e : MC.level.entitiesForRendering()) {
|
for (Entity e : MC.level.entitiesForRendering()) {
|
||||||
|
|
Loading…
Reference in a new issue