public static final int MAX_POWER = 10000;
public static final int RF_PER_TICK = 10;
public static final int RF_PER_TICK_INPUT = 100;
public void update()
{
if (energyStorage.getEnergyStored() < RF_PER_TICK) {
ItemStack itemstack = this.chestContents.get(0);
if (!itemstack.isEmpty()) {
energyStorage.consumerPower(RF_PER_TICK);
int itemdamage = itemstack.getItemDamage();
itemstack.setItemDamage(itemdamage - 1);
}
}
}
@Override
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
if (capability == CapabilityEnergy.ENERGY) return true;
return super.hasCapability(capability, facing);
}
@Nullable
@Override
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
if (capability == CapabilityEnergy.ENERGY){
return CapabilityEnergy.ENERGY.cast(energyStorage);
}
return super.getCapability(capability, facing);
}
private MyEnergyStorage energyStorage = new MyEnergyStorage(MAX_POWER, RF_PER_TICK_INPUT);