• 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/client/gui/container/ContainerScreenDelay.java
1
package org.cyclops.integrateddynamics.client.gui.container;
2

3
import net.minecraft.client.gui.GuiGraphics;
4
import net.minecraft.nbt.CompoundTag;
5
import net.minecraft.network.chat.Component;
6
import net.minecraft.resources.ResourceLocation;
7
import net.minecraft.util.ARGB;
8
import net.minecraft.world.entity.player.Inventory;
9
import org.cyclops.cyclopscore.client.gui.component.input.WidgetNumberField;
10
import org.cyclops.cyclopscore.helper.IModHelpers;
11
import org.cyclops.cyclopscore.helper.ValueNotifierHelpers;
12
import org.cyclops.integrateddynamics.Reference;
13
import org.cyclops.integrateddynamics.block.BlockDelayConfig;
14
import org.cyclops.integrateddynamics.core.client.gui.ContainerScreenActiveVariableBase;
15
import org.cyclops.integrateddynamics.inventory.container.ContainerDelay;
16

17
/**
18
 * Gui for the delay.
19
 * @author rubensworks
20
 */
21
public class ContainerScreenDelay extends ContainerScreenActiveVariableBase<ContainerDelay> {
22

23
    private static final int ERROR_X = 110;
24
    private static final int ERROR_Y = 26;
25

26
    private WidgetNumberField numberFieldUpdateInterval = null;
×
27
    private WidgetNumberField numberFieldCapacity = null;
×
28

29
    public ContainerScreenDelay(ContainerDelay container, Inventory inventory, Component title) {
30
        super(container, inventory, title);
×
31
    }
×
32

33
    @Override
34
    protected ResourceLocation constructGuiTexture() {
35
        return ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "textures/gui/delay.png");
×
36
    }
37

38
    @Override
39
    protected int getBaseYSize() {
40
        return 227;
×
41
    }
42

43
    @Override
44
    protected int getErrorX() {
45
        return ERROR_X;
×
46
    }
47

48
    @Override
49
    protected int getErrorY() {
50
        return ERROR_Y;
×
51
    }
52

53
    @Override
54
    public void init() {
55
        super.init();
×
56

57
        numberFieldUpdateInterval = new WidgetNumberField(font, leftPos + 98, topPos + 102, 73, 14, true,
×
58
                Component.translatable("gui.integrateddynamics.partsettings.update_interval"), true);
×
59
        numberFieldUpdateInterval.setPositiveOnly(true);
×
60
        numberFieldUpdateInterval.setMaxLength(64);
×
61
        numberFieldUpdateInterval.setMaxLength(15);
×
62
        numberFieldUpdateInterval.setVisible(true);
×
63
        numberFieldUpdateInterval.setTextColor(ARGB.opaque(16777215));
×
64
        numberFieldUpdateInterval.setCanLoseFocus(true);
×
65
        addWidget(numberFieldUpdateInterval);
×
66

67
        numberFieldCapacity = new WidgetNumberField(font, leftPos + 98, topPos + 126, 73, 14, true,
×
68
                Component.translatable("gui.integrateddynamics.delay.capacity"), true);
×
69
        numberFieldCapacity.setMinValue(1);
×
70
        numberFieldCapacity.setMaxValue(BlockDelayConfig.maxHistoryCapacity);
×
71
        numberFieldCapacity.setMaxLength(64);
×
72
        numberFieldCapacity.setMaxLength(15);
×
73
        numberFieldCapacity.setVisible(true);
×
74
        numberFieldCapacity.setTextColor(ARGB.opaque(16777215));
×
75
        numberFieldCapacity.setCanLoseFocus(true);
×
76
        addWidget(numberFieldCapacity);
×
77
    }
×
78

79
    @Override
80
    public boolean charTyped(char typedChar, int keyCode) {
81
        if (!this.numberFieldUpdateInterval.charTyped(typedChar, keyCode)
×
82
                && !this.numberFieldCapacity.charTyped(typedChar, keyCode)) {
×
83
            return super.charTyped(typedChar, keyCode);
×
84
        } else {
85
            onValueChanged();
×
86
        }
87

88
        return true;
×
89
    }
90

91
    @Override
92
    public boolean keyPressed(int typedChar, int keyCode, int modifiers) {
93
        if (!this.numberFieldUpdateInterval.keyPressed(typedChar, keyCode, modifiers)
×
94
                && !this.numberFieldCapacity.keyPressed(typedChar, keyCode, modifiers)) {
×
95
            return super.keyPressed(typedChar, keyCode, modifiers);
×
96
        } else {
97
            onValueChanged();
×
98
        }
99

100
        return true;
×
101
    }
102

103
    protected void onValueChanged() {
104
        int updateInterval = 1;
×
105
        int capacity = 5;
×
106
        try {
107
            updateInterval = numberFieldUpdateInterval.getInt();
×
108
        } catch (NumberFormatException e) {}
×
109
        try {
110
            capacity = numberFieldCapacity.getInt();
×
111
        } catch (NumberFormatException e) {}
×
112
        ValueNotifierHelpers.setValue(getMenu(), getMenu().getLastUpdateValueId(), updateInterval);
×
113
        ValueNotifierHelpers.setValue(getMenu(), getMenu().getLastCapacityValueId(), capacity);
×
114
    }
×
115

116
    @Override
117
    public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) {
118
        boolean clicked = false;
×
119
        if (this.numberFieldUpdateInterval.mouseClicked(mouseX, mouseY, mouseButton)) {
×
120
            onValueChanged();
×
121
            clicked = true;
×
122
        }
123
        if (this.numberFieldCapacity.mouseClicked(mouseX, mouseY, mouseButton)) {
×
124
            onValueChanged();
×
125
            clicked = true;
×
126
        }
127
        return clicked || super.mouseClicked(mouseX, mouseY, mouseButton);
×
128
    }
129

130
    @Override
131
    protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int mouseX, int mouseY) {
132
        super.renderBg(guiGraphics, partialTicks, mouseX, mouseY);
×
133
        numberFieldUpdateInterval.render(guiGraphics, mouseX - leftPos, mouseY - topPos, partialTicks);
×
134
        numberFieldCapacity.render(guiGraphics, mouseX - leftPos, mouseY - topPos, partialTicks);
×
135
        // MCP: drawString
136
        guiGraphics.drawString(font, Component.translatable("gui.integrateddynamics.partsettings.update_interval"), leftPos + 8, topPos + 104, IModHelpers.get().getBaseHelpers().RGBAToInt(0, 0, 0, 255), false);
×
137
        guiGraphics.drawString(font, Component.translatable("gui.integrateddynamics.delay.capacity"), leftPos + 8, topPos + 128, IModHelpers.get().getBaseHelpers().RGBAToInt(0, 0, 0, 255), false);
×
138
    }
×
139

140
    @Override
141
    protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) {
142
        // super.drawGuiContainerForegroundLayer(matrixStack, mouseX, mouseY);
143
        guiGraphics.drawString(font, this.title, this.titleLabelX, this.titleLabelY, ARGB.opaque(4210752), false);
×
144
        displayErrors.drawForeground(guiGraphics, getMenu().getReadErrors(), getErrorX(), getErrorY(), mouseX, mouseY, this, this.leftPos, this.topPos);
×
145
    }
×
146

147
    @Override
148
    public void onUpdate(int valueId, CompoundTag value) {
149
        if (valueId == getMenu().getLastUpdateValueId()) {
×
150
            numberFieldUpdateInterval.setValue(Integer.toString(getMenu().getLastUpdateValue()));
×
151
        }
152
        if (valueId == ((ContainerDelay) getMenu()).getLastCapacityValueId()) {
×
153
            numberFieldCapacity.setValue(Integer.toString(((ContainerDelay) getMenu()).getLastCapacityValue()));
×
154
        }
155
    }
×
156
}
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