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

3
import com.google.common.collect.Lists;
4
import net.minecraft.client.gui.Font;
5
import net.minecraft.client.gui.GuiGraphics;
6
import net.minecraft.network.chat.Component;
7
import net.minecraft.util.ARGB;
8
import net.minecraft.world.entity.player.Inventory;
9
import net.neoforged.neoforge.client.settings.KeyConflictContext;
10
import net.neoforged.neoforge.client.settings.KeyModifier;
11
import org.cyclops.cyclopscore.client.gui.component.button.ButtonText;
12
import org.cyclops.cyclopscore.helper.IModHelpers;
13
import org.cyclops.integrateddynamics.core.client.gui.container.ContainerScreenMultipart;
14
import org.cyclops.integrateddynamics.core.part.panel.PartTypePanelVariableDriven;
15
import org.cyclops.integrateddynamics.inventory.container.ContainerPartPanelVariableDriven;
16
import org.lwjgl.glfw.GLFW;
17

18

19
/**
20
 * Gui for a writer part.
21
 * @author rubensworks
22
 */
23
public class ContainerScreenPartDisplay<P extends PartTypePanelVariableDriven<P, S>, S extends PartTypePanelVariableDriven.State<P, S>>
24
        extends ContainerScreenMultipart<P, S, ContainerPartPanelVariableDriven<P, S>> {
25

26
    private static final int ERROR_X = 104;
27
    private static final int ERROR_Y = 16;
28
    private static final int OK_X = 104;
29
    private static final int OK_Y = 16;
30

31
    public ContainerScreenPartDisplay(ContainerPartPanelVariableDriven<P, S> container, Inventory inventory, Component title) {
32
        super(container, inventory, title);
×
33
    }
×
34

35
    @Override
36
    public void init() {
37
        super.init();
×
38

39
        addRenderableWidget(new ButtonText(getGuiLeftTotal() + 128, getGuiTopTotal() + 32, 30, 12,
×
40
                Component.translatable("gui.integrateddynamics.button.copy"),
×
41
                Component.translatable("gui.integrateddynamics.button.copy"),
×
42
                (button) -> valueToClipboard(), true));
×
43
    }
×
44

45
    @Override
46
    protected String getNameId() {
47
        return "part_display";
×
48
    }
49

50
    @Override
51
    protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int mouseX, int mouseY) {
52
        super.renderBg(guiGraphics, partialTicks, mouseX, mouseY);
×
53

54
        Component readValue = getMenu().getReadValue();
×
55
        int readValueColor = getMenu().getReadValueColor();
×
56
        boolean ok = false;
×
57
        if(readValue != null) {
×
58
            ok = true;
×
59
            IModHelpers.get().getRenderHelpers().drawScaledCenteredString(guiGraphics, font, readValue.getString(),
×
60
                    getGuiLeftTotal() + 53, getGuiTopTotal() + 38, 70, ARGB.opaque(readValueColor), false, Font.DisplayMode.NORMAL);
×
61
        }
62

63
        displayErrors.drawBackground(guiGraphics, getMenu().getReadErrors(), ERROR_X, ERROR_Y, OK_X, OK_Y, this,
×
64
                this.leftPos, this.topPos, ok);
65
    }
×
66

67
    @Override
68
    protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) {
69
        super.renderLabels(guiGraphics, mouseX, mouseY);
×
70
        // Render error tooltip
71
        displayErrors.drawForeground(guiGraphics, getMenu().getReadErrors(), ERROR_X, ERROR_Y, mouseX, mouseY, this, this.leftPos, this.topPos);
×
72

73
        // Draw tooltip over copy button
74
        IModHelpers.get().getGuiHelpers().renderTooltip(this, guiGraphics, 128, 32, 30, 12, mouseX, mouseY,
×
75
                () -> Lists.newArrayList(Component.translatable("gui.integrateddynamics.button.copy.info")));
×
76
    }
×
77

78
    @Override
79
    public boolean charTyped(char typedChar, int keyCode) {
80
        if (GLFW.GLFW_KEY_C == keyCode && KeyModifier.CONTROL.isActive(KeyConflictContext.GUI)) {
×
81
            valueToClipboard();
×
82
            return true;
×
83
        }
84
        return super.charTyped(typedChar, keyCode);
×
85
    }
86

87
    @Override
88
    protected int getBaseXSize() {
89
        return 176;
×
90
    }
91

92
    @Override
93
    protected int getBaseYSize() {
94
        return 128;
×
95
    }
96

97
    protected void valueToClipboard() {
98
        Component readValue = getMenu().getReadValue();
×
99
        if (readValue != null) {
×
100
            getMinecraft().keyboardHandler.setClipboard(readValue.getString());
×
101
        }
102
    }
×
103
}
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