From 34b5dc06ee26c4cae531fc06ef22f98bdd8a4e7f Mon Sep 17 00:00:00 2001 From: Shiewk Date: Mon, 26 May 2025 11:37:20 +0200 Subject: [PATCH] Use HudLayerRegistrationCallback instead of deprecated HudRenderCallback --- .../shiewk/widgets/client/WidgetRenderer.java | 19 ++++++++++++++++--- .../widgets/client/WidgetsModClient.java | 4 ++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java b/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java index eb418d3..22d45a8 100644 --- a/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java +++ b/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java @@ -2,28 +2,41 @@ package de.shiewk.widgets.client; import de.shiewk.widgets.ModWidget; import de.shiewk.widgets.WidgetSettings; +import de.shiewk.widgets.WidgetsMod; import de.shiewk.widgets.client.screen.EditWidgetPositionsScreen; import de.shiewk.widgets.client.screen.WidgetConfigScreen; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; +import net.fabricmc.fabric.api.client.rendering.v1.HudLayerRegistrationCallback; +import net.fabricmc.fabric.api.client.rendering.v1.IdentifiedLayer; +import net.fabricmc.fabric.api.client.rendering.v1.LayeredDrawerWrapper; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.render.RenderTickCounter; +import net.minecraft.util.Identifier; import net.minecraft.util.Util; import net.minecraft.util.profiler.Profiler; import net.minecraft.util.profiler.Profilers; import static de.shiewk.widgets.WidgetUtils.translateToScreen; -public class WidgetRenderer implements HudRenderCallback, ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted { +public class WidgetRenderer implements HudLayerRegistrationCallback, ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted { + public static final Identifier LAYER_ID = Identifier.of(WidgetsMod.MOD_ID, "widgets-hud-layer"); private static MinecraftClient client; + @Override - public void onHudRender(DrawContext drawContext, RenderTickCounter tickCounter) { + public void register(LayeredDrawerWrapper layeredDrawer) { + layeredDrawer.addLayer(IdentifiedLayer.of( + LAYER_ID, + this::renderWidgets + )); + } + + public void renderWidgets(DrawContext drawContext, RenderTickCounter tickCounter) { if (client.options.hudHidden) return; if (client.currentScreen instanceof EditWidgetPositionsScreen) return; final Profiler profiler = Profilers.get(); diff --git a/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java b/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java index 6016e45..289caf3 100644 --- a/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java +++ b/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java @@ -10,7 +10,7 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientEntityEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; -import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; +import net.fabricmc.fabric.api.client.rendering.v1.HudLayerRegistrationCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.util.InputUtil; @@ -24,7 +24,7 @@ public class WidgetsModClient implements ClientModInitializer { @Override public void onInitializeClient() { - HudRenderCallback.EVENT.register(new WidgetRenderer()); + HudLayerRegistrationCallback.EVENT.register(new WidgetRenderer()); ClientTickEvents.START_CLIENT_TICK.register(new WidgetRenderer()); ClientLifecycleEvents.CLIENT_STARTED.register(new WidgetRenderer());