Files
MidnightLib/common/src/main/java/eu/midnightdust/lib/config/MidnightSliderWidget.java
2025-09-26 20:57:23 +02:00

30 lines
1.1 KiB
Java

package eu.midnightdust.lib.config;
import net.minecraft.client.gui.widget.SliderWidget;
import net.minecraft.text.Text;
public class MidnightSliderWidget extends SliderWidget {
private final EntryInfo info;
private final MidnightConfig.Entry e;
public MidnightSliderWidget(int x, int y, int width, int height, Text text, double value, EntryInfo info) {
super(x, y, width, height, text, value);
this.e = info.entry;
this.info = info;
}
@Override
public void updateMessage() {
this.setMessage(Text.of(info.tempValue));
}
@Override
public void applyValue() {
if (info.dataType == int.class) info.setValue(((Number) (e.min() + value * (e.max() - e.min()))).intValue());
else if (info.dataType == double.class)
info.setValue(Math.round((e.min() + value * (e.max() - e.min())) * (double) e.precision()) / (double) e.precision());
else if (info.dataType == float.class)
info.setValue(Math.round((e.min() + value * (e.max() - e.min())) * (float) e.precision()) / (float) e.precision());
}
}