From 5961bc8f0ac2759aedc25f153365c773c750abb7 Mon Sep 17 00:00:00 2001 From: ninjaguardian <110734253+ninjaguardian@users.noreply.github.com> Date: Sun, 2 Aug 2026 13:48:03 -0500 Subject: [PATCH] Improve dropdown visibility --- .../gui/controllers/dropdown/DropdownWidget.java | 13 +++---------- .../dev/isxander/yacl3/platform/YACLConfig.java | 8 ++++++++ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java b/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java index a84250cb..889e3835 100644 --- a/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java +++ b/src/main/java/dev/isxander/yacl3/gui/controllers/dropdown/DropdownWidget.java @@ -6,6 +6,7 @@ import dev.isxander.yacl3.gui.YACLScreen; import dev.isxander.yacl3.gui.controllers.ControllerPopupWidget; import dev.isxander.yacl3.gui.utils.GuiUtils; +import dev.isxander.yacl3.platform.YACLConfig; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; @@ -60,22 +61,14 @@ public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { // Background //graphics.setColor(0.25f, 0.25f, 0.25f, 1.0f); - GuiUtils.blitGuiTexColor( - graphics, - Screen.MENU_BACKGROUND, - dropdownDim.x(), dropdownDim.y(), - 0.0f, 0.0f, - dropdownDim.width(), dropdownDim.height(), - 32, 32, - 0xFF3F3F3F - ); + graphics.fill(dropdownDim.x(), dropdownDim.y(), dropdownDim.xLimit(), dropdownDim.yLimit(), YACLConfig.HANDLER.instance().dropdownColor.getRGB()); //graphics.setColor(1.0f, 1.0f, 1.0f, 1.0f); graphics./*? if >=1.21.9 && <1.21.11 {*//*submitOutline*//*?} else {*/renderOutline/*?}*/(dropdownDim.x(), dropdownDim.y(), dropdownDim.width(), dropdownDim.height(), -1); // Highlight the currently selected element //graphics.setColor(0.0f, 0.0f, 0.0f, 0.5f); int y = dropdownDim.y() + 2 + entryHeight() * selectedVisibleIndex(); - graphics.fill(dropdownDim.x(), y, dropdownDim.xLimit(), y + entryHeight(), 0x7F000000); + graphics.fill(dropdownDim.x(), y, dropdownDim.xLimit(), y + entryHeight(), YACLConfig.HANDLER.instance().dropdownSelectionColor.getRGB()); //graphics.setColor(1.0f, 1.0f, 1.0f, 1.0f); graphics./*? if >=1.21.9 && <1.21.11 {*//*submitOutline*//*?} else {*/renderOutline/*?}*/(dropdownDim.x(), y, dropdownDim.width(), entryHeight(), -1); diff --git a/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java b/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java index 8d790042..024f9ad8 100644 --- a/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java +++ b/src/main/java/dev/isxander/yacl3/platform/YACLConfig.java @@ -4,6 +4,8 @@ import dev.isxander.yacl3.config.v2.api.SerialEntry; import dev.isxander.yacl3.config.v2.api.serializer.GsonConfigSerializerBuilder; +import java.awt.Color; + public class YACLConfig { public static final ConfigClassHandler HANDLER = ConfigClassHandler.createBuilder(YACLConfig.class) .id(YACLPlatform.rl("config")) @@ -18,4 +20,10 @@ public class YACLConfig { @SerialEntry(comment = "Load .webp and .gif during Minecraft resource reload instead of on-demand (can decrease startup time)") public boolean preloadComplexImageFormats = false; + + @SerialEntry(comment = "The color (and opacity) of dropdown menus") + public Color dropdownColor = new Color(20, 20, 20, 90); + + @SerialEntry(comment = "The color (and opacity) of the selected item in dropdown menus") + public Color dropdownSelectionColor = new Color(0, 0, 0, 160); }