protected ShapeDetector getDetectorIronGolemPart() {
    if (this.ironGolemPart == null) {
      this.ironGolemPart =
          ShapeDetectorBuilder.a()
              .a(new String[] {"~ ~", "###", "~#~"})
              .a('#', ShapeDetectorBlock.a(BlockStatePredicate.a(Blocks.IRON_BLOCK)))
              .a('~', ShapeDetectorBlock.a(BlockStatePredicate.a(Blocks.AIR)))
              .b();
    }

    return this.ironGolemPart;
  }
  protected ShapeDetector getDetectorSnowGolemPart() {
    if (this.snowGolemPart == null) {
      this.snowGolemPart =
          ShapeDetectorBuilder.a()
              .a(new String[] {" ", "#", "#"})
              .a('#', ShapeDetectorBlock.a(BlockStatePredicate.a(Blocks.SNOW)))
              .b();
    }

    return this.snowGolemPart;
  }