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

CyclopsMC / IntegratedDynamics / 23682136136

28 Mar 2026 09:18AM UTC coverage: 45.729% (+0.02%) from 45.709%
23682136136

push

github

rubensworks
Bump mod version

2802 of 8868 branches covered (31.6%)

Branch coverage included in aggregate %.

12310 of 24179 relevant lines covered (50.91%)

2.43 hits per line

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

36.96
/src/main/java/org/cyclops/integrateddynamics/core/network/EnergyNetwork.java
1
package org.cyclops.integrateddynamics.core.network;
2

3
import lombok.Getter;
4
import lombok.Setter;
5
import org.cyclops.commoncapabilities.api.ingredient.IngredientComponent;
6
import org.cyclops.integrateddynamics.GeneralConfig;
7
import org.cyclops.integrateddynamics.api.network.IEnergyConsumingNetworkElement;
8
import org.cyclops.integrateddynamics.api.network.IEnergyNetwork;
9
import org.cyclops.integrateddynamics.api.network.INetwork;
10
import org.cyclops.integrateddynamics.api.network.INetworkElement;
11

12
/**
13
 * A network that can hold energy.
14
 * @author rubensworks
15
 */
16
public class EnergyNetwork extends PositionedAddonsNetworkIngredients<Long, Boolean>
17
        implements IEnergyNetwork {
18

19
    @Getter
3✔
20
    @Setter
4✔
21
    private INetwork network;
22

23
    public EnergyNetwork(IngredientComponent<Long, Boolean> component) {
24
        super(component);
3✔
25
    }
1✔
26

27
    @Override
28
    public boolean canUpdate(INetworkElement element) {
29
        if(!(element instanceof IEnergyConsumingNetworkElement)) return true;
3!
30
        int multiplier = GeneralConfig.energyConsumptionMultiplier;
2✔
31
        if(multiplier == 0) return true;
4!
32
        int consumptionRate = ((IEnergyConsumingNetworkElement) element).getConsumptionRate() * multiplier;
×
33
        return getChannel(element.getChannel()).extract(consumptionRate, true) == consumptionRate;
×
34
    }
35

36
    @Override
37
    public void onSkipUpdate(INetworkElement element) {
38
        if(element instanceof IEnergyConsumingNetworkElement consumingNetworkElement) {
×
39
            consumingNetworkElement.postUpdate(getNetwork(), false);
×
40
        }
41
    }
×
42

43
    @Override
44
    public void postUpdate(INetworkElement element) {
45
        if(element instanceof IEnergyConsumingNetworkElement consumingNetworkElement) {
6!
46
            int multiplier = GeneralConfig.energyConsumptionMultiplier;
2✔
47
            if (multiplier > 0) {
2!
48
                int consumptionRate = consumingNetworkElement.getConsumptionRate() * multiplier;
×
49
                getChannel(element.getChannel()).extract(consumptionRate, false);
×
50
            }
51
            consumingNetworkElement.postUpdate(getNetwork(), true);
5✔
52
        }
53
    }
1✔
54

55
    @Override
56
    public int getConsumptionRate() {
57
        int multiplier = GeneralConfig.energyConsumptionMultiplier;
×
58
        if(multiplier == 0) return 0;
×
59
        int consumption = 0;
×
60
        for(INetworkElement element : getNetwork().getElements()) {
×
61
            if (element instanceof IEnergyConsumingNetworkElement consuming) {
×
62
                consumption += consuming.getConsumptionRate() * multiplier;
×
63
            }
64
        }
×
65
        return consumption;
×
66
    }
67

68
    @Override
69
    public long getRateLimit() {
70
        return GeneralConfig.energyRateLimit;
3✔
71
    }
72
}
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