• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CyclopsMC / IntegratedDynamics / 15366166327

31 May 2025 05:58PM UTC coverage: 44.766% (-0.5%) from 45.303%
15366166327

push

github

rubensworks
Bump mod version

2565 of 8515 branches covered (30.12%)

Branch coverage included in aggregate %.

11734 of 23427 relevant lines covered (50.09%)

2.38 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/org/cyclops/integrateddynamics/core/evaluate/variable/gui/GuiElementValueTypeBoolean.java
1
package org.cyclops.integrateddynamics.core.evaluate.variable.gui;
2

3
import com.google.common.base.Predicates;
4
import lombok.Data;
5
import net.minecraft.client.gui.screens.Screen;
6
import net.minecraft.network.chat.Component;
7
import net.minecraft.world.inventory.AbstractContainerMenu;
8
import net.neoforged.api.distmarker.Dist;
9
import net.neoforged.api.distmarker.OnlyIn;
10
import org.cyclops.cyclopscore.helper.L10NHelpers;
11
import org.cyclops.integrateddynamics.api.client.gui.subgui.IGuiInputElementValueType;
12
import org.cyclops.integrateddynamics.api.evaluate.variable.IValue;
13
import org.cyclops.integrateddynamics.api.logicprogrammer.IConfigRenderPattern;
14
import org.cyclops.integrateddynamics.core.evaluate.variable.ValueTypeBoolean;
15
import org.cyclops.integrateddynamics.core.helper.L10NValues;
16

17
import java.util.List;
18
import java.util.function.Predicate;
19

20
/**
21
 * GUI element for boolean value types that can be read from and written to checkboxes.
22
 * @author rubensworks
23
 */
24
@Data
×
25
public class GuiElementValueTypeBoolean<G extends Screen, C extends AbstractContainerMenu> implements IGuiInputElementValueType<GuiElementValueTypeBooleanRenderPattern, G, C> {
26

27
    private final ValueTypeBoolean valueType;
×
28
    private Predicate<IValue> validator;
×
29
    private final IConfigRenderPattern renderPattern;
30
    private final boolean defaultInputBoolean;
31
    private boolean inputBoolean;
32

33
    public GuiElementValueTypeBoolean(ValueTypeBoolean valueType, IConfigRenderPattern renderPattern) {
×
34
        this.valueType = valueType;
×
35
        this.validator = Predicates.alwaysTrue();
×
36
        this.renderPattern = renderPattern;
×
37
        defaultInputBoolean = valueType.getDefault().getRawValue();
×
38
    }
×
39

40
    public boolean getDefaultInputBoolean() {
41
        return this.inputBoolean;
×
42
    }
43

44
    public boolean getInputBoolean() {
45
        return this.inputBoolean;
×
46
    }
47

48
    @Override
49
    public void setValue(IValue value) {
50
        setInputBoolean(((ValueTypeBoolean.ValueBoolean) value).getRawValue());
×
51
    }
×
52

53
    @Override
54
    public void setValueInGui(GuiElementValueTypeBooleanRenderPattern subGui, boolean sendToServer) {
55
        if(subGui != null) {
×
56
            subGui.getCheckbox().setChecked(inputBoolean);
×
57
            if (sendToServer) {
×
58
                subGui.sendValueToServer();
×
59
            }
60
        }
61
    }
×
62

63
    public void setInputBoolean(boolean inputBoolean) {
64
        this.inputBoolean = inputBoolean;
×
65
    }
×
66

67
    @Override
68
    public void setValidator(Predicate<IValue> validator) {
69
        this.validator = validator;
×
70
    }
×
71

72
    @Override
73
    public IValue getValue() {
74
        return ValueTypeBoolean.ValueBoolean.of(getInputBoolean());
×
75
    }
76

77
    @Override
78
    public Component getName() {
79
        return Component.translatable(getValueType().getTranslationKey());
×
80
    }
81

82
    @Override
83
    public void loadTooltip(List<Component> lines) {
84
        getValueType().loadTooltip(lines, true, null);
×
85
    }
×
86

87
    @Override
88
    public IConfigRenderPattern getRenderPattern() {
89
        return renderPattern;
×
90
    }
91

92
    @Override
93
    public void activate() {
94
        this.inputBoolean = defaultInputBoolean;
×
95
    }
×
96

97
    @Override
98
    public void deactivate() {
99
        // Do nothing
100
    }
×
101

102
    @Override
103
    public Component validate() {
104
        if (!this.validator.test(ValueTypeBoolean.ValueBoolean.of(inputBoolean))) {
×
105
            return Component.translatable(L10NValues.VALUE_ERROR);
×
106
        }
107
        return null;
×
108
    }
109

110
    @Override
111
    public int getColor() {
112
        return getValueType().getDisplayColor();
×
113
    }
114

115
    @Override
116
    public String getSymbol() {
117
        return L10NHelpers.localize(getValueType().getTranslationKey());
×
118
    }
119

120
    @Override
121
    @OnlyIn(Dist.CLIENT)
122
    public GuiElementValueTypeBooleanRenderPattern<?, G, C> createSubGui(int baseX, int baseY,
123
                                                                        int maxWidth, int maxHeight, G gui, C container) {
124
        return new GuiElementValueTypeBooleanRenderPattern<>(this, baseX, baseY, maxWidth, maxHeight, gui, container);
×
125
    }
126

127
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc