package io.gitlab.jfronny.libjf.config.impl.gui; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.widget.ClickableWidget; import net.minecraft.client.gui.widget.ElementListWidget; import net.minecraft.text.Text; import java.util.Optional; @Environment(EnvType.CLIENT) public class MidnightConfigListWidget extends ElementListWidget { TextRenderer textRenderer; public MidnightConfigListWidget(MinecraftClient minecraftClient, int i, int j, int k, int l, int m) { super(minecraftClient, i, j, k, l, m); this.centerListVertically = false; textRenderer = minecraftClient.textRenderer; } @Override public int getScrollbarPositionX() { return this.width -7; } public void addButton(ClickableWidget button, ClickableWidget resetButton, Text text) { this.addEntry(ConfigScreenEntry.create(button, text, resetButton)); } @Override public int getRowWidth() { return 10000; } public Optional getHoveredButton(double mouseY) { for (ConfigScreenEntry buttonEntry : this.children()) { for (ClickableWidget button : buttonEntry.buttons) { if (button.visible && mouseY >= button.y && mouseY < button.y + itemHeight) { return Optional.of(button); } } } return Optional.empty(); } }