blob: 3770409fb16f7cc0296f1ba5455b73c59cbadd8b (
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
33
34
35
36
37
38
39
40
41
42
43
44
45
|
package gregtech.api.task.tasks;
import javax.annotation.Nonnull;
import net.minecraft.tileentity.TileEntity;
import gregtech.api.enums.TickTime;
import gregtech.api.interfaces.tileentity.IMachineProgress;
import gregtech.api.task.TaskHost;
import gregtech.api.task.TickableTask;
import gregtech.common.Pollution;
public class PollutionTask<T extends TaskHost & IMachineProgress> extends TickableTask<T> {
private int pollutionPerSecond;
private static final int POLLUTION_TICK = TickTime.SECOND;
public PollutionTask(@Nonnull T taskHost) {
super(taskHost);
}
public PollutionTask<T> setPollutionPerSecond(int pollutionPerSecond) {
this.pollutionPerSecond = pollutionPerSecond;
return this;
}
public int getPollutionPerSecond() {
return pollutionPerSecond;
}
@Nonnull
@Override
public String getName() {
return "pollution";
}
@Override
public void update(long tick, boolean isServerSide) {
if (isServerSide && tick % POLLUTION_TICK == 0 && taskHost.hasThingsToDo()) {
if (taskHost instanceof final TileEntity entity) {
Pollution.addPollution(entity, getPollutionPerSecond());
}
}
}
}
|