• 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

10.34
/src/main/java/org/cyclops/integrateddynamics/network/packet/LogicProgrammerValueTypeListValueChangedPacket.java
1
package org.cyclops.integrateddynamics.network.packet;
2

3
import com.mojang.logging.LogUtils;
4
import net.minecraft.nbt.CompoundTag;
5
import net.minecraft.network.RegistryFriendlyByteBuf;
6
import net.minecraft.network.codec.StreamCodec;
7
import net.minecraft.resources.ResourceLocation;
8
import net.minecraft.server.level.ServerPlayer;
9
import net.minecraft.util.ProblemReporter;
10
import net.minecraft.world.entity.player.Player;
11
import net.minecraft.world.level.Level;
12
import net.minecraft.world.level.storage.TagValueInput;
13
import net.minecraft.world.level.storage.TagValueOutput;
14
import net.minecraft.world.level.storage.ValueInput;
15
import org.cyclops.cyclopscore.network.CodecField;
16
import org.cyclops.cyclopscore.network.PacketCodec;
17
import org.cyclops.integrateddynamics.Reference;
18
import org.cyclops.integrateddynamics.api.evaluate.variable.ValueDeseralizationContext;
19
import org.cyclops.integrateddynamics.api.logicprogrammer.ILogicProgrammerElement;
20
import org.cyclops.integrateddynamics.core.evaluate.variable.ValueHelpers;
21
import org.cyclops.integrateddynamics.core.evaluate.variable.ValueTypeList;
22
import org.cyclops.integrateddynamics.core.evaluate.variable.ValueTypes;
23
import org.cyclops.integrateddynamics.core.logicprogrammer.ValueTypeListLPElement;
24
import org.cyclops.integrateddynamics.inventory.container.ContainerLogicProgrammerBase;
25
import org.slf4j.Logger;
26

27
/**
28
 * Packet for sending a button packet for the exalted crafting.
29
 * @author rubensworks
30
 *
31
 */
32
public class LogicProgrammerValueTypeListValueChangedPacket extends PacketCodec {
33

34
    private static final Logger LOGGER = LogUtils.getLogger();
2✔
35
    public static final Type<LogicProgrammerValueTypeListValueChangedPacket> ID = new Type<>(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "logic_programmer_value_type_list_value_changed"));
7✔
36
    public static final StreamCodec<RegistryFriendlyByteBuf, LogicProgrammerValueTypeListValueChangedPacket> CODEC = getCodec(LogicProgrammerValueTypeListValueChangedPacket::new);
4✔
37

38
    @CodecField
39
    private CompoundTag value;
40

41
    public LogicProgrammerValueTypeListValueChangedPacket() {
42
        super(ID);
×
43
    }
×
44

45
    public LogicProgrammerValueTypeListValueChangedPacket(ValueDeseralizationContext valueDeseralizationContext, ValueTypeList.ValueList value) {
46
        super(ID);
×
47
        try (ProblemReporter.ScopedCollector scopedCollector = new ProblemReporter.ScopedCollector(new PathElement(), LOGGER)) {
×
48
            TagValueOutput valueOutput = TagValueOutput.createWithContext(scopedCollector, valueDeseralizationContext.holderLookupProvider());
×
49
            ValueHelpers.serializeRaw(valueOutput, value);
×
50
            this.value = valueOutput.buildResult();
×
51
        }
52
    }
×
53

54
    protected ValueTypeList.ValueList getListValue(Level level) {
55
        try (ProblemReporter.ScopedCollector scopedCollector = new ProblemReporter.ScopedCollector(new PathElement(), LOGGER)) {
×
56
            ValueInput input = TagValueInput.create(
×
57
                    scopedCollector,
58
                    level.registryAccess(),
×
59
                    value
60
            );
61
            return ValueHelpers.deserializeRaw(input, ValueTypes.LIST);
×
62
        }
63
    }
64

65
    @Override
66
    public boolean isAsync() {
67
        return false;
×
68
    }
69

70
    @Override
71
    public void actionClient(Level world, Player player) {
72

73
    }
×
74

75
    @Override
76
    public void actionServer(Level world, ServerPlayer player) {
77
        if(player.containerMenu instanceof ContainerLogicProgrammerBase) {
×
78
            ILogicProgrammerElement element = ((ContainerLogicProgrammerBase) player.containerMenu).getActiveElement();
×
79
            if(element instanceof ValueTypeListLPElement) {
×
80
                ((ValueTypeListLPElement) element).setServerValue(getListValue(world));
×
81
                ((ContainerLogicProgrammerBase) player.containerMenu).onDirty();
×
82
            }
83
        }
84
    }
×
85

86
    public static record PathElement() implements ProblemReporter.PathElement {
×
87
        @Override
88
        public String get() {
89
            return "packet";
×
90
        }
91
    }
92

93
}
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