From 920fb797e1be1815f12970ec15771aa7c857a768 Mon Sep 17 00:00:00 2001 From: Motschen Date: Thu, 9 Mar 2023 19:50:28 +0100 Subject: [PATCH] Minor improvements --- .../eu/midnightdust/lib/config/MidnightConfig.java | 11 ++++++----- .../lib/util/screen/TexturedOverlayButtonWidget.java | 6 +++--- 2 files changed, 9 insertions(+), 8 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 a8b1ad0..70d9d7b 100755 --- a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java +++ b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java @@ -204,16 +204,17 @@ public abstract class MidnightConfig { public boolean reload = false; public TabManager tabManager = new TabManager(a -> refresh(), a -> refresh()); public Tab prevTab; + public ButtonWidget done; // Real Time config update // @Override public void tick() { super.tick(); - tabManager.tick(); if (prevTab != null && prevTab != tabManager.getCurrentTab()) { prevTab = tabManager.getCurrentTab(); this.list.clear(); fillList(); + list.setScrollAmount(0); } for (EntryInfo info : entries) { try {info.field.set(null, info.value);} catch (IllegalAccessException ignored) {} @@ -283,10 +284,7 @@ public abstract class MidnightConfig { this.list = new MidnightConfigListWidget(this.client, this.width, this.height, 32, this.height - 32, 25); if (this.client != null && this.client.world != null) this.list.setRenderBackground(false); this.addSelectableChild(this.list); - this.fillList(); - } - public void fillList() { - ButtonWidget done = this.addDrawableChild(ButtonWidget.builder(ScreenTexts.DONE, (button) -> { + done = this.addDrawableChild(ButtonWidget.builder(ScreenTexts.DONE, (button) -> { for (EntryInfo info : entries) if (info.id.equals(modid)) { try { @@ -296,6 +294,9 @@ public abstract class MidnightConfig { write(modid); Objects.requireNonNull(client).setScreen(parent); }).dimensions(this.width / 2 + 4, this.height - 28, 150, 20).build()); + fillList(); + } + public void fillList() { for (EntryInfo info : entries) { if (info.id.equals(modid) && (info.tab == null || info.tab == tabManager.getCurrentTab())) { Text name = Objects.requireNonNullElseGet(info.name, () -> Text.translatable(translationPrefix + info.field.getName())); diff --git a/common/src/main/java/eu/midnightdust/lib/util/screen/TexturedOverlayButtonWidget.java b/common/src/main/java/eu/midnightdust/lib/util/screen/TexturedOverlayButtonWidget.java index 4d10e1e..7eabec7 100644 --- a/common/src/main/java/eu/midnightdust/lib/util/screen/TexturedOverlayButtonWidget.java +++ b/common/src/main/java/eu/midnightdust/lib/util/screen/TexturedOverlayButtonWidget.java @@ -29,9 +29,9 @@ public class TexturedOverlayButtonWidget extends TexturedButtonWidget { public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta) { int i = 66; if (!this.isNarratable()) { - i += 40; - } else if (this.isHovered()) { - i += 20; + i += hoveredVOffset * 2; + } else if (this.isSelected()) { + i += hoveredVOffset; } RenderSystem.setShader(GameRenderer::getPositionTexProgram); RenderSystem.setShaderTexture(0, WIDGETS_TEXTURE);