diff options
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/gui')
3 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java index c138e4a..fd3c86b 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java @@ -19,6 +19,7 @@ import cc.polyfrost.oneconfig.libs.universal.UResolution; import cc.polyfrost.oneconfig.libs.universal.UScreen; import cc.polyfrost.oneconfig.renderer.RenderManager; import cc.polyfrost.oneconfig.renderer.font.Fonts; +import cc.polyfrost.oneconfig.renderer.scissor.Scissor; import cc.polyfrost.oneconfig.renderer.scissor.ScissorManager; import cc.polyfrost.oneconfig.utils.InputUtils; import cc.polyfrost.oneconfig.utils.color.ColorPalette; @@ -140,6 +141,7 @@ public class OneConfigGui extends UScreen { } ScissorManager.scissor(vg, x + 224, y + 72, 1056, 728); + Scissor blockedClicks = InputUtils.blockInputArea(x + 224, y, 1056,72); if (prevPage != null && animation != null) { float pageProgress = animation.get(GuiUtils.getDeltaTime()); if (!animation.isReversed()) { @@ -156,6 +158,7 @@ public class OneConfigGui extends UScreen { currentPage.scrollWithDraw(vg, x + 224, y + 72); } ScissorManager.clearScissors(vg); + InputUtils.stopBlock(blockedClicks); float breadcrumbX = x + 352; for (int i = 0; i < currentPage.parents.size(); i++) { diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java index 75a9f8e..5f454f2 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java @@ -13,7 +13,6 @@ import cc.polyfrost.oneconfig.renderer.font.Fonts; import cc.polyfrost.oneconfig.utils.color.ColorPalette; import java.util.ArrayList; -import java.util.Iterator; public class ModsPage extends Page { @@ -46,7 +45,7 @@ public class ModsPage extends Page { ArrayList<ModCard> finalModCards = new ArrayList<>(modCards); for (ModCard modCard : finalModCards) { if (inSelection(modCard) && (filter.equals("") || modCard.getModData().name.toLowerCase().contains(filter))) { - modCard.draw(vg, iX, iY); + if (iY + 135 >= y - scroll && iY <= y + 728 - scroll) modCard.draw(vg, iX, iY); iX += 260; if (iX > x + 796) { iX = x + 16; @@ -86,7 +85,7 @@ public class ModsPage extends Page { public void reloadMods() { modCards.clear(); - for (Mod modData : ConfigCore.oneConfigMods) { + for (Mod modData : ConfigCore.mods) { modCards.add(new ModCard(modData, modData.config == null || modData.config.enabled, false, OneConfigConfig.favoriteMods.contains(modData.name), this)); } } diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java b/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java index 9a4b1eb..b55f851 100644 --- a/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java +++ b/src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java @@ -24,6 +24,7 @@ public abstract class Page { private long scrollTime; private boolean mouseWasDown, dragging; private float yStart; + protected float scroll; public final ArrayList<Page> parents = new ArrayList<>(); public Page(String title) { @@ -47,7 +48,7 @@ public abstract class Page { public void scrollWithDraw(long vg, int x, int y) { int maxScroll = getMaxScrollHeight(); int scissorOffset = drawStatic(vg, x, y); - float scroll = scrollAnimation == null ? scrollTarget : scrollAnimation.get(); + scroll = scrollAnimation == null ? scrollTarget : scrollAnimation.get(); final float scrollBarLength = (728f / maxScroll) * 728f; Scissor scissor = ScissorManager.scissor(vg, x, y + scissorOffset, x + 1056, y + 728 - scissorOffset); Scissor inputScissor = InputUtils.blockInputArea(x, y,1056, scissorOffset); |