package com.arslaancodes.arslaansmagichax.screens.clickgui.setting; import com.arslaancodes.arslaansmagichax.modules.settings.BooleanSetting; import com.arslaancodes.arslaansmagichax.modules.settings.Setting; import com.arslaancodes.arslaansmagichax.screens.clickgui.ModuleButton; import java.awt.*; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; public class CheckBox extends Component { private BooleanSetting booleanSetting = (BooleanSetting) setting; public CheckBox(Setting setting, ModuleButton parent, int offset) { super(setting, parent, offset); this.booleanSetting = (BooleanSetting) setting; } @Override public void render(GuiGraphics context, int mouseX, int mouseY, float deltaTicks) { String displayText = booleanSetting.getName() + ": " + booleanSetting.isEnabled(); int textWidth = mc.font.width(displayText); int padding = 5; int boxWidth = Math.max(parent.parent.width, textWidth + (padding * 2)); int alpha = isHovered(mouseX, mouseY) ? 230 : 160; context.fill( parent.parent.x, parent.parent.y + parent.offset + offset, parent.parent.x + boxWidth, parent.parent.y + parent.offset + offset + parent.parent.height, new Color(30, 30, 47, alpha).getRGB() ); context.drawString( mc.font, Component.literal(displayText), parent.parent.x + padding, parent.parent.y + parent.offset + offset + (parent.parent.height - mc.font.lineHeight) / 2, Color.white.getRGB() ); } @Override public void mouseClicked(double mouseX, double mouseY, int button) { if (isHovered(mouseX, mouseY) && button == 0) { booleanSetting.toggle(); } } }