63 lines
1.3 KiB
Java

package com.hbm.tileentity.machine;
import com.hbm.blocks.machine.BlockHadronPower;
import api.hbm.energy.IEnergyUser;
import net.minecraft.block.Block;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityHadronPower extends TileEntity implements IEnergyUser {
public long power;
@Override
public boolean canUpdate() {
return this.worldObj != null && this.worldObj.getTotalWorldTime() % 20 == 0;
}
@Override
public void updateEntity() {
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir);
}
}
@Override
public void setPower(long i) {
power = i;
this.markDirty();
}
@Override
public long getPower() {
return power;
}
@Override
public long getMaxPower() {
Block b = this.getBlockType();
if(b instanceof BlockHadronPower) {
return ((BlockHadronPower)b).power;
}
return 0;
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
this.power = nbt.getLong("power");
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setLong("power", power);
}
}