aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/task/tasks/PowerOutputTask.java
blob: ef800635fb1d3ca195ea078c234f022a2a6e38d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package gregtech.api.task.tasks;

import javax.annotation.Nonnull;

import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.logic.interfaces.PowerLogicHost;
import gregtech.api.task.TaskHost;
import gregtech.api.task.TickableTask;

public class PowerOutputTask<T extends PowerLogicHost & TaskHost & IMachineProgress> extends TickableTask<T> {

    private static final String NAME = "powerOutput";

    public PowerOutputTask(@Nonnull T taskHost) {
        super(taskHost);
    }

    @Override
    @Nonnull
    public String getName() {
        return NAME;
    }

    @Override
    public void update(long tick, boolean isServerSide) {
        if (!isServerSide) return;
        if (!taskHost.isActive()) return;
        if (!taskHost.isEnergyEmitter()) return;
        taskHost.emitEnergyFromLogic();
    }

}