/* IEnergyHandler */
 @Override
 public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) {
   if (!m_ReceivesEnergy) {
     return 0;
   }
   return energyStorage.receiveEnergy(maxReceive, simulate);
 }
 @Override
 public int getMaxEnergyPerTick() {
   float energyToAdd =
       getMaxPressure(getHandler().isOilStored(), null) * Constants.CONVERSION_RATIO_HYDRAULIC_RF;
   energyToAdd = storage.receiveEnergy((int) energyToAdd, true);
   return (int) energyToAdd;
 }
  private float createPower(boolean simulate) {
    if (getPressure(getFacing().getOpposite()) < Constants.MIN_REQUIRED_PRESSURE_DYNAMO
        || !getHandler().getRedstonePowered()) {
      isRunning = false;
      getHandler().updateBlock();
      return 0F;
    }

    float energyToAdd =
        ((getPressure(getFacing().getOpposite()) / getMaxPressure(getHandler().isOilStored(), null))
                * Constants.CONVERSION_RATIO_HYDRAULIC_RF)
            * Constants.MAX_TRANSFER_RF;
    // energyToAdd *= Constants.CONVERSION_RATIO_HYDRAULIC_RF;
    energyToAdd = storage.receiveEnergy((int) energyToAdd, simulate);

    int efficiency = 80;
    float pressureUsage = energyToAdd * (1.0F + (efficiency / 100F));
    if (pressureUsage > 0.0F) {
      isRunning = true;
    } else {
      isRunning = false;
      getHandler().updateBlock();
    }
    return pressureUsage;
  }
 @Override
 public int getEnergyPerTick() {
   float energyToAdd =
       ((getPressure(getFacing().getOpposite()) / getMaxPressure(getHandler().isOilStored(), null))
               * Constants.CONVERSION_RATIO_HYDRAULIC_RF)
           * (getPressure(ForgeDirection.UNKNOWN) / 1000);
   energyToAdd = storage.receiveEnergy((int) energyToAdd, true);
   return (int) energyToAdd;
 }
  @Override
  public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) {
    if (from == ForgeDirection.DOWN
        || from
            == RotatableBlock.getFront(
                this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord))) return 0;

    return storage.receiveEnergy(maxReceive, simulate);
  }
 @Override
 public int addEnergy(int energy, boolean simulate) {
   return capacitor.receiveEnergy(energy, simulate);
 }
 @Override
 public int receiveEnergy(EnumFacing facing, int maxReceive, boolean simulate) {
   return storage.receiveEnergy(maxReceive, simulate);
 }