aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorinyourwalls <inyourwalls@tutanota.com>2024-08-19 22:24:10 -0400
committerinyourwalls <inyourwalls@tutanota.com>2024-08-19 22:27:06 -0400
commit45da481f06ab6d45704ed2ff7cf45146eefd39cc (patch)
tree710bf6ecef90c8aba422944180c2b9fd720f03cb
parentf5d6175bc309fd7466fdf7f4de1697dcb7ee8f97 (diff)
add debug display for screen handler props
-rw-r--r--src/main/java/net/inyourwalls/frank/Frank.java2
-rw-r--r--src/main/java/net/inyourwalls/frank/ScreenEventHandler.java46
2 files changed, 42 insertions, 6 deletions
diff --git a/src/main/java/net/inyourwalls/frank/Frank.java b/src/main/java/net/inyourwalls/frank/Frank.java
index 4996a88..079785c 100644
--- a/src/main/java/net/inyourwalls/frank/Frank.java
+++ b/src/main/java/net/inyourwalls/frank/Frank.java
@@ -30,7 +30,7 @@ public class Frank implements ClientModInitializer {
ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
if (screen instanceof AbstractFurnaceScreen furnace) {
AbstractFurnaceScreenHandler screenHandler = (AbstractFurnaceScreenHandler) furnace.getScreenHandler();
- ScreenEventHandler handler = new ScreenEventHandler(furnace, screenHandler, client.textRenderer, config);
+ ScreenEventHandler handler = new ScreenEventHandler(furnace, screenHandler, client, config);
ScreenEvents.afterRender(screen).register(handler);
ScreenEvents.afterTick(screen).register(handler);
}
diff --git a/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java b/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java
index 11c6514..f755d66 100644
--- a/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java
+++ b/src/main/java/net/inyourwalls/frank/ScreenEventHandler.java
@@ -3,6 +3,7 @@ package net.inyourwalls.frank;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.fabricmc.fabric.api.registry.FuelRegistry;
import net.inyourwalls.frank.config.FrankConfig;
+import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
@@ -16,7 +17,7 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent
private static final int FUEL_SLOT_INDEX = 1;
private final AbstractFurnaceScreen<?> screen;
private final AbstractFurnaceScreenHandler screenHandler;
- private final TextRenderer textRenderer;
+ private final MinecraftClient client;
private final FrankConfig config;
private int ticksLeft = 0;
private int itemsSmeltable = 0;
@@ -24,12 +25,12 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent
public ScreenEventHandler(
AbstractFurnaceScreen<?> screen,
AbstractFurnaceScreenHandler screenHandler,
- TextRenderer textRenderer,
+ MinecraftClient client,
FrankConfig config
) {
this.screen = screen;
this.screenHandler = screenHandler;
- this.textRenderer = textRenderer;
+ this.client = client;
this.config = config;
}
@@ -59,13 +60,17 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent
case DISABLED -> {}
}
+
+ if (this.client.getDebugHud().shouldShowDebugHud()) {
+ renderDebugValues(drawContext, x, y + 166 - 45);
+ }
}
private void renderTimeLeft(DrawContext drawContext, int secondsLeft, int x, int y) {
int minutesLeft = secondsLeft / 60;
secondsLeft %= 60;
drawContext.drawTextWithShadow(
- this.textRenderer,
+ this.client.textRenderer,
Text.translatable("ui.frank.time_left", minutesLeft, secondsLeft),
x,
y,
@@ -75,7 +80,7 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent
private void renderItemsSmeltable(DrawContext drawContext, int x, int y) {
drawContext.drawTextWithShadow(
- this.textRenderer,
+ this.client.textRenderer,
Text.translatable("ui.frank.smeltable", itemsSmeltable),
x,
y,
@@ -83,6 +88,37 @@ public class ScreenEventHandler implements ScreenEvents.AfterRender, ScreenEvent
);
}
+ private void renderDebugValues(DrawContext drawContext, int x, int y) {
+ drawContext.drawTextWithShadow(
+ this.client.textRenderer,
+ Text.literal("remainingFuelTicks: " + screenHandler.getRemainingFuelTicks()),
+ x,
+ y,
+ 0xffffff
+ );
+ drawContext.drawTextWithShadow(
+ this.client.textRenderer,
+ Text.literal("totalFuelTicks: " + screenHandler.getTotalFuelTicks()),
+ x,
+ y + 10,
+ 0xffffff
+ );
+ drawContext.drawTextWithShadow(
+ this.client.textRenderer,
+ Text.literal("currentCookingTicks: " + screenHandler.getCurrentCookingTicks()),
+ x,
+ y + 20,
+ 0xffffff
+ );
+ drawContext.drawTextWithShadow(
+ this.client.textRenderer,
+ Text.literal("totalCookingTicks: " + screenHandler.getTotalCookingTicks()),
+ x,
+ y + 30,
+ 0xffffff
+ );
+ }
+
@Override
public void afterTick(Screen screen) {
ItemStack fuel = this.screenHandler.getSlot(FUEL_SLOT_INDEX).getStack();