41 lines
1.5 KiB
Java
41 lines
1.5 KiB
Java
package io.gitlab.jfronny.libjf.config.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<ButtonEntry> {
|
|
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(ButtonEntry.create(button, text, resetButton));
|
|
}
|
|
@Override
|
|
public int getRowWidth() { return 10000; }
|
|
public Optional<ClickableWidget> getHoveredButton(double mouseX, double mouseY) {
|
|
for (ButtonEntry buttonEntry : this.children()) {
|
|
for (ClickableWidget abstractButtonWidget : buttonEntry.buttons) {
|
|
if (abstractButtonWidget.isMouseOver(mouseX, mouseY)) {
|
|
return Optional.of(abstractButtonWidget);
|
|
}
|
|
}
|
|
}
|
|
return Optional.empty();
|
|
}
|
|
}
|