aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/gui')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/OneConfigGui.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/pages/ModsPage.java5
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/pages/Page.java3
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);