I found that underground_collision_mask for connecting pipes checks collisions with tiles only. I tried to add "object", "is_object", "is_lower_object" to collision layers. I also tried to force it by setting colliding_with_tiles_only = false but it does not work either.
Please, allow this check to work with all collision layers.
Code: Select all
  {
    type = "pipe-to-ground",
    name = "test-pipe",
    fluid_box =
    {
      pipe_connections =
      {
        { direction = defines.direction.north, connection_category = { "default", "test-pipe" }, position = {0, 0} },
        { direction = defines.direction.south, connection_category = "test-pipe", position = {0, 0} },
        {
          connection_type = "underground",
          direction = defines.direction.south,
          position = {0, 0},
          max_underground_distance = 10,
          underground_collision_mask =
          {
            colliding_with_tiles_only = false,
            layers = 
            {
              object = true,
              -- is_object = true,
              -- is_lower_object = true,
              water_tile = true,
              empty_space = true,
              lava_tile = true,
              -- ground_tile = false,
              -- floor = false,
              -- transport_belt = true,
            },
          },
        },
      },
      hide_connection_info = true
    },


