• 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/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
×
20
    @Setter
×
21
    private INetwork network;
22

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

27
    @Override
28
    public boolean canUpdate(INetworkElement element) {
29
        if(!(element instanceof IEnergyConsumingNetworkElement)) return true;
×
30
        int multiplier = GeneralConfig.energyConsumptionMultiplier;
×
31
        if(multiplier == 0) return true;
×
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) {
×
46
            int multiplier = GeneralConfig.energyConsumptionMultiplier;
×
47
            if (multiplier > 0) {
×
48
                int consumptionRate = consumingNetworkElement.getConsumptionRate() * multiplier;
×
49
                getChannel(element.getChannel()).extract(consumptionRate, false);
×
50
            }
51
            consumingNetworkElement.postUpdate(getNetwork(), true);
×
52
        }
53
    }
×
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
            consumption += ((IEnergyConsumingNetworkElement) element).getConsumptionRate() * multiplier;
×
62
        }
×
63
        return consumption;
×
64
    }
65

66
    @Override
67
    public long getRateLimit() {
68
        return GeneralConfig.energyRateLimit;
×
69
    }
70
}
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