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 extends TickableTask { private int pollutionPerSecond; private static final int POLLUTION_TICK = TickTime.SECOND; public PollutionTask(@Nonnull T taskHost) { super(taskHost); } public PollutionTask 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()); } } } }