From f2f4428756bd2c027df72e808cba3e9fe733a2a6 Mon Sep 17 00:00:00 2001 From: HypherionMC Date: Sun, 26 Nov 2023 00:37:10 +0200 Subject: [PATCH] [BUG] Fix Config GUI not rendering controls --- .../craterlib/client/gui/config/CraterConfigScreen.java | 7 +++---- .../craterlib/client/gui/config/widgets/BaseWidget.java | 2 +- .../client/gui/config/widgets/WrappedEditBox.java | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java b/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java index 98927ee..81a9ed7 100644 --- a/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/CraterConfigScreen.java @@ -179,7 +179,6 @@ public class CraterConfigScreen extends Screen { @Override public void render(@NotNull GuiGraphics matrices, int mouseX, int mouseY, float delta) { overlayBackground(matrices.pose(), TOP, height - BOTTOM, 32); - renderScrollBar(); matrices.pose().pushPose(); @@ -188,9 +187,10 @@ public class CraterConfigScreen extends Screen { overlayBackground(matrices.pose(), height - BOTTOM, height, 64); renderShadow(matrices.pose()); matrices.drawCenteredString(font, getTitle(), width / 2, 9, 0xFFFFFF); - super.render(matrices, mouseX, mouseY, delta); matrices.pose().popPose(); + super.render(matrices, mouseX, mouseY, delta); + int y = (int) (TOP + 4 - Math.round(scrollerAmount)); for (Option option : options) { int height1 = option.height(); @@ -266,12 +266,11 @@ public class CraterConfigScreen extends Screen { } protected void overlayBackground(Matrix4f matrix, int minX, int minY, int maxX, int maxY, int red, int green, int blue, int startAlpha, int endAlpha) { - Tesselator tesselator = Tesselator.getInstance(); BufferBuilder buffer = tesselator.getBuilder(); + RenderSystem.setShader(GameRenderer::getPositionTexColorShader); RenderSystem.setShaderTexture(0, Screen.BACKGROUND_LOCATION); RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f); - RenderSystem.setShader(GameRenderer::getPositionTexColorShader); buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); buffer.vertex(matrix, minX, maxY, 0.0F).uv(minX / 32.0F, maxY / 32.0F).color(red, green, blue, endAlpha).endVertex(); buffer.vertex(matrix, maxX, maxY, 0.0F).uv(maxX / 32.0F, maxY / 32.0F).color(red, green, blue, endAlpha).endVertex(); diff --git a/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/widgets/BaseWidget.java b/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/widgets/BaseWidget.java index 79ef163..0583e61 100644 --- a/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/widgets/BaseWidget.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/widgets/BaseWidget.java @@ -50,7 +50,7 @@ public class BaseWidget extends Option { } else { text.withStyle(ChatFormatting.GRAY); } - matrices.drawString(font, text, x, y, 0xFFFFFF); + matrices.drawString(font, text, x, y + font.lineHeight - 2, 0xFFFFFF); resetButton.setX(x + width - 46); resetButton.setY(y + 1); resetButton.active = isNotDefault(); diff --git a/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/widgets/WrappedEditBox.java b/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/widgets/WrappedEditBox.java index 13c026f..42c0c0c 100644 --- a/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/widgets/WrappedEditBox.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/client/gui/config/widgets/WrappedEditBox.java @@ -21,7 +21,7 @@ public class WrappedEditBox extends EditBox { for (GuiEventListener child : Minecraft.getInstance().screen.children()) { if (child instanceof TextConfigOption option) { WrappedEditBox box = option.widget; - box.setFocused(box == this); + super.setFocused(box == this); } } super.setFocused(bl);