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

CyclopsMC / IntegratedDynamics / 16552051255

27 Jul 2025 01:58PM UTC coverage: 53.206% (+8.0%) from 45.161%
16552051255

push

github

rubensworks
Resolve minor TODOs

2888 of 8740 branches covered (33.04%)

Branch coverage included in aggregate %.

17341 of 29280 relevant lines covered (59.22%)

3.08 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/logicprogrammer/ValueTypeStringLPElement.java
1
package org.cyclops.integrateddynamics.core.logicprogrammer;
2

3
import net.minecraft.client.gui.screens.Screen;
4
import net.minecraft.network.chat.Component;
5
import net.minecraft.world.inventory.AbstractContainerMenu;
6
import org.cyclops.integrateddynamics.api.evaluate.EvaluationException;
7
import org.cyclops.integrateddynamics.api.evaluate.variable.IValue;
8
import org.cyclops.integrateddynamics.api.evaluate.variable.IValueType;
9
import org.cyclops.integrateddynamics.client.gui.container.ContainerScreenLogicProgrammerBase;
10
import org.cyclops.integrateddynamics.core.evaluate.variable.ValueHelpers;
11
import org.cyclops.integrateddynamics.core.evaluate.variable.gui.GuiElementValueTypeString;
12
import org.cyclops.integrateddynamics.core.logicprogrammer.client.ValueTypeStringLPElementClient;
13
import org.cyclops.integrateddynamics.inventory.container.ContainerLogicProgrammerBase;
14

15
import javax.annotation.Nullable;
16

17
/**
18
 * Element for value types that can be read from and written to strings.
19
 * @author rubensworks
20
 */
21
public class ValueTypeStringLPElement extends ValueTypeLPElementBase<ValueTypeStringLPElementClient> {
22

23
    private GuiElementValueTypeString<ContainerScreenLogicProgrammerBase, ContainerLogicProgrammerBase> innerGuiElement;
24

25
    public ValueTypeStringLPElement(IValueType valueType) {
26
        super(valueType);
×
27
        this.innerGuiElement = createInnerGuiElement();
×
28
    }
×
29

30
    @Override
31
    public ValueTypeStringLPElementClient constructClient() {
32
        return new ValueTypeStringLPElementClient(this);
×
33
    }
34

35
    @Nullable
36
    @Override
37
    public <G2 extends Screen, C2 extends AbstractContainerMenu> GuiElementValueTypeString<G2, C2> createInnerGuiElement() {
38
        return new GuiElementValueTypeString<>(getValueType(), getRenderPattern());
×
39
    }
40

41
    @Override
42
    public GuiElementValueTypeString<ContainerScreenLogicProgrammerBase, ContainerLogicProgrammerBase> getInnerGuiElement() {
43
        return innerGuiElement;
×
44
    }
45

46
    @Override
47
    public boolean canWriteElementPre() {
48
        return getInnerGuiElement().getInputString() != null;
×
49
    }
50

51
    @Override
52
    public boolean canCurrentlyReadFromOtherItem() {
53
        return this.getInnerGuiElement().getInputString() == null || this.getInnerGuiElement().getInputString().equals(getInnerGuiElement().getDefaultInputString());
×
54
    }
55

56
    @Override
57
    public void activate() {
58
        getInnerGuiElement().setInputString(getInnerGuiElement().getDefaultInputString());
×
59
    }
×
60

61
    @Override
62
    public void deactivate() {
63
        getInnerGuiElement().setInputString(null);
×
64
    }
×
65

66
    @Override
67
    public Component validate() {
68
        try {
69
            ValueHelpers.parseString(getInnerGuiElement().getValueType(), getInnerGuiElement().getInputString());
×
70
        } catch (EvaluationException e) {
×
71
            return e.getErrorMessage();
×
72
        }
×
73
        return null;
×
74
    }
75

76
    @Override
77
    public IValue getValue() {
78
       return getInnerGuiElement().getValue();
×
79
    }
80

81
}
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