• 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/api/part/PartPos.java
1
package org.cyclops.integrateddynamics.api.part;
2

3
import net.minecraft.core.BlockPos;
4
import net.minecraft.core.Direction;
5
import net.minecraft.network.RegistryFriendlyByteBuf;
6
import net.minecraft.world.level.Level;
7
import org.apache.commons.lang3.tuple.Pair;
8
import org.cyclops.cyclopscore.datastructure.DimPos;
9
import org.cyclops.cyclopscore.network.PacketCodec;
10
import org.cyclops.cyclopscore.network.PacketCodecs;
11
import org.cyclops.integrateddynamics.core.helper.PartHelpers;
12

13
import javax.annotation.Nullable;
14

15
/**
16
 * Object holder to refer to a block side and position.
17
 * @author rubensworks
18
 */
19
public class PartPos implements Comparable<PartPos> {
20

21
    static {
22
        PacketCodecs.addCodedAction(PartPos.class, new PacketCodec.ICodecAction() {
×
23

24
            @Override
25
            public void encode(Object object, RegistryFriendlyByteBuf packetBuffer) {
26
                PacketCodecs.write(packetBuffer, ((PartPos) object).getPos());
×
27
                PacketCodecs.write(packetBuffer, ((PartPos) object).getSide());
×
28
            }
×
29

30
            @Override
31
            public Object decode(RegistryFriendlyByteBuf packetBuffer) {
32
                DimPos pos = PacketCodecs.read(packetBuffer, DimPos.class);
×
33
                Direction side = PacketCodecs.read(packetBuffer, Direction.class);
×
34
                return PartPos.of(pos, side);
×
35
            }
36
        });
37
    }
×
38

39
    private final DimPos pos;
40
    private final Direction side;
41

42
    public static PartPos of(Level world, BlockPos pos, @Nullable Direction side) {
43
        return of(DimPos.of(world, pos), side);
×
44
    }
45

46
    public static PartPos of(DimPos pos, @Nullable Direction side) {
47
        return new PartPos(pos, side);
×
48
    }
49

50
    private PartPos(DimPos pos, @Nullable Direction side) {
×
51
        this.pos = pos;
×
52
        this.side = side;
×
53
    }
×
54

55
    public DimPos getPos() {
56
        return pos;
×
57
    }
58

59
    @Nullable
60
    public Direction getSide() {
61
        return side;
×
62
    }
63

64
    @Override
65
    public boolean equals(Object o) {
66
        if (this == o) return true;
×
67
        if (o == null || !(o instanceof PartPos)) return false;
×
68

69
        PartPos partPos = (PartPos) o;
×
70

71
        if (!pos.equals(partPos.pos)) return false;
×
72
        return side == partPos.side;
×
73

74
    }
75

76
    @Override
77
    public int hashCode() {
78
        return 31 * pos.hashCode() + (side != null ? side.hashCode() : 0);
×
79
    }
80

81
    @Override
82
    public String toString() {
83
        return "PartPos{" +
×
84
                "pos=" + pos +
85
                ", side=" + side +
86
                '}';
87
    }
88

89
    /**
90
     * Get part data from the given position.
91
     * @param pos The part position.
92
     * @return A pair of part type and part state or null if not found.
93
     */
94
    @Nullable
95
    public static Pair<IPartType, IPartState> getPartData(PartPos pos) {
96
        IPartContainer partContainer = PartHelpers.getPartContainer(pos.getPos(), pos.getSide()).orElse(null);
×
97
        if (partContainer != null) {
×
98
            IPartType partType = partContainer.getPart(pos.getSide());
×
99
            IPartState partState = partContainer.getPartState(pos.getSide());
×
100
            if (partType != null && partState != null) {
×
101
                return Pair.of(partType, partState);
×
102
            }
103
        }
104
        return null;
×
105
    }
106

107
    @Override
108
    public int compareTo(PartPos o) {
109
        int pos = this.getPos().compareTo(o.getPos());
×
110
        if (pos == 0) {
×
111
            Direction thisSide = this.getSide();
×
112
            Direction thatSide = o.getSide();
×
113
            return thisSide == null ? (thatSide == null ? 0 : -1) : (thatSide == null ? 1 : thisSide.compareTo(thatSide));
×
114
        }
115
        return pos;
×
116
    }
117
}
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