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

CyclopsMC / IntegratedDynamics / 20210191346

14 Dec 2025 03:32PM UTC coverage: 19.514% (-33.5%) from 53.061%
20210191346

push

github

rubensworks
Remove deprecations

663 of 8728 branches covered (7.6%)

Branch coverage included in aggregate %.

6786 of 29445 relevant lines covered (23.05%)

1.09 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.client.input.CharacterEvent;
5
import net.minecraft.client.input.KeyEvent;
6
import net.minecraft.client.input.MouseButtonEvent;
7
import net.minecraft.nbt.CompoundTag;
8
import net.minecraft.network.chat.Component;
9
import net.minecraft.resources.ResourceLocation;
10
import net.minecraft.util.ARGB;
11
import net.minecraft.world.entity.player.Inventory;
12
import org.cyclops.cyclopscore.client.gui.component.input.WidgetNumberField;
13
import org.cyclops.cyclopscore.helper.IModHelpers;
14
import org.cyclops.cyclopscore.helper.ValueNotifierHelpers;
15
import org.cyclops.integrateddynamics.Reference;
16
import org.cyclops.integrateddynamics.block.BlockDelayConfig;
17
import org.cyclops.integrateddynamics.core.client.gui.ContainerScreenActiveVariableBase;
18
import org.cyclops.integrateddynamics.inventory.container.ContainerDelay;
19

20
/**
21
 * Gui for the delay.
22
 * @author rubensworks
23
 */
24
public class ContainerScreenDelay extends ContainerScreenActiveVariableBase<ContainerDelay> {
25

26
    private static final int ERROR_X = 110;
27
    private static final int ERROR_Y = 26;
28

29
    private WidgetNumberField numberFieldUpdateInterval = null;
×
30
    private WidgetNumberField numberFieldCapacity = null;
×
31

32
    public ContainerScreenDelay(ContainerDelay container, Inventory inventory, Component title) {
33
        super(container, inventory, title);
×
34
    }
×
35

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

41
    @Override
42
    protected int getBaseYSize() {
43
        return 227;
×
44
    }
45

46
    @Override
47
    protected int getErrorX() {
48
        return ERROR_X;
×
49
    }
50

51
    @Override
52
    protected int getErrorY() {
53
        return ERROR_Y;
×
54
    }
55

56
    @Override
57
    public void init() {
58
        super.init();
×
59

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

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

82
    @Override
83
    public boolean charTyped(CharacterEvent evt) {
84
        if (!this.numberFieldUpdateInterval.charTyped(evt)
×
85
                && !this.numberFieldCapacity.charTyped(evt)) {
×
86
            return super.charTyped(evt);
×
87
        } else {
88
            onValueChanged();
×
89
        }
90

91
        return true;
×
92
    }
93

94
    @Override
95
    public boolean keyPressed(KeyEvent evt) {
96
        if (!this.numberFieldUpdateInterval.keyPressed(evt)
×
97
                && !this.numberFieldCapacity.keyPressed(evt)) {
×
98
            return super.keyPressed(evt);
×
99
        } else {
100
            onValueChanged();
×
101
        }
102

103
        return true;
×
104
    }
105

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

119
    @Override
120
    public boolean mouseClicked(MouseButtonEvent evt, boolean isDoubleClick) {
121
        boolean clicked = false;
×
122
        if (this.numberFieldUpdateInterval.mouseClicked(evt, isDoubleClick)) {
×
123
            onValueChanged();
×
124
            clicked = true;
×
125
        }
126
        if (this.numberFieldCapacity.mouseClicked(evt, isDoubleClick)) {
×
127
            onValueChanged();
×
128
            clicked = true;
×
129
        }
130
        return clicked || super.mouseClicked(evt, isDoubleClick);
×
131
    }
132

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

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

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