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

CyclopsMC / IntegratedDynamics / 15795243552

21 Jun 2025 11:28AM UTC coverage: 44.877% (-0.02%) from 44.895%
15795243552

push

github

rubensworks
Bump mod version

2573 of 8520 branches covered (30.2%)

Branch coverage included in aggregate %.

11766 of 23432 relevant lines covered (50.21%)

2.38 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/org/cyclops/integrateddynamics/inventory/container/ContainerLabeller.java
1
package org.cyclops.integrateddynamics.inventory.container;
2

3
import net.minecraft.core.component.DataComponents;
4
import net.minecraft.network.FriendlyByteBuf;
5
import net.minecraft.network.chat.Component;
6
import net.minecraft.world.entity.player.Inventory;
7
import net.minecraft.world.entity.player.Player;
8
import net.minecraft.world.item.ItemStack;
9
import net.neoforged.api.distmarker.Dist;
10
import net.neoforged.api.distmarker.OnlyIn;
11
import org.apache.commons.lang3.StringUtils;
12
import org.cyclops.cyclopscore.inventory.ItemLocation;
13
import org.cyclops.cyclopscore.inventory.SimpleInventory;
14
import org.cyclops.cyclopscore.inventory.container.ItemInventoryContainer;
15
import org.cyclops.cyclopscore.inventory.slot.SlotExtended;
16
import org.cyclops.integrateddynamics.IntegratedDynamics;
17
import org.cyclops.integrateddynamics.RegistryEntries;
18
import org.cyclops.integrateddynamics.api.evaluate.variable.ValueDeseralizationContext;
19
import org.cyclops.integrateddynamics.api.item.IVariableFacade;
20
import org.cyclops.integrateddynamics.api.item.IVariableFacadeHandlerRegistry;
21
import org.cyclops.integrateddynamics.client.gui.container.ContainerScreenLabeller;
22
import org.cyclops.integrateddynamics.core.helper.Helpers;
23
import org.cyclops.integrateddynamics.core.persist.world.LabelsWorldStorage;
24
import org.cyclops.integrateddynamics.item.ItemLabeller;
25

26
/**
27
 * Container for the labeller.
28
 * @author rubensworks
29
 */
30
public class ContainerLabeller extends ItemInventoryContainer<ItemLabeller> {
31

32
    private SimpleInventory temporaryInputSlots = null;
×
33

34
    @OnlyIn(Dist.CLIENT)
35
    private ContainerScreenLabeller gui;
36

37
    public ContainerLabeller(int id, Inventory inventory, FriendlyByteBuf packetBuffer) {
38
        this(id, inventory, ItemLocation.readFromPacketBuffer(packetBuffer));
×
39
    }
×
40

41
    public ContainerLabeller(int id, Inventory inventory, ItemLocation itemLocation) {
42
        super(RegistryEntries.CONTAINER_LABELLER.get(), id, inventory, itemLocation);
×
43
        this.temporaryInputSlots = new SimpleInventory(1, 1);
×
44
        addSlot(new SlotExtended(temporaryInputSlots, 0, 8, 8));
×
45
        this.addPlayerInventory(player.getInventory(), 8, 31);
×
46

47
        if(inventory.player.level().isClientSide()) {
×
48
            temporaryInputSlots.addDirtyMarkListener(() -> {
×
49
                ItemStack itemStack = temporaryInputSlots.getItem(0);
×
50
                IVariableFacadeHandlerRegistry registry = IntegratedDynamics._instance.getRegistryManager().getRegistry(IVariableFacadeHandlerRegistry.class);
×
51
                IVariableFacade variableFacade = registry.handle(ValueDeseralizationContext.of(inventory.player.level()), itemStack);
×
52
                String label = LabelsWorldStorage.getInstance(IntegratedDynamics._instance).getLabel(variableFacade.getId());
×
53
                if(label == null && !itemStack.isEmpty() && itemStack.has(DataComponents.CUSTOM_NAME)) {
×
54
                    label = itemStack.getHoverName().getString();
×
55
                }
56
                if(label != null) {
×
57
                    ContainerLabeller.this.getGui().setText(label);
×
58
                }
59
            });
×
60
        }
61
    }
×
62

63
    @OnlyIn(Dist.CLIENT)
64
    public void setGui(ContainerScreenLabeller gui) {
65
        this.gui = gui;
×
66
    }
×
67

68
    @OnlyIn(Dist.CLIENT)
69
    public ContainerScreenLabeller getGui() {
70
        return this.gui;
×
71
    }
72

73
    public ItemStack getItemStack() {
74
        return temporaryInputSlots.getItem(0);
×
75
    }
76

77
    @Override
78
    protected int getSizeInventory() {
79
        return 1;
×
80
    }
81

82
    @Override
83
    public void removed(Player player) {
84
        super.removed(player);
×
85
        if (!player.level().isClientSide()) {
×
86
            ItemStack itemStack = temporaryInputSlots.getItem(0);
×
87
            if(!itemStack.isEmpty()) {
×
88
                Helpers.returnItemToPlayer(player, itemStack);
×
89
            }
90
        }
91
    }
×
92

93
    public void setItemStackName(String name) {
94
        ItemStack itemStack = getItemStack();
×
95
        if(!itemStack.isEmpty()) {
×
96
            if (StringUtils.isBlank(name)) {
×
97
                itemStack.remove(DataComponents.CUSTOM_NAME);
×
98
            } else {
99
                itemStack.set(DataComponents.CUSTOM_NAME, Component.literal(name));
×
100
            }
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