From 77760d7dd20cef5e7948ebd46371ef43ad1bf3b1 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Wed, 25 Oct 2023 14:56:37 -0400 Subject: [PATCH] Remember previous scroll position on config screen --- .../embeddedt/modernfix/screen/ModernFixConfigScreen.java | 7 +++++++ .../java/org/embeddedt/modernfix/screen/OptionList.java | 1 + 2 files changed, 8 insertions(+) diff --git a/common/src/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java b/common/src/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java index a0cc441c..f6025cb3 100644 --- a/common/src/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java +++ b/common/src/main/java/org/embeddedt/modernfix/screen/ModernFixConfigScreen.java @@ -13,6 +13,8 @@ public class ModernFixConfigScreen extends Screen { public boolean madeChanges = false; private Button doneButton, wikiButton; + private double lastScrollAmount = 0; + public ModernFixConfigScreen(Screen lastScreen) { super(new TranslatableComponent("modernfix.config")); this.lastScreen = lastScreen; @@ -21,6 +23,7 @@ public class ModernFixConfigScreen extends Screen { @Override protected void init() { this.optionList = new OptionList(this, this.minecraft); + this.optionList.setScrollAmount(lastScrollAmount); this.children.add(this.optionList); this.wikiButton = new Button(this.width / 2 - 155, this.height - 29, 150, 20, new TranslatableComponent("modernfix.config.wiki"), (arg) -> { Util.getPlatform().openUri("https://github.com/embeddedt/ModernFix/wiki/Summary-of-Patches"); @@ -50,4 +53,8 @@ public class ModernFixConfigScreen extends Screen { public void renderComponentHoverEffect(PoseStack matrixStack, @Nullable Style style, int mouseX, int mouseY) { super.renderComponentHoverEffect(matrixStack, style, mouseX, mouseY); } + + public void setLastScrollAmount(double d) { + this.lastScrollAmount = d; + } } diff --git a/common/src/main/java/org/embeddedt/modernfix/screen/OptionList.java b/common/src/main/java/org/embeddedt/modernfix/screen/OptionList.java index 4405aac8..7a876d86 100644 --- a/common/src/main/java/org/embeddedt/modernfix/screen/OptionList.java +++ b/common/src/main/java/org/embeddedt/modernfix/screen/OptionList.java @@ -158,6 +158,7 @@ public class OptionList extends ContainerObjectSelectionList { }); updateStatus(); this.helpButton = new Button(75, 0, 20, 20, new TextComponent("?"), (arg) -> { + mainScreen.setLastScrollAmount(getScrollAmount()); Minecraft.getInstance().setScreen(new ModernFixOptionInfoScreen(mainScreen, optionName)); }); if(!I18n.exists("modernfix.option." + optionName)) {