• 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

16.67
/src/main/java/org/cyclops/integrateddynamics/network/packet/PartOffsetsDataPacket.java
1
package org.cyclops.integrateddynamics.network.packet;
2

3
import net.minecraft.core.BlockPos;
4
import net.minecraft.core.Direction;
5
import net.minecraft.core.Vec3i;
6
import net.minecraft.network.RegistryFriendlyByteBuf;
7
import net.minecraft.network.codec.StreamCodec;
8
import net.minecraft.resources.ResourceLocation;
9
import net.minecraft.server.level.ServerPlayer;
10
import net.minecraft.world.entity.player.Player;
11
import net.minecraft.world.level.Level;
12
import org.cyclops.cyclopscore.network.CodecField;
13
import org.cyclops.cyclopscore.network.PacketCodec;
14
import org.cyclops.cyclopscore.network.PacketCodecs;
15
import org.cyclops.integrateddynamics.Reference;
16
import org.cyclops.integrateddynamics.client.render.level.PartOffsetsOverlayRenderer;
17
import org.cyclops.integrateddynamics.core.network.PartOffsetsClientNotifier;
18

19
import java.util.List;
20

21
/**
22
 * Packet for sending part offsets to a player.
23
 * @author rubensworks
24
 */
25
public class PartOffsetsDataPacket extends PacketCodec {
26

27
    public static final Type<PartOffsetsDataPacket> ID = new Type<>(ResourceLocation.fromNamespaceAndPath(Reference.MOD_ID, "part_offsets_data"));
7✔
28
    public static final StreamCodec<RegistryFriendlyByteBuf, PartOffsetsDataPacket> CODEC = getCodec(PartOffsetsDataPacket::new);
3✔
29

30
    static {
31
        PacketCodecs.addCodedAction(PartOffsetsClientNotifier.Entry.class, new ICodecAction() {
8✔
32
            @Override
33
            public void encode(Object object, RegistryFriendlyByteBuf output) {
34
                PartOffsetsClientNotifier.Entry entry = (PartOffsetsClientNotifier.Entry) object;
×
35
                PacketCodecs.getAction(BlockPos.class).encode(entry.source(), output);
×
36
                PacketCodecs.getAction(Direction.class).encode(entry.sourceSide(), output);
×
37
                PacketCodecs.getAction(Vec3i.class).encode(entry.targetOffset(), output);
×
38
                PacketCodecs.getAction(Direction.class).encode(entry.targetSide(), output);
×
39
            }
×
40

41
            @Override
42
            public Object decode(RegistryFriendlyByteBuf input) {
43
                return new PartOffsetsClientNotifier.Entry(
×
44
                        (BlockPos) PacketCodecs.getAction(BlockPos.class).decode(input),
×
45
                        (Direction) PacketCodecs.getAction(Direction.class).decode(input),
×
46
                        (Vec3i) PacketCodecs.getAction(Vec3i.class).decode(input),
×
47
                        (Direction) PacketCodecs.getAction(Direction.class).decode(input)
×
48
                );
49
            }
50
        });
51
    }
1✔
52

53
    @CodecField
54
    private List<PartOffsetsClientNotifier.Entry> offsets;
55

56
    public PartOffsetsDataPacket() {
57
        super(ID);
×
58
    }
×
59

60
    public PartOffsetsDataPacket(List<PartOffsetsClientNotifier.Entry> offsets) {
61
        super(ID);
×
62
        this.offsets = offsets;
×
63
    }
×
64

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

70
    @Override
71
    public void actionClient(Level world, Player player) {
72
        PartOffsetsOverlayRenderer.getInstance().setData(this.offsets);
×
73
    }
×
74

75
    @Override
76
    public void actionServer(Level world, ServerPlayer player) {
77

78
    }
×
79

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