From 8ef0aaa941a3ac8cb26a3f8a0fb00019d60d073b Mon Sep 17 00:00:00 2001 From: Shiewk Date: Thu, 27 Nov 2025 12:15:07 +0100 Subject: [PATCH] 1.21.2 backport --- gradle.properties | 8 +++---- .../shiewk/widgets/client/WidgetRenderer.java | 24 +++++++------------ .../widgets/client/WidgetsModClient.java | 4 ++-- .../client/screen/ContextMenuScreen.java | 5 ++++ .../screen/components/WidgetListWidget.java | 13 ++++++---- .../components/WidgetSettingsEditWidget.java | 11 ++++++--- .../settings/RGBAColorWidgetSetting.java | 5 ++++ 7 files changed, 41 insertions(+), 29 deletions(-) diff --git a/gradle.properties b/gradle.properties index 2893935..2599a2f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,8 +2,8 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.21.4 -yarn_mappings=1.21.4+build.8 +minecraft_version=1.21.2 +yarn_mappings=1.21.2+build.1 loader_version=0.17.2 # Mod Properties mod_version=2.0.0 @@ -11,5 +11,5 @@ maven_group=de.shiewk archives_base_name=Widgets # Dependencies # check this on https://modmuss50.me/fabric.html -fabric_version=0.118.0+1.21.4 -modmenu_version=13.0.3 +fabric_version=0.106.1+1.21.2 +modmenu_version=12.0.0 diff --git a/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java b/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java index b83aa0f..da50ccb 100644 --- a/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java +++ b/src/main/java/de/shiewk/widgets/client/WidgetRenderer.java @@ -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); + } } diff --git a/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java b/src/main/java/de/shiewk/widgets/client/WidgetsModClient.java index ddd03b5..2d7326b 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.HudLayerRegistrationCallback; +import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; import net.fabricmc.fabric.api.event.player.AttackEntityCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.client.option.KeyBinding; @@ -27,7 +27,7 @@ public class WidgetsModClient implements ClientModInitializer { WidgetRenderer widgetRenderer = new WidgetRenderer(); ClientTickEvents.START_CLIENT_TICK.register(widgetRenderer); ClientLifecycleEvents.CLIENT_STARTED.register(widgetRenderer); - HudLayerRegistrationCallback.EVENT.register(widgetRenderer); + HudRenderCallback.EVENT.register(widgetRenderer); // manage widgets keybind configKeyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding( diff --git a/src/main/java/de/shiewk/widgets/client/screen/ContextMenuScreen.java b/src/main/java/de/shiewk/widgets/client/screen/ContextMenuScreen.java index 73dcc6d..c77d8b0 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/ContextMenuScreen.java +++ b/src/main/java/de/shiewk/widgets/client/screen/ContextMenuScreen.java @@ -113,6 +113,11 @@ public class ContextMenuScreen extends Screen { renderMenu(context, mouseX, mouseY); } + @Override + public void renderBackground(DrawContext context, int mouseX, int mouseY, float delta) { + + } + public void renderMenu(DrawContext context, int mouseX, int mouseY){ int y = menuY + 1; for (Option option : options) { diff --git a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetListWidget.java b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetListWidget.java index 1344488..dbb57a5 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetListWidget.java +++ b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetListWidget.java @@ -57,7 +57,7 @@ public class WidgetListWidget extends ScrollableWidget { for (ModWidget widget : widgets) { adder.add(new WidgetWidget(0, 0, 200, 100, client, widget, textRenderer, onEdit)); } - SimplePositioningWidget.setPos(gw, getX(), getY(), this.getWidth(), this.getContentsHeightWithPadding(), 0, 0); + SimplePositioningWidget.setPos(gw, getX(), getY(), this.getWidth(), this.getContentsHeight(), 0, 0); gw.refreshPositions(); this.elements.clear(); gw.forEachChild(w -> this.addWidget((WidgetWidget) w)); @@ -68,7 +68,7 @@ public class WidgetListWidget extends ScrollableWidget { } @Override - protected int getContentsHeightWithPadding() { + protected int getContentsHeight() { final int columns = getColumns(); final int rows = widgets.size() / columns; return 10 + (rows * 108); @@ -88,7 +88,7 @@ public class WidgetListWidget extends ScrollableWidget { } @Override - protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { + protected void renderContents(DrawContext context, int mouseX, int mouseY, float delta) { context.enableScissor(getX(), getY(), getX()+width, getY()+height); MatrixStack stack = context.getMatrices(); stack.push(); @@ -109,7 +109,12 @@ public class WidgetListWidget extends ScrollableWidget { return true; } } - return super.checkScrollbarDragged(mouseX, mouseY, button); + return super.mouseClicked(mouseX, mouseY, button); + } + + @Override + protected void drawBox(DrawContext context) { + } @Override diff --git a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetSettingsEditWidget.java b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetSettingsEditWidget.java index 8cfe7a4..6664d01 100644 --- a/src/main/java/de/shiewk/widgets/client/screen/components/WidgetSettingsEditWidget.java +++ b/src/main/java/de/shiewk/widgets/client/screen/components/WidgetSettingsEditWidget.java @@ -40,7 +40,7 @@ public class WidgetSettingsEditWidget extends ScrollableWidget { } @Override - protected int getContentsHeightWithPadding() { + protected int getContentsHeight() { return this.contentsHeight; } @@ -50,7 +50,7 @@ public class WidgetSettingsEditWidget extends ScrollableWidget { } @Override - protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { + protected void renderContents(DrawContext context, int mouseX, int mouseY, float delta) { context.fill(getX(), getY(), getX()+width, getY()+height, COLOR_BG); MatrixStack matrices = context.getMatrices(); matrices.push(); @@ -97,7 +97,12 @@ public class WidgetSettingsEditWidget extends ScrollableWidget { customSetting.setFocused(false); } } - return checkScrollbarDragged(mouseX, mouseY, button); + return super.mouseClicked(mouseX, mouseY, button); + } + + @Override + protected void drawBox(DrawContext context) { + } @Override diff --git a/src/main/java/de/shiewk/widgets/widgets/settings/RGBAColorWidgetSetting.java b/src/main/java/de/shiewk/widgets/widgets/settings/RGBAColorWidgetSetting.java index d30a2b6..f50e2c3 100644 --- a/src/main/java/de/shiewk/widgets/widgets/settings/RGBAColorWidgetSetting.java +++ b/src/main/java/de/shiewk/widgets/widgets/settings/RGBAColorWidgetSetting.java @@ -179,6 +179,11 @@ public class RGBAColorWidgetSetting extends WidgetSettingOption { super.render(context, mouseX, mouseY, deltaTicks); } + @Override + public void renderBackground(DrawContext context, int mouseX, int mouseY, float delta) { + + } + @Override public void close() { client.setScreen(parent);