1
mirror of https://github.com/Shiewk/Widgets.git synced 2026-04-28 11:34:17 +02:00

1.21.2 backport

This commit is contained in:
Shy
2025-11-27 12:15:07 +01:00
parent 269743269b
commit 8ef0aaa941
7 changed files with 41 additions and 29 deletions
@@ -1,38 +1,25 @@
package de.shiewk.widgets.client;
import de.shiewk.widgets.ModWidget;
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.HudLayerRegistrationCallback;
import net.fabricmc.fabric.api.client.rendering.v1.IdentifiedLayer;
import net.fabricmc.fabric.api.client.rendering.v1.LayeredDrawerWrapper;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
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;
public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted, HudLayerRegistrationCallback {
public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted, HudRenderCallback {
public static final Identifier LAYER_ID = Identifier.of(WidgetsMod.MOD_ID, "widgets-hud-layer");
private static MinecraftClient client;
@Override
public void register(LayeredDrawerWrapper layeredDrawerWrapper) {
layeredDrawerWrapper.addLayer(IdentifiedLayer.of(
LAYER_ID,
this::renderWidgets
));
}
public void renderWidgets(DrawContext drawContext, RenderTickCounter tickCounter) {
public void renderWidgets(DrawContext drawContext) {
if (client.options.hudHidden) return;
if (client.currentScreen instanceof EditWidgetPositionsScreen) return;
final Profiler profiler = Profilers.get();
@@ -85,4 +72,9 @@ public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecyc
widget.onSettingsChanged(widget.getSettings());
}
}
@Override
public void onHudRender(DrawContext drawContext, RenderTickCounter renderTickCounter) {
this.renderWidgets(drawContext);
}
}