Êþº¾EG  %net/minecraft/world/level/block/BlockD(Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V   .net/minecraft/world/level/block/MultifaceBlockstateDefinition7Lnet/minecraft/world/level/block/state/StateDefinition;  getDefaultMultifaceStatek(Lnet/minecraft/world/level/block/state/StateDefinition;)Lnet/minecraft/world/level/block/state/BlockState;  registerDefaultState5(Lnet/minecraft/world/level/block/state/BlockState;)V   makeShapes()Ljava/util/function/Function;  shapesLjava/util/function/Function;  !""net/minecraft/core/Direction$Plane HORIZONTAL$Lnet/minecraft/core/Direction$Plane; $ %&stream()Ljava/util/stream/Stream;( )*testP(Lnet/minecraft/world/level/block/MultifaceBlock;)Ljava/util/function/Predicate; ,-. /0java/util/stream/StreamallMatch!(Ljava/util/function/Predicate;)Z 2 34 canRotateZ 678 9:!net/minecraft/core/Direction$AxisX#Lnet/minecraft/core/Direction$Axis; ,< =>filter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; ,@ ABcount()J F G4 canMirrorX 6I 4: K L4 canMirrorZ@0 P QRboxZ1(DDD)Lnet/minecraft/world/phys/shapes/VoxelShape; TUV WX&net/minecraft/world/phys/shapes/Shapes rotateAll=(Lnet/minecraft/world/phys/shapes/VoxelShape;)Ljava/util/Map;Z [\apply.(Ljava/util/Map;)Ljava/util/function/Function;^9net/minecraft/world/level/block/state/properties/Property ` ab WATERLOGGEDBLnet/minecraft/world/level/block/state/properties/BooleanProperty; d efgetShapeForEachStatex(Ljava/util/function/Function;[Lnet/minecraft/world/level/block/state/properties/Property;)Ljava/util/function/Function; hij kl0net/minecraft/world/level/block/state/BlockStategetBlock)()Lnet/minecraft/world/level/block/Block; nop qr java/util/Setof()Ljava/util/Set;tnet/minecraft/core/Direction vwx yzjava/util/EnumSetnoneOf&(Ljava/lang/Class;)Ljava/util/EnumSet; s| }~values!()[Lnet/minecraft/core/Direction; € �‚hasFaceS(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/Direction;)Z n„ …†add(Ljava/lang/Object;)Z sˆ ‰Šordinal()I Œ�Ž ��java/util/Collectioniterator()Ljava/util/Iterator; ’“” •–java/util/IteratorhasNext()Z ’˜ ™šnext()Ljava/lang/Object; œ �ž DIRECTIONS[Lnet/minecraft/core/Direction;   ¡¢isFaceSupported!(Lnet/minecraft/core/Direction;)Z ¤ ¥¦getFacePropertyb(Lnet/minecraft/core/Direction;)Lnet/minecraft/world/level/block/state/properties/BooleanProperty; ¨©ª …«=net/minecraft/world/level/block/state/StateDefinition$Builder}([Lnet/minecraft/world/level/block/state/properties/Property;)Lnet/minecraft/world/level/block/state/StateDefinition$Builder; h­ ®¯getValueS(Lnet/minecraft/world/level/block/state/properties/Property;)Ljava/lang/Comparable;±java/lang/Boolean °³ ´– booleanValue ¶·¸ ¹º)net/minecraft/world/level/material/FluidsWATER1Lnet/minecraft/world/level/material/FlowingFluid; ¼½¾ ¿À/net/minecraft/world/level/material/FlowingFluid getTickDelay*(Lnet/minecraft/world/level/LevelReader;)I ÂÃÄ ÅÆ-net/minecraft/world/level/ScheduledTickAccess scheduleTickK(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/material/Fluid;I)V È ÉÊ hasAnyFace5(Lnet/minecraft/world/level/block/state/BlockState;)Z ÌÍÎ ÏÐ&net/minecraft/world/level/block/BlocksAIR'Lnet/minecraft/world/level/block/Block; Ò ÓÔdefaultBlockState4()Lnet/minecraft/world/level/block/state/BlockState; Ö ×Ø canAttachTo—(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Z Ú ÛÜ removeFace¨(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/properties/BooleanProperty;)Lnet/minecraft/world/level/block/state/BlockState; ¼Þ ßà getSource2(Z)Lnet/minecraft/world/level/material/FluidState; â ãä getFluidStatec(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/level/material/FluidState; æçè [éjava/util/function/Function&(Ljava/lang/Object;)Ljava/lang/Object;ë*net/minecraft/world/phys/shapes/VoxelShape í ×îe(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Z ðñò óô2net/minecraft/world/item/context/BlockPlaceContext getItemInHand&()Lnet/minecraft/world/item/ItemStack; ö ÷øasItem!()Lnet/minecraft/world/item/Item; úûü ý†"net/minecraft/world/item/ItemStackis ÿ ÊhasAnyVacantFace ð getLevel#()Lnet/minecraft/world/level/Level; ð  getClickedPos()Lnet/minecraft/core/BlockPos;     net/minecraft/world/level/Level getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; ð ~getNearestLookingDirections  %java/util/Arrays.([Ljava/lang/Object;)Ljava/util/stream/Stream; [¿(Lnet/minecraft/world/level/block/MultifaceBlock;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)Ljava/util/function/Function; , map8(Ljava/util/function/Function;)Ljava/util/stream/Stream; )  ()Ljava/util/function/Predicate; ," #$ findFirst()Ljava/util/Optional; &'( )éjava/util/OptionalorElse hû ,-. /0net/minecraft/core/BlockPosrelative=(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos; 2 3%net/minecraft/world/level/BlockGetter 5 67isValidStateForPlacement—(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Z h9 ã:1()Lnet/minecraft/world/level/material/FluidState; <=> ?@-net/minecraft/world/level/material/FluidStateisSourceOfType-(Lnet/minecraft/world/level/material/Fluid;)Z Ò C`DEnet/minecraft/world/level/block/state/properties/BlockStateProperties °F GHvalueOf(Z)Ljava/lang/Boolean; hJ KLsetValuee(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object; NOP Qéjava/util/ObjectsrequireNonNullS [TI(Lnet/minecraft/world/level/block/Rotation;)Ljava/util/function/Function; V WX mapDirectionsƒ(Lnet/minecraft/world/level/block/state/BlockState;Ljava/util/function/Function;)Lnet/minecraft/world/level/block/state/BlockState; Z[\ ]^&net/minecraft/world/level/block/Mirror FRONT_BACK(Lnet/minecraft/world/level/block/Mirror; Z` a^ LEFT_RIGHTc [dG(Lnet/minecraft/world/level/block/Mirror;)Ljava/util/function/Function; hf ghgetValueOrElsei(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Comparable; hj klgetBlockSupportShaper(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/shapes/VoxelShape; sn op getOpposite ()Lnet/minecraft/core/Direction; r st isFaceFullM(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/core/Direction;)Z hv wlgetCollisionShape y z{PROPERTY_BY_DIRECTIONLjava/util/Map; }~ €é java/util/Mapget‚@net/minecraft/world/level/block/state/properties/BooleanProperty „…† ‡ˆ5net/minecraft/world/level/block/state/StateDefinitionany5()Lnet/minecraft/world/level/block/state/StateHolder; }Š }‹()Ljava/util/Collection; h� ŽL trySetValue � ‘’getStateForPlacementÈ(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Lnet/minecraft/world/level/block/state/BlockState; T” •–empty.()Lnet/minecraft/world/phys/shapes/VoxelShape; T˜ ™šor†(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/VoxelShape;)Lnet/minecraft/world/phys/shapes/VoxelShape; êœ �–isEmpty TŸ  –block ¢y£)net/minecraft/world/level/block/PipeBlock¥6net/minecraft/world/level/block/SimpleWaterloggedBlock SignatureqLjava/util/Map;}Ljava/util/function/Function;CodeLineNumberTableLocalVariableTablethis0Lnet/minecraft/world/level/block/MultifaceBlock; propertiesALnet/minecraft/world/level/block/state/BlockBehaviour$Properties; StackMapTable²?net/minecraft/world/level/block/state/BlockBehaviour$PropertiesMethodParametersLocalVariableTypeTable[Ljava/util/Map;()Ljava/util/function/Function;availableFacesC(Lnet/minecraft/world/level/block/state/BlockState;)Ljava/util/Set; directionLnet/minecraft/core/Direction;state2Lnet/minecraft/world/level/block/state/BlockState;facesLjava/util/Set;/Ljava/util/Set;žc(Lnet/minecraft/world/level/block/state/BlockState;)Ljava/util/Set;unpack(B)Ljava/util/Set;dataBpresentDirections2(B)Ljava/util/Set;pack(Ljava/util/Collection;)B directionsLjava/util/Collection;code6Ljava/util/Collection;9(Ljava/util/Collection;)B faceDirectioncreateBlockStateDefinitionB(Lnet/minecraft/world/level/block/state/StateDefinition$Builder;)Vbuilder?Lnet/minecraft/world/level/block/state/StateDefinition$Builder;šLnet/minecraft/world/level/block/state/StateDefinition$Builder;�(Lnet/minecraft/world/level/block/state/StateDefinition$Builder;)V updateShapeg(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/world/level/ScheduledTickAccess;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/util/RandomSource;)Lnet/minecraft/world/level/block/state/BlockState;level'Lnet/minecraft/world/level/LevelReader;ticks/Lnet/minecraft/world/level/ScheduledTickAccess;posLnet/minecraft/core/BlockPos;directionToNeighbour neighbourPosneighbourStaterandom!Lnet/minecraft/util/RandomSource;getShapeÖ(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/phys/shapes/CollisionContext;)Lnet/minecraft/world/phys/shapes/VoxelShape;'Lnet/minecraft/world/level/BlockGetter;context2Lnet/minecraft/world/phys/shapes/CollisionContext; canSurvivey(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)ZhasAtLeastOneFaceì%net/minecraft/world/level/LevelReader canBeReplacedi(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/item/context/BlockPlaceContext;)Z4Lnet/minecraft/world/item/context/BlockPlaceContext;h(Lnet/minecraft/world/item/context/BlockPlaceContext;)Lnet/minecraft/world/level/block/state/BlockState;!Lnet/minecraft/world/level/Level;placePosoldStateRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable; placementPosplacementDirectionnewStaterotate�(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/Rotation;)Lnet/minecraft/world/level/block/state/BlockState;rotation*Lnet/minecraft/world/level/block/Rotation;mirrorŽ(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/Mirror;)Lnet/minecraft/world/level/block/state/BlockState;mapping[Ljava/util/function/Function;Á(Lnet/minecraft/world/level/block/state/BlockState;Ljava/util/function/Function;)Lnet/minecraft/world/level/block/state/BlockState;propertydirectionTowardsNeighbour blockState faceProperty’Lnet/minecraft/world/level/block/state/StateDefinition;Æ(Lnet/minecraft/world/level/block/state/StateDefinition;)Lnet/minecraft/world/level/block/state/BlockState;lambda$getStateForPlacement$0Â(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Lnet/minecraft/world/level/block/state/BlockState;lambda$makeShapes$0o(Ljava/util/Map;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/phys/shapes/VoxelShape;arr$len$Ii$shape,Lnet/minecraft/world/phys/shapes/VoxelShape;()V SourceFileMultifaceBlock.javaBootstrapMethods†Ÿ¢é    `(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/phys/shapes/VoxelShape;! "  $R(Lnet/minecraft/core/Direction;)Lnet/minecraft/world/level/block/state/BlockState;& N' (†nonNullÊ+ ,-. ù/(net/minecraft/world/level/block/Rotation>(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/Direction;/2 Z3 ý/5 678 9:"java/lang/invoke/LambdaMetafactory metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; InnerClasses=4net/minecraft/world/level/block/state/BlockBehaviour PropertiesPlaneAxisBuilderC%java/lang/invoke/MethodHandles$LookupEjava/lang/invoke/MethodHandlesLookup!¤abz{¦§�ž¦¨34G4L4©Ž*+·**´¸ ¶**¶µ*²¶#*º'¹+µ1*²¶#²5¹;*º'¹;¹?Cq ”š§µE*²¶#²H¹;*º'¹;¹?Cq ”š§µJ±ª0124-5]6�7«Ž¬­Ž®¯°8ÿY±ÿ±nÿ±³®©k!M¸O¸SL*+ºY½]Y²_S¶c°ª : <«!¬­ {´  µ¦¶ ·¸©ÏD*¶gÁš¸m°s¸uL¸{M,¾>6¢!,2:*¸™ +¹ƒW„§ÿß+°ª"H IKL*M3N<LBQ« *¹ºD»¼0½¾´ 0½¿°ÿhnÀø³»¦Á Âéº:s¸uL¸{M,¾>6¢%,2:¶‡x‘~ž +¹ƒW„§ÿÛ+°ªUVW)X2V8[« ¹º:ÄÅ4ƾ´ 4Æ¿°ÿnÀ!ø³Ä¦Ç ÈÉ©�+<*¹‹M,¹‘™,¹—ÀsN-¶‡x€‘<§ÿ㬪_`a&b)c«  ¹º+ÊË)ÌÅ´ +ÊͰ ý ’ú³Ê¦Î¡¢©6¬ªh«¬­Ïº³ÏÐÑ©¾F²›M,¾>6¢),2:*¶Ÿ™+½]Y¸£S¶§W„§ÿ×+½]Y²_S¶§W±ªmno0m6rEs« ¹ºF¬­FÒÓ´ FÒÔ°þ À%ø³Ò¦ÕÖשð R+²_¶¬À°¶²™-²µ²µ,¶»¹Á+¸Çš ²Ë¶Ñ°+¸™,¸Õ™+°+¸£¸Ù°ªxy"|)}0€F�Hƒ«\ R¬­R»¼RØÙRÚÛRÜÝRÞºRßÝRà¼Ráâ°" ³!»ØÚÜÞßàáãä©c+²_¶¬À°¶²™ ²µ¶Ý°*+·á°ªˆ‰‹«¬­»¼°³»ãä©`*´+¹åÀê°ª�«4¬­»¼ØåÜÝæç³»ØÜæèé©ì B6²›:¾66¢+2:+¸š§,-¸ìš¬6„§ÿÔ¬ª& •–—'˜*š4›6�9–?Ÿ«>ÞºB¬­B»¼BØÙBÜÝ?ê4°(ÿhë,Àüs úø³ »ØÜíî©e,¶ï*¶õ¶ù™ +¸þ™§¬ª¤« ¬­»¼æï°@³ »æ‘ð©°>+¶M+¶N,-¶ :+¶¸*,-º¹º¹;¹!¶%Àh°ª& ©ª «¬"­,®1¯7°=¬«4>¬­>æï9Øñ 4òÝ-󼳿ôõ67©§5*¶Ÿ™,*¶*™,¸™¬-¶+:++¹1¸Õ¬ª´µ·$¸«>5¬­5Øå5ó¼5öÝ5÷º$ßݰ³Øóö÷‘’©ôW*,+-¶4š°+*¶*™ +:§,+¶8²µ¶;™*¶A²B¸E¶IÀh:§ *¶A:¸£¸E¶IÀh°ª"¼ ½ÁÃÄ)Å?ÇEÊ«Rø¼<ø¼W¬­Wó¼WØåWöÝW÷ºEø¼°  "üh³óØö÷ôõùú©i*´1š+°*+,Y¸MWºR¶U°ªÏÐ Ó« ¬­»¼ûü° ³ »ûýþ©‰1,²Y¦ *´Eš+°,²_¦ *´Jš+°*+,Y¸MWºb¶U°ªØÙÛÜ ß« 1¬­1»¼1ý^°³ »ýWX©ìP+N²›:¾66¢;2:*¶Ÿ™%-,¹åÀs¸£+¸£¶¬À°¶IÀhN„§ÿÄ-°ªãäå&æHäNé«4+¹ºP¬­P»¼PÿNø¼´ Pÿ°ÿhæhÀ8ø³ »ÿ¦ �‚©W+¸£M*,¸E¶eÀ°¶²¬ª íî« »¼Ïºb³ »Ï ×î©r+,¶+N*-¹1:*,-¸Õ¬ªòóô«4ØåÜݺßÝ ¼³ ØÜ ר©‚&-*,¶i+¶m¸qš-*,¶u+¶m¸q™§¬ªøù%ø«*&Øå&º&ßÝ&༰ @³Øßà ÛÜ©u*+¸E¶IÀhM,¸Ç™,°²Ë¶Ñ°ªý þÿ« »¼b ø¼°üh³ » ¥¦©7 ²x*¹|À�°ª«  Ϻ³Ï ©¼H*¶ƒÀh²_¸E¶IÀhL²x¹‰¹‹M,¹‘™,¹—À�N+-¸E¶ŒÀhL§ÿà+°ª  6 C F« 6 bH 3»¼´ H °ý#h’ú"³ ¦ ÉÊ©~&²›L+¾=>¢+2:*¸™¬„§ÿ謪$« ¹º&»¼°þ Àø³» Ê©~&²›L+¾=>¢+2:*¸š¬„§ÿ謪$ « ¹º&»¼°þ Àø³» ©\ *+,-¶�°ª­«4 ¬­ ó¼ Øñ òÝ ¹º   ©êJ¸“M²›N-¾66¢(-2:+¸™,*¹|À긗M„§ÿ×,¶›™ ¸ž§,°ª=>?%@5>;C«H¹º3 ž / ,J{J»¼F° ÿ}hêÀ%ø @ê©3²B³_²¡³x¸{³›±ª#% '>444 #4%)4*0410;*±<> s?@6s@@¨„A BDF