mirror of
https://github.com/JonasunderscoreJones/nicer-skies.git
synced 2025-10-22 19:29:18 +02:00
new custom tooltipped gui widgets
This commit is contained in:
parent
296315aa2a
commit
ddfd0fc554
2 changed files with 58 additions and 0 deletions
|
@ -0,0 +1,25 @@
|
|||
package codes.ztereohype.nicerskies.gui.widget;
|
||||
|
||||
import net.minecraft.client.gui.components.Checkbox;
|
||||
import net.minecraft.client.gui.components.Tooltip;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
|
||||
public class TooltippedCheckbox extends Checkbox {
|
||||
private final Consumer<Boolean> onPress;
|
||||
|
||||
public TooltippedCheckbox(int i, int j, int k, int l, Component component, boolean bl, Consumer<Boolean> onPress, Tooltip tooltip) {
|
||||
super(i, j, k, l, component, bl);
|
||||
|
||||
this.onPress = onPress;
|
||||
this.setTooltip(tooltip);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPress() {
|
||||
super.onPress();
|
||||
onPress.accept(this.selected());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package codes.ztereohype.nicerskies.gui.widget;
|
||||
|
||||
import net.minecraft.client.gui.components.AbstractSliderButton;
|
||||
import net.minecraft.client.gui.components.Tooltip;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
|
||||
public class TooltippedSliderButton extends AbstractSliderButton {
|
||||
private final Function<Double, Component> sliderMoved;
|
||||
private final Consumer<Double> sliderReleased;
|
||||
|
||||
public TooltippedSliderButton(int x, int y, int width, int height, Component text, double value, Function<Double, Component> sliderMoved, Consumer<Double> sliderReleased, Tooltip tooltip) {
|
||||
super(x, y, width, height, text, value);
|
||||
|
||||
this.sliderMoved = sliderMoved;
|
||||
this.sliderReleased = sliderReleased;
|
||||
this.setTooltip(tooltip);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateMessage() {
|
||||
this.setMessage(sliderMoved.apply(Double.valueOf(value)));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyValue() {
|
||||
sliderReleased.accept(Double.valueOf(value));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue