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

CyclopsMC / IntegratedDynamics / 23358440897

20 Mar 2026 07:05PM UTC coverage: 53.697% (-0.04%) from 53.738%
23358440897

push

github

rubensworks
Merge remote-tracking branch 'origin/master-1.21-lts' into master-1.21

3054 of 8913 branches covered (34.26%)

Branch coverage included in aggregate %.

18675 of 31553 relevant lines covered (59.19%)

3.06 hits per line

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

71.43
/src/main/java/org/cyclops/integrateddynamics/part/PartTypeConnector.java
1
package org.cyclops.integrateddynamics.part;
2

3
import net.minecraft.world.level.block.Block;
4
import net.minecraft.world.level.block.state.BlockBehaviour;
5
import org.cyclops.cyclopscore.config.extendedconfig.BlockConfigCommon;
6
import org.cyclops.cyclopscore.datastructure.DimPos;
7
import org.cyclops.integrateddynamics.Capabilities;
8
import org.cyclops.integrateddynamics.api.network.INetwork;
9
import org.cyclops.integrateddynamics.api.network.IPartNetwork;
10
import org.cyclops.integrateddynamics.api.part.PartCapability;
11
import org.cyclops.integrateddynamics.api.part.PartPos;
12
import org.cyclops.integrateddynamics.api.part.PartRenderPosition;
13
import org.cyclops.integrateddynamics.api.part.PartTarget;
14
import org.cyclops.integrateddynamics.api.path.IPathElement;
15
import org.cyclops.integrateddynamics.core.block.IgnoredBlockStatus;
16
import org.cyclops.integrateddynamics.core.part.PartStateBase;
17
import org.cyclops.integrateddynamics.core.part.PartTypeBase;
18

19
import java.util.Optional;
20

21
/**
22
 * A base wireless connector part.
23
 * @author rubensworks
24
 */
25
public abstract class PartTypeConnector<P extends PartTypeConnector<P, S>, S extends PartTypeConnector.State<P>> extends PartTypeBase<P, S> {
26

27
    public PartTypeConnector(String name, PartRenderPosition partRenderPosition) {
28
        super(name, partRenderPosition);
4✔
29
    }
1✔
30

31
    @Override
32
    public boolean supportsOffsets() {
33
        return false;
×
34
    }
35

36
    @Override
37
    public boolean isUpdate(S state) {
38
        return getConsumptionRate(state) > 0 || super.isUpdate(state);
7!
39
    }
40

41
    @Override
42
    protected Block createBlock(BlockConfigCommon<?> blockConfig, BlockBehaviour.Properties properties) {
43
        return new IgnoredBlockStatus(properties);
5✔
44
    }
45

46
    @Override
47
    public void afterNetworkReAlive(INetwork network, IPartNetwork partNetwork, PartTarget target, S state) {
48
        super.afterNetworkReAlive(network, partNetwork, target, state);
6✔
49
        state.setPosition(target.getCenter());
4✔
50
    }
1✔
51

52
    @Override
53
    public void onNetworkAddition(INetwork network, IPartNetwork partNetwork, PartTarget target, S state) {
54
        super.onNetworkAddition(network, partNetwork, target, state);
6✔
55
        state.setPosition(target.getCenter());
4✔
56
    }
1✔
57

58
    public static abstract class State<P extends PartTypeConnector> extends PartStateBase<P> implements IPathElement {
3✔
59

60
        private PartPos partPos;
61

62
        protected PartPos getPartPos() {
63
            return partPos;
3✔
64
        }
65

66
        @Override
67
        public DimPos getPosition() {
68
            return this.partPos == null ? null : this.partPos.getPos();
7!
69
        }
70

71
        public void setPosition(PartPos partPos) {
72
            this.partPos = partPos;
3✔
73
        }
1✔
74

75
        @Override
76
        public int compareTo(IPathElement o) {
77
            return getPosition().compareTo(o.getPosition());
×
78
        }
79

80
        @Override
81
        public <T> Optional<T> getCapability(P partType, PartCapability<T> capability, INetwork network, IPartNetwork partNetwork, PartTarget target) {
82
            if (capability == Capabilities.PathElement.PART) {
3!
83
                return Optional.of((T) this);
3✔
84
            }
85
            return super.getCapability(partType, capability, network, partNetwork, target);
×
86
        }
87

88
    }
89
}
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