Êþº¾E'  java/lang/Object()V   com/google/common/collect/Lists newArrayList()Ljava/util/ArrayList;  Hnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces currentPiecesLjava/util/List;  STRONGHOLD_PIECE_WEIGHTSW[Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$PieceWeight;  Tnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$PieceWeight placeCountI  !"java/util/Listadd(Ljava/lang/Object;)Z $ %& imposedPieceLjava/lang/Class; ( ) totalWeight + ,-iterator()Ljava/util/Iterator; /01 23java/util/IteratorhasNext()Z /5 67next()Ljava/lang/Object; 9 : maxPlaceCount < =weight?Qnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$Straight >A BC createPieceä(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$Straight;ESnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$PrisonHall DG BHæ(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$PrisonHall;JQnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$LeftTurn IL BMä(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$LeftTurn;ORnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$RightTurn NQ BRå(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$RightTurn;TUnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$RoomCrossing SV BWè(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$RoomCrossing;Y[net/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StraightStairsDown X[ B\î(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StraightStairsDown;^Snet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StairsDown ]` Baæ(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StairsDown;cUnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$FiveCrossing be Bfè(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$FiveCrossing;hVnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$ChestCorridor gj Bké(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$ChestCorridor;mPnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$Library lo Bpã(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$Library;rSnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$PortalRoom qt BuÅ(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$PortalRoom; w x3updatePieceWeight z {|findAndCreatePieceFactoryü(Ljava/lang/Class;Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StrongholdPiece; ~€ �‚net/minecraft/util/RandomSourcenextInt(I)I „ …†doPlace(I)Z ˆ‰Š ‹ŒSnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StartPiece previousPieceVLnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$PieceWeight; Ž �& pieceClass ‘ ’3isValid ” •"remove —˜™ š›Wnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$FillerCorridor findPieceBoxÊ(Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;)Lnet/minecraft/world/level/levelgen/structure/BoundingBox; �žŸ  ¡8net/minecraft/world/level/levelgen/structure/BoundingBoxminY()I —£ ¤\(ILnet/minecraft/world/level/levelgen/structure/BoundingBox;Lnet/minecraft/core/Direction;)V ˆ¦ §¨getBoundingBox<()Lnet/minecraft/world/level/levelgen/structure/BoundingBox; �ª «¡minX ­®¯ °‚java/lang/Mathabs �² ³¡minZ µ ¶·generatePieceFromSmallDoor@(Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StartPiece;Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StrongholdPiece; ¹º» ¼½Jnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilderaddPiece@(Lnet/minecraft/world/level/levelgen/structure/StructurePiece;)V ˆ¿ ÀpendingChildren  Ã(Ljava/lang/Class;II)VÅJnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$1 ÄÂÈJnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$2 ÇÂË\net/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$SmoothStoneSelector Ê Î ÏÐSMOOTH_STONE_SELECTOR^Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$SmoothStoneSelector;SMALL_DOOR_WIDTH ConstantValueSMALL_DOOR_HEIGHT MAX_DEPTH2LOWEST_Y_POSITION  CHECK_AIRZ MAGIC_START_Y@ SignaturehLjava/util/List;nLjava/lang/Class<+Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StrongholdPiece;>;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;CodeLineNumberTableLocalVariableTablethisJLnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces; resetPiecespiece StackMapTable hasAnyPiecesbuilderLLnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;random!Lnet/minecraft/util/RandomSource;footXfootYfootZ directionLnet/minecraft/core/Direction;depthstrongholdPieceZLnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StrongholdPiece;LocalVariableTypeTableûXnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StrongholdPieceMethodParametersY(Ljava/lang/Class<+Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StrongholdPiece;>;Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StrongholdPiece;weightSelection startPieceULnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StartPiece; numAttemptsbox:Lnet/minecraft/world/level/levelgen/structure/BoundingBox;generateAndAddPiece#(Lnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StartPiece;Lnet/minecraft/world/level/levelgen/structure/pieces/StructurePiecesBuilder;Lnet/minecraft/util/RandomSource;IIILnet/minecraft/core/Direction;I)Lnet/minecraft/world/level/levelgen/structure/StructurePiece;newPiece=Lnet/minecraft/world/level/levelgen/structure/StructurePiece; ;net/minecraft/world/level/levelgen/structure/StructurePiece SourceFileStrongholdPieces.java NestMembersJnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$3Mnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$Turnfnet/minecraft/world/level/levelgen/structure/structures/StrongholdPieces$StrongholdPiece$SmallDoorType InnerClasses PieceWeightStraight PrisonHallLeftTurn RightTurn RoomCrossingStraightStairsDown StairsDown FiveCrossing ChestCorridorLibrary PortalRoomStrongholdPiece StartPieceFillerCorridorSmoothStoneSelectorTurn SmallDoorType! ÑÒÓÔÒÓÕÒÖ×ÒØÙÚÒÛÜÒÝ Þß %&Þàáâ )ÏÐã/*·±ä*å æç èã‡2¸³ ²K*¾<=¢*2N-µ² -¹W„§ÿå³#±ähijk'i-m1nå éŒê þëø x3ã®F;³'² ¹*L+¹.™/+¹4ÀM,´8ž,´,´8¢;²',´;`³'§ÿάä"qrs"t4u6wAxDyå"éŒDìÚêý/ü&ù {|ã :*>¦+,¸@:§ù*D¦+,¸F:§à*I¦+,¸K:§Ç*N¦+,¸P:§®*S¦+,¸U:§•*X¦+,¸Z:§|*]¦+,¸_:§c*b¦+,¸d:§J*g¦+,¸i:§1*l¦+,¸n:§*q¦+¸s:°äb} €�"‚5ƒ;„N…T†g‡mˆ€‰†Š™‹ŸŒ²�¸ŽË�Ñ�ä‘ê’ý“”—å\ �&íîïðñòóôõö÷øù �àê üúü!�íïñòóôöÞýáâ ¶·ãF ü¸vš°²#Æ"²#+,¸y:³#ư6¢�„,²'¹}6 ² ¹*:  ¹.™x ¹4À:   ´;d6  œZ ¶ƒ™S *´‡¦§G ´�+,¸y:  Æ* Y´`µ* µ‡ ¶�š²  ¹“W °§ÿ„§ÿc+,¸–:  Æ ¶œ¤»—Y ·¢°°äv›œŸ !¡%£*¤-¨0©6ª9¬D­d®n¯s°†±‰´žµ£¶®·´¹¼ºÇ¼Ê¿ÍÀÐÁÞÂìÃúÆåŽ! ÷øž,÷ø dféŒ D‰þ üÿüíîüïðüñüòüóüôõüö0ÌÞ ê( $üý/ü:ü=úùùü)�ü!ÿíïñòóôöáâ ã [2¤°*¶¥¶©d¸¬p£*¶¥¶±d¸¬p¤°*+,`¸´:Æ+¶¸*´¾¹W°ä& ÊË Í,Î.ÑAÒFÓLÔXÖå\ [ÿ[íî[ïð[ñ[ò[ó[ôõ[öAê  "ü)ü!ÿíïñòóôöáâ ãÕ¹ ½Y»Y>(·ÁSY»YD·ÁSY»YI·ÁSY»YN·ÁSY»YS ·ÁSY»YX·ÁSY»Y]·ÁSY»Yb·ÁSY»Yg·ÁSY »ÄYl ·ÆSY »ÇYq·ÉS³»ÊY·Ì³Í±ä L®ø   ,ÊqblDSNIXg>ˆ]—úÇĪ > D I N S X ] b g l q ú! ˆ" —# ÄÇÊ$ % ú&@