public StructureStrongholdStart2(World world, Random random, int i, int j) {
    StructureStrongholdPieces.prepareStructurePieces();
    ComponentStrongholdStairs2 componentstrongholdstairs2 =
        new ComponentStrongholdStairs2(0, random, (i << 4) + 2, (j << 4) + 2);
    components.add(componentstrongholdstairs2);
    componentstrongholdstairs2.buildComponent(componentstrongholdstairs2, components, random);
    StructureComponent structurecomponent;
    for (ArrayList arraylist = componentstrongholdstairs2.field_35328_b;
        !arraylist.isEmpty();
        structurecomponent.buildComponent(componentstrongholdstairs2, components, random)) {
      int k = random.nextInt(arraylist.size());
      structurecomponent = (StructureComponent) arraylist.remove(k);
    }

    updateBoundingBox();
    markAvailableHeight(world, random, 10);
  }
  public boolean func_74875_a(
      World p_74875_1_, Random p_74875_2_, StructureBoundingBox p_74875_3_) {
    if (this.func_74860_a(p_74875_1_, p_74875_3_)) {
      return false;
    } else {
      this.func_74882_a(
          p_74875_1_,
          p_74875_3_,
          0,
          0,
          0,
          4,
          4,
          6,
          true,
          p_74875_2_,
          StructureStrongholdPieces.func_75197_b());
      this.func_74990_a(p_74875_1_, p_74875_2_, p_74875_3_, this.field_75021_a, 1, 1, 0);
      this.func_74990_a(p_74875_1_, p_74875_2_, p_74875_3_, EnumDoor.OPENING, 1, 1, 6);
      this.func_74876_a(
          p_74875_1_,
          p_74875_3_,
          p_74875_2_,
          0.1F,
          1,
          2,
          1,
          Block.field_72069_aq.field_71990_ca,
          0);
      this.func_74876_a(
          p_74875_1_,
          p_74875_3_,
          p_74875_2_,
          0.1F,
          3,
          2,
          1,
          Block.field_72069_aq.field_71990_ca,
          0);
      this.func_74876_a(
          p_74875_1_,
          p_74875_3_,
          p_74875_2_,
          0.1F,
          1,
          2,
          5,
          Block.field_72069_aq.field_71990_ca,
          0);
      this.func_74876_a(
          p_74875_1_,
          p_74875_3_,
          p_74875_2_,
          0.1F,
          3,
          2,
          5,
          Block.field_72069_aq.field_71990_ca,
          0);
      if (this.field_75019_b) {
        this.func_74884_a(p_74875_1_, p_74875_3_, 0, 1, 2, 0, 3, 4, 0, 0, false);
      }

      if (this.field_75020_c) {
        this.func_74884_a(p_74875_1_, p_74875_3_, 4, 1, 2, 4, 3, 4, 0, 0, false);
      }

      return true;
    }
  }
  public boolean func_35023_a(
      World p_35023_1_, Random p_35023_2_, StructureBoundingBox p_35023_3_) {
    if (this.func_35013_a(p_35023_1_, p_35023_3_)) {
      return false;
    } else {
      this.func_35022_a(
          p_35023_1_,
          p_35023_3_,
          0,
          0,
          0,
          9,
          8,
          10,
          true,
          p_35023_2_,
          StructureStrongholdPieces.func_35852_b());
      this.func_35033_a(p_35023_1_, p_35023_2_, p_35023_3_, this.field_35044_a, 4, 3, 0);
      if (this.field_35042_b) {
        this.func_35011_a(p_35023_1_, p_35023_3_, 0, 3, 1, 0, 5, 3, 0, 0, false);
      }

      if (this.field_35040_d) {
        this.func_35011_a(p_35023_1_, p_35023_3_, 9, 3, 1, 9, 5, 3, 0, 0, false);
      }

      if (this.field_35043_c) {
        this.func_35011_a(p_35023_1_, p_35023_3_, 0, 5, 7, 0, 7, 9, 0, 0, false);
      }

      if (this.field_35041_e) {
        this.func_35011_a(p_35023_1_, p_35023_3_, 9, 5, 7, 9, 7, 9, 0, 0, false);
      }

      this.func_35011_a(p_35023_1_, p_35023_3_, 5, 1, 10, 7, 3, 10, 0, 0, false);
      this.func_35022_a(
          p_35023_1_,
          p_35023_3_,
          1,
          2,
          1,
          8,
          2,
          6,
          false,
          p_35023_2_,
          StructureStrongholdPieces.func_35852_b());
      this.func_35022_a(
          p_35023_1_,
          p_35023_3_,
          4,
          1,
          5,
          4,
          4,
          9,
          false,
          p_35023_2_,
          StructureStrongholdPieces.func_35852_b());
      this.func_35022_a(
          p_35023_1_,
          p_35023_3_,
          8,
          1,
          5,
          8,
          4,
          9,
          false,
          p_35023_2_,
          StructureStrongholdPieces.func_35852_b());
      this.func_35022_a(
          p_35023_1_,
          p_35023_3_,
          1,
          4,
          7,
          3,
          4,
          9,
          false,
          p_35023_2_,
          StructureStrongholdPieces.func_35852_b());
      this.func_35022_a(
          p_35023_1_,
          p_35023_3_,
          1,
          3,
          5,
          3,
          3,
          6,
          false,
          p_35023_2_,
          StructureStrongholdPieces.func_35852_b());
      this.func_35011_a(
          p_35023_1_,
          p_35023_3_,
          1,
          3,
          4,
          3,
          3,
          4,
          Block.field_410_al.field_376_bc,
          Block.field_410_al.field_376_bc,
          false);
      this.func_35011_a(
          p_35023_1_,
          p_35023_3_,
          1,
          4,
          6,
          3,
          4,
          6,
          Block.field_410_al.field_376_bc,
          Block.field_410_al.field_376_bc,
          false);
      this.func_35022_a(
          p_35023_1_,
          p_35023_3_,
          5,
          1,
          7,
          7,
          1,
          8,
          false,
          p_35023_2_,
          StructureStrongholdPieces.func_35852_b());
      this.func_35011_a(
          p_35023_1_,
          p_35023_3_,
          5,
          1,
          9,
          7,
          1,
          9,
          Block.field_410_al.field_376_bc,
          Block.field_410_al.field_376_bc,
          false);
      this.func_35011_a(
          p_35023_1_,
          p_35023_3_,
          5,
          2,
          7,
          7,
          2,
          7,
          Block.field_410_al.field_376_bc,
          Block.field_410_al.field_376_bc,
          false);
      this.func_35011_a(
          p_35023_1_,
          p_35023_3_,
          4,
          5,
          7,
          4,
          5,
          9,
          Block.field_410_al.field_376_bc,
          Block.field_410_al.field_376_bc,
          false);
      this.func_35011_a(
          p_35023_1_,
          p_35023_3_,
          8,
          5,
          7,
          8,
          5,
          9,
          Block.field_410_al.field_376_bc,
          Block.field_410_al.field_376_bc,
          false);
      this.func_35011_a(
          p_35023_1_,
          p_35023_3_,
          5,
          5,
          7,
          7,
          5,
          9,
          Block.field_411_ak.field_376_bc,
          Block.field_411_ak.field_376_bc,
          false);
      this.func_35018_a(p_35023_1_, Block.field_404_ar.field_376_bc, 0, 6, 5, 6, p_35023_3_);
      return true;
    }
  }