-
Notifications
You must be signed in to change notification settings - Fork 214
Expand file tree
/
Copy pathTemplateBarBuilder.java
More file actions
41 lines (31 loc) · 1.15 KB
/
TemplateBarBuilder.java
File metadata and controls
41 lines (31 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package gregtech.api.metatileentity.multiblock.ui;
import com.cleanroommc.modularui.api.value.IDoubleValue;
import com.cleanroommc.modularui.drawable.UITexture;
import com.cleanroommc.modularui.screen.RichTooltip;
import com.cleanroommc.modularui.value.DoubleValue;
import com.cleanroommc.modularui.widgets.ProgressWidget;
import java.util.function.Consumer;
import java.util.function.DoubleSupplier;
public final class TemplateBarBuilder {
ProgressWidget widget = new ProgressWidget();
TemplateBarBuilder() {}
public TemplateBarBuilder progress(DoubleSupplier supplier) {
return value(new DoubleValue.Dynamic(supplier, d -> {}));
}
public TemplateBarBuilder value(IDoubleValue<?> value) {
this.widget.value(value);
return this;
}
public TemplateBarBuilder texture(UITexture texture) {
this.widget.texture(texture, -1);
return this;
}
public TemplateBarBuilder tooltipBuilder(Consumer<RichTooltip> consumer) {
this.widget.tooltipAutoUpdate(true);
this.widget.tooltipBuilder(consumer);
return this;
}
ProgressWidget build() {
return this.widget;
}
}