diff options
| author | inyourwalls <inyourwalls@tutanota.com> | 2024-08-19 22:24:10 -0400 |
|---|---|---|
| committer | inyourwalls <inyourwalls@tutanota.com> | 2024-08-19 22:27:06 -0400 |
| commit | 45da481f06ab6d45704ed2ff7cf45146eefd39cc (patch) | |
| tree | 710bf6ecef90c8aba422944180c2b9fd720f03cb | |
| parent | f5d6175bc309fd7466fdf7f4de1697dcb7ee8f97 (diff) | |
add debug display for screen handler props
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/Frank.java | 2 | ||||
| -rw-r--r-- | src/main/java/net/inyourwalls/frank/ScreenEventHandler.java | 46 |
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(); |
