From e58c7fc0fdc527d24818211f9c5170f98437774a Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Fri, 18 Apr 2025 12:37:46 +0200 Subject: [PATCH] feat: improve URL handling - Uses the `open` method of `ConfirmLinkScreen` instead of manually instantiating it - Also re-add the `requiredMod` field for `@Comment` to prevent mods that haven't adjusted yet from outright crashing --- .../eu/midnightdust/lib/config/MidnightConfig.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java index f132d45..588b1dd 100755 --- a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java +++ b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java @@ -494,15 +494,9 @@ public abstract class MidnightConfig { @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { - boolean result = super.mouseClicked(mouseX, mouseY, button); - if (this.info != null && this.info.comment != null && !this.info.comment.url().isBlank()) { - Screen parent = MinecraftClient.getInstance().currentScreen; - MinecraftClient.getInstance().setScreen(new ConfirmLinkScreen((confirm)->{ - if (confirm) Util.getOperatingSystem().open(this.info.comment.url()); - MinecraftClient.getInstance().setScreen(parent); - }, this.info.comment.url(), true)); - } - return result; + if (this.info != null && this.info.comment != null && !this.info.comment.url().isBlank()) + ConfirmLinkScreen.open(MinecraftClient.getInstance().currentScreen, this.info.comment.url(), true); + return super.mouseClicked(mouseX, mouseY, button); } public List children() {return Lists.newArrayList(buttons);} @@ -597,6 +591,7 @@ public abstract class MidnightConfig { String category() default "default"; String name() default ""; String url() default ""; + @Deprecated String requiredMod() default ""; } /** * Condition Annotation