public boolean func_35023_a(
      World p_35023_1_, Random p_35023_2_, StructureBoundingBox p_35023_3_) {
    if (func_35013_a(p_35023_1_, p_35023_3_)) {
      return false;
    }
    int i = field_35067_d * 5 - 1;
    func_35011_a(p_35023_1_, p_35023_3_, 0, 0, 0, 2, 1, i, 0, 0, false);
    func_35010_a(p_35023_1_, p_35023_3_, p_35023_2_, 0.8F, 0, 2, 0, 2, 2, i, 0, 0, false);
    if (field_35068_b) {
      func_35010_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.6F,
          0,
          0,
          0,
          2,
          1,
          i,
          Block.field_9258_W.field_376_bc,
          0,
          false);
    }
    for (int j = 0; j < field_35067_d; j++) {
      int i1 = 2 + j * 5;
      func_35011_a(
          p_35023_1_, p_35023_3_, 0, 0, i1, 0, 1, i1, Block.field_4057_ba.field_376_bc, 0, false);
      func_35011_a(
          p_35023_1_, p_35023_3_, 2, 0, i1, 2, 1, i1, Block.field_4057_ba.field_376_bc, 0, false);
      if (p_35023_2_.nextInt(4) != 0) {
        func_35011_a(
            p_35023_1_, p_35023_3_, 0, 2, i1, 2, 2, i1, Block.field_334_y.field_376_bc, 0, false);
      } else {
        func_35011_a(
            p_35023_1_, p_35023_3_, 0, 2, i1, 0, 2, i1, Block.field_334_y.field_376_bc, 0, false);
        func_35011_a(
            p_35023_1_, p_35023_3_, 2, 2, i1, 2, 2, i1, Block.field_334_y.field_376_bc, 0, false);
      }
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.1F,
          0,
          2,
          i1 - 1,
          Block.field_9258_W.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.1F,
          2,
          2,
          i1 - 1,
          Block.field_9258_W.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.1F,
          0,
          2,
          i1 + 1,
          Block.field_9258_W.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.1F,
          2,
          2,
          i1 + 1,
          Block.field_9258_W.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.05F,
          0,
          2,
          i1 - 2,
          Block.field_9258_W.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.05F,
          2,
          2,
          i1 - 2,
          Block.field_9258_W.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.05F,
          0,
          2,
          i1 + 2,
          Block.field_9258_W.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.05F,
          2,
          2,
          i1 + 2,
          Block.field_9258_W.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.05F,
          1,
          2,
          i1 - 1,
          Block.field_404_ar.field_376_bc,
          0);
      func_35014_a(
          p_35023_1_,
          p_35023_3_,
          p_35023_2_,
          0.05F,
          1,
          2,
          i1 + 1,
          Block.field_404_ar.field_376_bc,
          0);
      if (p_35023_2_.nextInt(100) == 0) {
        func_35003_a(
            p_35023_1_,
            p_35023_3_,
            p_35023_2_,
            2,
            0,
            i1 - 1,
            StructureMineshaftPieces.func_35588_a(),
            3 + p_35023_2_.nextInt(4));
      }
      if (p_35023_2_.nextInt(100) == 0) {
        func_35003_a(
            p_35023_1_,
            p_35023_3_,
            p_35023_2_,
            0,
            0,
            i1 + 1,
            StructureMineshaftPieces.func_35588_a(),
            3 + p_35023_2_.nextInt(4));
      }
      if (!field_35068_b || field_35069_c) {
        continue;
      }
      int l1 = func_35008_a(0);
      int j2 = (i1 - 1) + p_35023_2_.nextInt(3);
      int k2 = func_35017_a(1, j2);
      j2 = func_35006_b(1, j2);
      if (!p_35023_3_.func_35742_b(k2, l1, j2)) {
        continue;
      }
      field_35069_c = true;
      p_35023_1_.func_690_d(k2, l1, j2, Block.field_400_at.field_376_bc);
      TileEntityMobSpawner tileentitymobspawner =
          (TileEntityMobSpawner) p_35023_1_.func_603_b(k2, l1, j2);
      if (tileentitymobspawner != null) {
        tileentitymobspawner.func_21098_a("CaveSpider");
      }
    }

    for (int k = 0; k <= 2; k++) {
      for (int j1 = 0; j1 <= i; j1++) {
        int i2 = func_35007_a(p_35023_1_, k, -1, j1, p_35023_3_);
        if (i2 == 0) {
          func_35018_a(p_35023_1_, Block.field_334_y.field_376_bc, 0, k, -1, j1, p_35023_3_);
        }
      }
    }

    if (field_35070_a) {
      for (int l = 0; l <= i; l++) {
        int k1 = func_35007_a(p_35023_1_, 1, -1, l, p_35023_3_);
        if (k1 > 0 && Block.field_343_p[k1]) {
          func_35014_a(
              p_35023_1_,
              p_35023_3_,
              p_35023_2_,
              0.7F,
              1,
              0,
              l,
              Block.field_440_aH.field_376_bc,
              func_35009_c(Block.field_440_aH.field_376_bc, 0));
        }
      }
    }
    return true;
  }