CLASS net/minecraft/class_3471 net/minecraft/structure/WoodlandMansionGenerator COMMENT The generator for the woodland mansion structure. COMMENT COMMENT

The cobblestones underneath the mansion are generated {@linkplain COMMENT net.minecraft.world.gen.structure.WoodlandMansionStructure#postPlace after COMMENT the mansion placement}. METHOD method_15029 addPieces (Lnet/minecraft/class_3485;Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Ljava/util/List;Lnet/minecraft/class_5819;)V ARG 0 manager ARG 1 pos ARG 2 rotation ARG 3 pieces ARG 4 random METHOD method_35471 printRandomFloorLayouts ([Ljava/lang/String;)V ARG 0 args CLASS class_3472 FirstFloorRoomPool COMMENT The {@link RoomPool} used for the first floor. CLASS class_3473 RoomPool COMMENT Provides methods that sample room template identifiers. METHOD method_15031 getMediumGenericRoom (Lnet/minecraft/class_5819;Z)Ljava/lang/String; ARG 1 random ARG 2 staircase METHOD method_15032 getSmallSecretRoom (Lnet/minecraft/class_5819;)Ljava/lang/String; ARG 1 random METHOD method_15033 getMediumFunctionalRoom (Lnet/minecraft/class_5819;Z)Ljava/lang/String; ARG 1 random ARG 2 staircase METHOD method_15034 getBigRoom (Lnet/minecraft/class_5819;)Ljava/lang/String; ARG 1 random METHOD method_15035 getMediumSecretRoom (Lnet/minecraft/class_5819;)Ljava/lang/String; ARG 1 random METHOD method_15036 getBigSecretRoom (Lnet/minecraft/class_5819;)Ljava/lang/String; ARG 1 random METHOD method_15037 getSmallRoom (Lnet/minecraft/class_5819;)Ljava/lang/String; ARG 1 random CLASS class_3474 MansionParameters COMMENT The parameters that control how the mansion will look like. It's COMMENT generated before adding structure pieces and passed to {@link COMMENT LayoutGenerator}. FIELD field_15438 random Lnet/minecraft/class_5819; FIELD field_15439 thirdFloorLayout Lnet/minecraft/class_3471$class_3478; COMMENT Determines a rough shape of the third floor. COMMENT COMMENT

Each element in this matrix is one of {@link #UNSET}, COMMENT {@link #CORRIDOR}, {@link #ROOM}, {@link #STAIRCASE}, {@link #UNUSED} or COMMENT {@link #OUTSIDE}. FIELD field_15440 baseLayout Lnet/minecraft/class_3471$class_3478; COMMENT Determines a rough shape of the first floor and the second floor. COMMENT COMMENT

Each element in this matrix is one of {@link #UNSET}, COMMENT {@link #CORRIDOR}, {@link #ROOM}, {@link #STAIRCASE}, {@link #UNUSED} or COMMENT {@link #OUTSIDE}. FIELD field_15441 entranceJ I FIELD field_15442 entranceI I FIELD field_15443 roomFlagsByFloor [Lnet/minecraft/class_3471$class_3478; COMMENT Contains flags for each room cell on each floor. COMMENT COMMENT

Each element in the matrix consists of the following fields: COMMENT

FIELD field_31665 SIZE I FIELD field_31666 UNSET I FIELD field_31667 CORRIDOR I FIELD field_31668 ROOM I FIELD field_31669 STAIRCASE I FIELD field_31670 UNUSED I FIELD field_31671 OUTSIDE I FIELD field_31672 SMALL_ROOM_FLAG I COMMENT Whether the room has size 1x1. FIELD field_31673 MEDIUM_ROOM_FLAG I COMMENT Whether the room has size 1x2. FIELD field_31674 BIG_ROOM_FLAG I COMMENT Whether the room has size 2x2. FIELD field_31675 ORIGIN_CELL_FLAG I COMMENT Whether the cell is an origin of the room. FIELD field_31676 ENTRANCE_CELL_FLAG I COMMENT Whether the cell is an entrance of the room. FIELD field_31677 STAIRCASE_CELL_FLAG I COMMENT Whether the cell is a part of a staircase room. FIELD field_31678 CARPET_CELL_FLAG I COMMENT Whether the cell has carpet. FIELD field_31679 ROOM_SIZE_MASK I COMMENT The mask for the room size. The value takes one of {@link COMMENT #SMALL_ROOM_FLAG}, {@link #MEDIUM_ROOM_FLAG} or {@link #BIG_ROOM_FLAG}. FIELD field_31680 ROOM_ID_MASK I COMMENT The mask for the room ID. Connected rooms share the same ID. METHOD (Lnet/minecraft/class_5819;)V ARG 1 random METHOD method_15039 isRoomId (Lnet/minecraft/class_3471$class_3478;IIII)Z ARG 1 layout ARG 2 i ARG 3 j ARG 4 floor ARG 5 roomId METHOD method_15040 findConnectedRoomDirection (Lnet/minecraft/class_3471$class_3478;IIII)Lnet/minecraft/class_2350; ARG 1 layout ARG 2 i ARG 3 j ARG 4 floor ARG 5 roomId METHOD method_15042 updateRoomFlags (Lnet/minecraft/class_3471$class_3478;Lnet/minecraft/class_3471$class_3478;)V ARG 1 layout ARG 2 roomFlags METHOD method_15045 layoutCorridor (Lnet/minecraft/class_3471$class_3478;IILnet/minecraft/class_2350;I)V ARG 1 layout ARG 2 i ARG 3 j ARG 4 direction ARG 5 length METHOD method_15046 adjustLayoutWithRooms (Lnet/minecraft/class_3471$class_3478;)Z ARG 1 layout METHOD method_15047 isInsideMansion (Lnet/minecraft/class_3471$class_3478;II)Z ARG 0 layout ARG 1 i ARG 2 j METHOD method_15048 layoutThirdFloor ()V METHOD method_35472 printFloorLayouts ()V COMMENT Prints a string representation of {@link #baseLayout} and {@link COMMENT #thirdFloorLayout}. Useful for debugging. COMMENT COMMENT @see WoodlandMansionGenerator#printRandomFloorLayouts CLASS class_3475 LayoutGenerator COMMENT Populates structure pieces based on the given {@link MansionParameters COMMENT parameters}. FIELD field_15444 manager Lnet/minecraft/class_3485; FIELD field_15445 entranceJ I FIELD field_15446 entranceI I FIELD field_15447 random Lnet/minecraft/class_5819; METHOD (Lnet/minecraft/class_3485;Lnet/minecraft/class_5819;)V ARG 1 manager ARG 2 random METHOD method_15050 generate (Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Ljava/util/List;Lnet/minecraft/class_3471$class_3474;)V ARG 1 pos ARG 2 rotation ARG 3 pieces ARG 4 parameters METHOD method_15051 addOuterWall (Ljava/util/List;Lnet/minecraft/class_3471$class_3476;Lnet/minecraft/class_3471$class_3478;Lnet/minecraft/class_2350;IIII)V ARG 1 pieces ARG 2 wallPiece ARG 3 layout ARG 4 direction ARG 5 startI ARG 6 startJ ARG 7 endI ARG 8 endJ METHOD method_15052 addWallPiece (Ljava/util/List;Lnet/minecraft/class_3471$class_3476;)V ARG 1 pieces ARG 2 wallPiece METHOD method_15053 addBigSecretRoom (Ljava/util/List;Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Lnet/minecraft/class_3471$class_3473;)V ARG 1 pieces ARG 2 pos ARG 3 rotation ARG 4 pool METHOD method_15054 addEntrance (Ljava/util/List;Lnet/minecraft/class_3471$class_3476;)V ARG 1 pieces ARG 2 wallPiece METHOD method_15055 addRoof (Ljava/util/List;Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Lnet/minecraft/class_3471$class_3478;Lnet/minecraft/class_3471$class_3478;)V ARG 1 pieces ARG 2 pos ARG 3 rotation ARG 4 layout ARG 5 nextFloorLayout METHOD method_15056 addBigRoom (Ljava/util/List;Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Lnet/minecraft/class_2350;Lnet/minecraft/class_2350;Lnet/minecraft/class_3471$class_3473;)V ARG 1 pieces ARG 2 pos ARG 3 rotation ARG 4 connectedRoomDirection ARG 5 entranceDirection ARG 6 pool METHOD method_15057 addSmallRoom (Ljava/util/List;Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Lnet/minecraft/class_2350;Lnet/minecraft/class_3471$class_3473;)V ARG 1 pieces ARG 2 pos ARG 3 rotation ARG 4 direction ARG 5 pool METHOD method_15058 turnLeft (Ljava/util/List;Lnet/minecraft/class_3471$class_3476;)V ARG 1 pieces ARG 2 wallPiece METHOD method_15059 addMediumRoom (Ljava/util/List;Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Lnet/minecraft/class_2350;Lnet/minecraft/class_2350;Lnet/minecraft/class_3471$class_3473;Z)V ARG 1 pieces ARG 2 pos ARG 3 rotation ARG 4 connectedRoomDirection ARG 5 entranceDirection ARG 6 pool ARG 7 staircase METHOD method_15060 turnRight (Ljava/util/List;Lnet/minecraft/class_3471$class_3476;)V ARG 1 pieces ARG 2 wallPiece CLASS class_3476 GenerationPiece FIELD field_15448 template Ljava/lang/String; FIELD field_15449 position Lnet/minecraft/class_2338; FIELD field_15450 rotation Lnet/minecraft/class_2470; CLASS class_3477 SecondFloorRoomPool COMMENT The {@link RoomPool} used for the second floor. CLASS class_3478 FlagMatrix COMMENT A matrix used to store floor information. Each element in this matrix COMMENT corresponds to the cell on the floor. FIELD field_15451 array [[I FIELD field_15452 fallback I FIELD field_15453 m I FIELD field_15454 n I METHOD (III)V ARG 1 n ARG 2 m ARG 3 fallback METHOD method_15061 update (IIII)V COMMENT Updates the element in {@code (i, j)} to {@code newValue} if the COMMENT current value is equal to {@code expected}. ARG 1 i ARG 2 j ARG 3 expected ARG 4 newValue METHOD method_15062 fill (IIIII)V ARG 1 i0 ARG 2 j0 ARG 3 i1 ARG 4 j1 ARG 5 value METHOD method_15065 set (III)V ARG 1 i ARG 2 j ARG 3 value METHOD method_15066 get (II)I ARG 1 i ARG 2 j METHOD method_15067 anyMatchAround (III)Z ARG 1 i ARG 2 j ARG 3 value CLASS class_3479 ThirdFloorRoomPool COMMENT The {@link RoomPool} used for the third floor. CLASS class_3480 Piece METHOD (Lnet/minecraft/class_3485;Ljava/lang/String;Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;)V ARG 1 manager ARG 2 template ARG 3 pos ARG 4 rotation METHOD (Lnet/minecraft/class_3485;Ljava/lang/String;Lnet/minecraft/class_2338;Lnet/minecraft/class_2470;Lnet/minecraft/class_2415;)V ARG 1 manager ARG 2 template ARG 3 pos ARG 4 rotation ARG 5 mirror METHOD (Lnet/minecraft/class_3485;Lnet/minecraft/class_2487;)V ARG 1 manager ARG 2 nbt METHOD method_35473 createPlacementData (Lnet/minecraft/class_2415;Lnet/minecraft/class_2470;)Lnet/minecraft/class_3492; ARG 0 mirror ARG 1 rotation METHOD method_35474 getId (Ljava/lang/String;)Lnet/minecraft/class_2960; ARG 0 identifier METHOD method_35475 (Lnet/minecraft/class_2487;Lnet/minecraft/class_2960;)Lnet/minecraft/class_3492; ARG 1 id