mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
70 lines
1.4 KiB
Java
70 lines
1.4 KiB
Java
package com.hbm.tileentity.machine;
|
|
|
|
import com.hbm.inventory.fluid.Fluids;
|
|
import com.hbm.inventory.fluid.tank.FluidTank;
|
|
import com.hbm.util.fauxpointtwelve.DirPos;
|
|
|
|
import api.hbm.energymk2.IEnergyReceiverMK2;
|
|
import io.netty.buffer.ByteBuf;
|
|
|
|
public class TileEntityMachinePumpElectric extends TileEntityMachinePumpBase implements IEnergyReceiverMK2 {
|
|
|
|
public long power;
|
|
public static final long maxPower = 10_000;
|
|
|
|
public TileEntityMachinePumpElectric() {
|
|
super();
|
|
water = new FluidTank(Fluids.WATER, electricSpeed * 100);
|
|
}
|
|
|
|
public void updateEntity() {
|
|
|
|
if(!worldObj.isRemote) {
|
|
|
|
if(worldObj.getTotalWorldTime() % 20 == 0) for(DirPos pos : getConPos()) {
|
|
this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
|
|
}
|
|
}
|
|
|
|
super.updateEntity();
|
|
}
|
|
|
|
@Override
|
|
public void serialize(ByteBuf buf) {
|
|
super.serialize(buf);
|
|
buf.writeLong(this.power);
|
|
}
|
|
|
|
@Override
|
|
public void deserialize(ByteBuf buf) {
|
|
super.deserialize(buf);
|
|
this.power = buf.readLong();
|
|
}
|
|
|
|
@Override
|
|
protected boolean canOperate() {
|
|
return power >= 1_000 && water.getFill() < water.getMaxFill();
|
|
}
|
|
|
|
@Override
|
|
protected void operate() {
|
|
this.power -= 1_000;
|
|
water.setFill(Math.min(water.getFill() + electricSpeed, water.getMaxFill()));
|
|
}
|
|
|
|
@Override
|
|
public long getPower() {
|
|
return power;
|
|
}
|
|
|
|
@Override
|
|
public long getMaxPower() {
|
|
return maxPower;
|
|
}
|
|
|
|
@Override
|
|
public void setPower(long power) {
|
|
this.power = power;
|
|
}
|
|
}
|