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

3
import net.minecraft.client.gui.Font;
4
import net.minecraft.client.gui.GuiGraphics;
5
import net.minecraft.network.chat.Component;
6
import net.minecraft.util.ARGB;
7
import net.minecraft.world.entity.player.Inventory;
8
import net.minecraft.world.item.ItemStack;
9
import org.cyclops.cyclopscore.helper.IModHelpers;
10
import org.cyclops.integrateddynamics.RegistryEntries;
11
import org.cyclops.integrateddynamics.api.part.aspect.IAspectWrite;
12
import org.cyclops.integrateddynamics.api.part.write.IPartStateWriter;
13
import org.cyclops.integrateddynamics.api.part.write.IPartTypeWriter;
14
import org.cyclops.integrateddynamics.core.client.gui.container.ContainerScreenMultipartAspects;
15
import org.cyclops.integrateddynamics.inventory.container.ContainerPartWriter;
16

17
import java.awt.*;
18

19

20
/**
21
 * Gui for a writer part.
22
 * @author rubensworks
23
 */
24
public class ContainerScreenPartWriter<P extends IPartTypeWriter<P, S>, S extends IPartStateWriter<P>>
25
        extends ContainerScreenMultipartAspects<P, S, IAspectWrite<?, ?>, ContainerPartWriter<P, S>> {
26

27
    private static final int ERROR_X = 152;
28
    private static final int ERROR_Y = 20;
29
    private static final int OK_X = 152;
30
    private static final int OK_Y = 20;
31

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

36
    @Override
37
    protected String getNameId() {
38
        return "part_writer";
×
39
    }
40

41
    @Override
42
    protected void drawAdditionalElementInfoForeground(GuiGraphics guiGraphics, ContainerPartWriter<P, S> container, int index, IAspectWrite<?, ?> aspect, int mouseX, int mouseY) {
43
        // Render error tooltip
44
        if(getMenu().isPartStateEnabled()) {
×
45
            displayErrors.drawForeground(guiGraphics, getMenu().getAspectErrors(aspect), ERROR_X, ERROR_Y + container.getAspectBoxHeight() * index, mouseX, mouseY, this, this.leftPos, this.topPos);
×
46
        }
47
    }
×
48

49
    @Override
50
    protected void drawAdditionalElementInfo(GuiGraphics guiGraphics, ContainerPartWriter<P, S> container, int index, IAspectWrite<?, ?> aspect) {
51
        int aspectBoxHeight = container.getAspectBoxHeight();
×
52

53
        // Render dummy target item
54
        // This could be cached if this would prove to be a bottleneck
55
        ItemStack itemStack = container.writeAspectInfo(false, new ItemStack(RegistryEntries.ITEM_VARIABLE), container.getPlayerIInventory().player.level(), aspect);
×
56
        Rectangle pos = getElementPosition(container, index, true);
×
57
        guiGraphics.renderItem(itemStack, pos.x, pos.y);
×
58

59
        // Render error symbol
60
        if(getMenu().isPartStateEnabled()) {
×
61
            displayErrors.drawBackground(guiGraphics, getMenu().getAspectErrors(aspect), ERROR_X, ERROR_Y + aspectBoxHeight * index, OK_X, OK_Y + aspectBoxHeight * index, this,
×
62
                    this.leftPos, this.topPos, getMenu().getPartStateActiveAspect() == aspect);
×
63
        }
64
    }
×
65

66
    @Override
67
    protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int mouseX, int mouseY) {
68
        super.renderBg(guiGraphics, partialTicks, mouseX, mouseY);
×
69
        ContainerPartWriter<?, ?> container = getMenu();
×
70
        IModHelpers.get().getRenderHelpers().drawScaledCenteredString(guiGraphics, font, container.getWriteValue().getString(), this.leftPos + offsetX + 53,
×
71
                this.topPos + offsetY + 132, 70, ARGB.opaque(container.getWriteValueColor()), false, Font.DisplayMode.NORMAL);
×
72
    }
×
73

74
    @Override
75
    protected int getBaseXSize() {
76
        return 195;
×
77
    }
78

79
    @Override
80
    protected int getBaseYSize() {
81
        return 222;
×
82
    }
83

84
    @Override
85
    public int getMaxLabelWidth() {
86
        return 85;
×
87
    }
88
}
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