diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java index 4b3c18c9..796fb395 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/DelegatingElement.java @@ -3,6 +3,9 @@ package eu.crushedpixel.replaymod.gui.elements; import net.minecraft.client.Minecraft; public abstract class DelegatingElement implements GuiElement { + + protected boolean enabled = true; + public static DelegatingElement of(final GuiElement element) { return new DelegatingElement() { @Override @@ -55,5 +58,7 @@ public abstract class DelegatingElement implements GuiElement { } @Override - public void setEnabled(boolean enabled) {} + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } } diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java index 54ed3d96..55626266 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiAdvancedTextField.java @@ -11,7 +11,7 @@ public class GuiAdvancedTextField extends GuiTextField implements GuiElement { public String hint; public int hintTextColor = Color.DARK_GRAY.getRGB(); - private boolean isEnabled = true; + protected boolean isEnabled = true; private int disabledTextColor; public GuiAdvancedTextField(FontRenderer fontRenderer, int x, int y, int width, int height) { diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java index 227f063c..5701029d 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDraggingNumberInput.java @@ -24,7 +24,7 @@ public class GuiDraggingNumberInput extends GuiNumberInputWithText { @Override public void mouseClick(Minecraft mc, int mouseX, int mouseY, int button) { - if(MouseUtils.isMouseWithinBounds(xPosition, yPosition, width, height)) { + if(MouseUtils.isMouseWithinBounds(xPosition, yPosition, width, height) && isEnabled) { dragging = false; clicked = true; prevMouseX = mouseX; diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java index 46d33cff..9bb44ea5 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java @@ -5,7 +5,6 @@ import eu.crushedpixel.replaymod.gui.elements.listeners.SelectionListener; import eu.crushedpixel.replaymod.utils.MouseUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.GuiTextField; import org.lwjgl.input.Mouse; import org.lwjgl.util.Point; @@ -140,6 +139,7 @@ public class GuiDropdown extends GuiAdvancedTextField { public boolean mouseClickedResult(int xPos, int yPos) { boolean success = false; + if(!isEnabled) return success; if(xPos > xPosition + width - height && xPos < xPosition + width && yPos > yPosition && yPos < yPosition + height) { open = !open; } else { diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java index 3e9beac9..293fd7de 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiTexturedButton.java @@ -5,6 +5,8 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.util.ResourceLocation; +import java.awt.*; + public class GuiTexturedButton extends GuiAdvancedButton implements GuiElement { private final ResourceLocation texture; private final int u, v; @@ -23,11 +25,16 @@ public class GuiTexturedButton extends GuiAdvancedButton implements GuiElement { @Override public void drawButton(Minecraft mc, int mouseX, int mouseY) { if (visible) { - hovered = isHovering(mouseX, mouseY); + hovered = isHovering(mouseX, mouseY) && enabled; + + if(!enabled) { + GlStateManager.color(Color.GRAY.getRed() / 255f, Color.GRAY.getGreen() / 255f, Color.GRAY.getBlue() / 255f, 1f); + } else { + GlStateManager.color(1f, 1f, 1f); + } mc.renderEngine.bindTexture(texture); - GlStateManager.color(1, 1, 1); int u = this.u + (hovered ? width : 0); Gui.drawModalRectWithCustomSizedTexture(xPosition, yPosition, u, v, width, height, textureWidth, textureHeight); }