LibJF/libjf-config-v0/src/main/java/io/gitlab/jfronny/libjf/config/impl/gui/MidnightConfigListWidget.java

41 lines
1.5 KiB
Java
Raw Normal View History

2021-10-06 19:01:48 +02:00
package io.gitlab.jfronny.libjf.config.impl.gui;
2021-05-15 15:34:19 +02:00
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
2021-05-29 10:37:13 +02:00
import net.minecraft.client.gui.widget.ClickableWidget;
2021-05-15 15:34:19 +02:00
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; }
2021-05-29 10:37:13 +02:00
public void addButton(ClickableWidget button, ClickableWidget resetButton, Text text) {
2021-05-15 15:34:19 +02:00
this.addEntry(ButtonEntry.create(button, text, resetButton));
}
@Override
public int getRowWidth() { return 10000; }
2021-05-29 10:37:13 +02:00
public Optional<ClickableWidget> getHoveredButton(double mouseX, double mouseY) {
2021-05-15 15:34:19 +02:00
for (ButtonEntry buttonEntry : this.children()) {
2021-05-29 10:37:13 +02:00
for (ClickableWidget abstractButtonWidget : buttonEntry.buttons) {
2021-05-15 15:34:19 +02:00
if (abstractButtonWidget.isMouseOver(mouseX, mouseY)) {
return Optional.of(abstractButtonWidget);
}
}
}
return Optional.empty();
}
}