• 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/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.client.input.CharacterEvent;
7
import net.minecraft.network.chat.Component;
8
import net.minecraft.util.ARGB;
9
import net.minecraft.world.entity.player.Inventory;
10
import net.neoforged.neoforge.client.settings.KeyConflictContext;
11
import net.neoforged.neoforge.client.settings.KeyModifier;
12
import org.cyclops.cyclopscore.client.gui.component.button.ButtonText;
13
import org.cyclops.cyclopscore.helper.IModHelpers;
14
import org.cyclops.integrateddynamics.core.client.gui.container.ContainerScreenMultipart;
15
import org.cyclops.integrateddynamics.core.part.panel.PartTypePanelVariableDriven;
16
import org.cyclops.integrateddynamics.inventory.container.ContainerPartPanelVariableDriven;
17
import org.lwjgl.glfw.GLFW;
18

19

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

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

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

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

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

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

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

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

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

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

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

79
    @Override
80
    public boolean charTyped(CharacterEvent evt) {
81
        if (GLFW.GLFW_KEY_C == evt.codepoint() && KeyModifier.CONTROL.isActive(KeyConflictContext.GUI)) {
×
82
            valueToClipboard();
×
83
            return true;
×
84
        }
85
        return super.charTyped(evt);
×
86
    }
87

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

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

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