From 9304da40b67c2ee802bf6f03a932de214368b55c Mon Sep 17 00:00:00 2001 From: Shiewk Date: Thu, 10 Jul 2025 17:28:06 +0200 Subject: [PATCH] (1.0.3) 1.21.6 support --- build.gradle | 2 +- gradle.properties | 12 ++++++------ .../event/ScreenListener.java | 17 +++++++++++++++-- ...AccessorConfirmServerResourcePackScreen.java | 2 +- ...ssorConfirmServerResourcePackScreenPack.java | 2 +- .../screen/elements/ManageListWidget.java | 8 +++++--- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/build.gradle b/build.gradle index cd4a107..0c2afab 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.10.1' + id 'fabric-loom' version "1.11-SNAPSHOT" id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index b1a9981..d5e0bb3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,15 +2,15 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://modmuss50.me/fabric.html -minecraft_version=1.21.5 -yarn_mappings=1.21.5+build.1 -loader_version=0.16.12 +minecraft_version=1.21.6 +yarn_mappings=1.21.6+build.1 +loader_version=0.16.13 # Mod Properties -mod_version=1.0.2 +mod_version=1.0.3 maven_group=de.shiewk archives_base_name=ViewServerResources # Dependencies # check this on https://modmuss50.me/fabric.html -fabric_version=0.119.5+1.21.5 +fabric_version=0.127.0+1.21.6 # Mod Dependencies -modmenu_version=14.0.0-rc.1 \ No newline at end of file +modmenu_version=15.0.0-beta.3 \ No newline at end of file diff --git a/src/main/java/de/shiewk/viewserverresources/event/ScreenListener.java b/src/main/java/de/shiewk/viewserverresources/event/ScreenListener.java index 946bada..dbea5d0 100644 --- a/src/main/java/de/shiewk/viewserverresources/event/ScreenListener.java +++ b/src/main/java/de/shiewk/viewserverresources/event/ScreenListener.java @@ -34,6 +34,8 @@ public class ScreenListener implements ScreenEvents.AfterInit { public void afterInit(MinecraftClient client, Screen screen, int scaledWidth, int scaledHeight) { if (screen instanceof ConfirmScreen && screen.getClass().getEnclosingClass() == ClientCommonNetworkHandler.class){ GridWidget gw = new GridWidget(); + gw.getMainPositioner().alignHorizontalCenter(); + gw.getMainPositioner().alignBottom(); gw.getMainPositioner().margin(4, 4, 4, 0); final GridWidget.Adder adder = gw.createAdder(2); @@ -41,8 +43,19 @@ public class ScreenListener implements ScreenEvents.AfterInit { final List infos = getPackInfos((AccessorConfirmServerResourcePackScreen) screen); - while (!buttons.isEmpty()){ - adder.add(buttons.removeFirst()); + // Really hacky method + ClickableWidget[] widgets = buttons.stream().filter(b -> b instanceof ButtonWidget).toList().toArray(ClickableWidget[]::new); + + // Proceed button + buttons.remove(widgets[0]); + adder.add(widgets[0]); + + // Reject button + buttons.remove(widgets[1]); + adder.add(widgets[1]); + + for (int i = 2; i < widgets.length; i++) { + buttons.remove(widgets[i]); } adder.add(createButton(Text.translatable(infos.size() == 1 ? "gui.viewserverresources.viewURL" : "gui.viewserverresources.viewURLs"), btn -> viewURLs(client, screen, infos))); diff --git a/src/main/java/de/shiewk/viewserverresources/mixin/AccessorConfirmServerResourcePackScreen.java b/src/main/java/de/shiewk/viewserverresources/mixin/AccessorConfirmServerResourcePackScreen.java index 50d8ddd..4c5ab9b 100644 --- a/src/main/java/de/shiewk/viewserverresources/mixin/AccessorConfirmServerResourcePackScreen.java +++ b/src/main/java/de/shiewk/viewserverresources/mixin/AccessorConfirmServerResourcePackScreen.java @@ -5,7 +5,7 @@ import org.spongepowered.asm.mixin.gen.Accessor; import java.util.List; -@Mixin(targets = "net/minecraft/client/network/ClientCommonNetworkHandler/ConfirmServerResourcePackScreen") +@Mixin(targets = "net/minecraft/client/network/ClientCommonNetworkHandler$ConfirmServerResourcePackScreen") public interface AccessorConfirmServerResourcePackScreen { @Accessor(value = "packs") diff --git a/src/main/java/de/shiewk/viewserverresources/mixin/AccessorConfirmServerResourcePackScreenPack.java b/src/main/java/de/shiewk/viewserverresources/mixin/AccessorConfirmServerResourcePackScreenPack.java index aac54a1..b8d4f30 100644 --- a/src/main/java/de/shiewk/viewserverresources/mixin/AccessorConfirmServerResourcePackScreenPack.java +++ b/src/main/java/de/shiewk/viewserverresources/mixin/AccessorConfirmServerResourcePackScreenPack.java @@ -7,7 +7,7 @@ import org.spongepowered.asm.mixin.gen.Accessor; import java.net.URL; import java.util.UUID; -@Mixin(targets = "net/minecraft/client/network/ClientCommonNetworkHandler/ConfirmServerResourcePackScreen/Pack") +@Mixin(targets = "net/minecraft/client/network/ClientCommonNetworkHandler$ConfirmServerResourcePackScreen$Pack") public interface AccessorConfirmServerResourcePackScreenPack { @Accessor(value = "id") diff --git a/src/main/java/de/shiewk/viewserverresources/screen/elements/ManageListWidget.java b/src/main/java/de/shiewk/viewserverresources/screen/elements/ManageListWidget.java index a2a5092..e62fd49 100644 --- a/src/main/java/de/shiewk/viewserverresources/screen/elements/ManageListWidget.java +++ b/src/main/java/de/shiewk/viewserverresources/screen/elements/ManageListWidget.java @@ -9,6 +9,7 @@ import net.minecraft.client.gui.widget.ClickableWidget; import net.minecraft.client.gui.widget.ScrollableWidget; import net.minecraft.client.gui.widget.TextWidget; import net.minecraft.text.Text; +import org.joml.Matrix3x2fStack; import java.util.ArrayList; import java.util.List; @@ -53,12 +54,13 @@ public class ManageListWidget extends ScrollableWidget { @Override protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { mouseY += (int) getScrollY(); - context.getMatrices().push(); - context.getMatrices().translate(0, -getScrollY(), 0); + Matrix3x2fStack matrices = context.getMatrices(); + matrices.pushMatrix(); + matrices.translate(0, (float) -getScrollY()); for (ClickableWidget element : elements) { element.render(context, mouseX, mouseY, delta); } - context.getMatrices().pop(); + matrices.popMatrix(); drawScrollbar(context); }