boolean warmthSourceFoundInArea(World world, int x1, int x2, int y1, int y2, int z1, int z2, int furnace_x1, int furnace_x2, int furnace_y1, int furnace_y2, int furnace_z1, int furnace_z2)
   {
      boolean success = false;

      for (int checkedX = x1; checkedX <= x2; checkedX++)
      {
         for (int checkedY = y1; checkedY <= y2; checkedY++)
         {
            for (int checkedZ = z1; checkedZ <= z2; checkedZ++)
            {
               // look for fire in fire check cube (which includes the smaller cubes)
               if(warmBlocksIDlist.FIRE.toString() == world.getBlockAt(checkedX, checkedY, checkedZ).getType().toString())
               {
                  success = true;
                  break;
               }

               // if blocks within the (smaller) furnace cube are checked, look also for a burning furnace
               if(checkedBlockIsWithinFurnaceCheckCube(checkedX, checkedY, checkedZ, furnace_x1, furnace_x2, furnace_y1, furnace_y2, furnace_z1, furnace_z2))
               {
                  // look for fire and burning furnace in furnace check cube (which is included by the fire cube)
                  if((warmBlocksIDlist.FIRE.toString() == world.getBlockAt(checkedX, checkedY, checkedZ).getType().toString()) ||
                        (warmBlocksIDlist.BURNING_FURNACE.toString() == world.getBlockAt(checkedX, checkedY, checkedZ).getType().toString()))
                  {
                     success = true;
                     break;
                  }
               }
            }
         }
      }

      return(success);
   }