Êþº¾E3  java/lang/Object()V   net/minecraft/core/BlockPosmutable/()Lnet/minecraft/core/BlockPos$MutableBlockPos;  *net/minecraft/core/Direction$AxisDirectionNEGATIVE,Lnet/minecraft/core/Direction$AxisDirection;  net/minecraft/core/Directiongeto(Lnet/minecraft/core/Direction$AxisDirection;Lnet/minecraft/core/Direction$Axis;)Lnet/minecraft/core/Direction;   getOpposite ()Lnet/minecraft/core/Direction;  !"+net/minecraft/core/BlockPos$MutableBlockPossetI(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/core/BlockPos$MutableBlockPos; $%& '(net/minecraft/util/BlockUtilgetLimitm(Ljava/util/function/Predicate;Lnet/minecraft/core/BlockPos$MutableBlockPos;Lnet/minecraft/core/Direction;I)I*&net/minecraft/util/BlockUtil$IntBounds ), -(II)V )/ 01minI 3 45moveN(Lnet/minecraft/core/Direction;I)Lnet/minecraft/core/BlockPos$MutableBlockPos; )7 81max $: ;<getMaxRectangleLocation%([I)Lcom/mojang/datafixers/util/Pair; >?@ ABcom/mojang/datafixers/util/PairgetFirst()Ljava/lang/Object; >D EB getSecondGjava/lang/Integer FI JKintValue()IM+net/minecraft/util/BlockUtil$FoundRectangle O PQrelativeC(Lnet/minecraft/core/Direction$Axis;I)Lnet/minecraft/core/BlockPos; LS T"(Lnet/minecraft/core/BlockPos;II)V V 4WM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; YZ[ \]java/util/function/Predicatetest(Ljava/lang/Object;)Z_'it/unimi/dsi/fastutil/ints/IntArrayList ^ bcd ef#it/unimi/dsi/fastutil/ints/IntStackpush(I)V bh ijisEmpty()Z bl mKtopInt bo pKpopInt Fr stvalueOf(I)Ljava/lang/Integer; >v w'(Ljava/lang/Object;Ljava/lang/Object;)V yz{ |}%net/minecraft/world/level/BlockGetter getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; €� ‚]0net/minecraft/world/level/block/state/BlockStateis „…† ‡ˆjava/util/Optionalof((Ljava/lang/Object;)Ljava/util/Optional; „Š ‹Œempty()Ljava/util/Optional; Ž�� ‘’net/minecraft/util/Mthclamp(III)I ” •KgetX — ˜KgetY š ›KgetZ $� žŸ packDifferenceInPositionInternal (IIIIII)I¡"java/lang/IllegalArgumentException£VThe radius cannot be larger than 127 when packing the difference between two positions  ¥ ¦(Ljava/lang/String;)V $¨ ©ªcheckDifferenceInBounds(II)I ¬­® ¯°java/util/LocaleROOTLjava/util/Locale;²%The difference must be within [%s,%s] ´µ¶ ·¸java/lang/StringformatK(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;ºYThe radius cannot be larger than 127 when unpacking the difference between two positions. ¼ ½¾offset"(III)Lnet/minecraft/core/BlockPos;&MAX_POSITION_DIFFERENCE_PACKING_RADIUS ConstantValueCodeLineNumberTableLocalVariableTablethisLnet/minecraft/util/BlockUtil;getLargestRectangleAround²(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction$Axis;ILnet/minecraft/core/Direction$Axis;ILjava/util/function/Predicate;)Lnet/minecraft/util/BlockUtil$FoundRectangle; lastBounds(Lnet/minecraft/util/BlockUtil$IntBounds;ibounds2min2max2i1 rectangle!Lcom/mojang/datafixers/util/Pair; boundsAxis1 newSizeAxis1 newSizeAxis2i2centerLnet/minecraft/core/BlockPos;axis1#Lnet/minecraft/core/Direction$Axis;limit1axis2limit2Ljava/util/function/Predicate;pos-Lnet/minecraft/core/BlockPos$MutableBlockPos;negativeDirection1Lnet/minecraft/core/Direction;positiveDirection1negativeDirection2positiveDirection2negativeDelta1positiveDelta1 centerIndex1 boundsByAxis1)[Lnet/minecraft/util/BlockUtil$IntBounds; centerIndex2minAxis1minAxis2 sizeAxis1 sizeAxis2columns[ILocalVariableTypeTable^Lcom/mojang/datafixers/util/Pair;=Ljava/util/function/Predicate; StackMapTableö!net/minecraft/core/Direction$AxiséðMethodParameters SignatureÑ(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction$Axis;ILnet/minecraft/core/Direction$Axis;ILjava/util/function/Predicate;)Lnet/minecraft/util/BlockUtil$FoundRectangle; directionlimitŒ(Ljava/util/function/Predicate;Lnet/minecraft/core/BlockPos$MutableBlockPos;Lnet/minecraft/core/Direction;I)I stackHeightstartheightcolumnmaxStartmaxEnd maxHeightstack%Lit/unimi/dsi/fastutil/ints/IntStack;b([I)Lcom/mojang/datafixers/util/Pair;RuntimeInvisibleAnnotations1Lcom/google/common/annotations/VisibleForTesting;getTopConnectedBlockÆ(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Block;Lnet/minecraft/core/Direction;Lnet/minecraft/world/level/block/Block;)Ljava/util/Optional;level'Lnet/minecraft/world/level/BlockGetter; bodyBlock'Lnet/minecraft/world/level/block/Block;growthDirection headBlock forwardPos forwardState2Lnet/minecraft/world/level/block/state/BlockState;å(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Block;Lnet/minecraft/core/Direction;Lnet/minecraft/world/level/block/Block;)Ljava/util/Optional;clampedPackDifferenceInPosition@(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;III)ItestPosxRadiusyRadiuszRadiusclampedXRadiusclampedYRadiusclampedZRadiusxDiffyDiffzDiffpackDifferenceInPositionfromto differenceunpackDifferenceInPosition@(Lnet/minecraft/core/BlockPos;IIII)Lnet/minecraft/core/BlockPos; packedDiff SourceFileBlockUtil.java NestMembers InnerClassesMutableBlockPos AxisDirectionAxis IntBoundsFoundRectangle!$¿1ÀÁ Â/*·±ÃÄ ÅÆ ÇÈ™ *¶:² +¸:¶:² -¸:  ¶: *¶¸#6 *¶¸#6  6  ` `½): »)Y*¶ ¸#*¶ ¸#·+S 2´.66 £V dd2: d»)Y*¶¶2 ´.¸#*¶¶2 ´6¸#·+S„§ÿ©6 £V `d2: `»)Y*¶¶2 ´.¸#*¶¶2 ´6¸#·+S„§ÿ©6666¾¼ :6› 6¾¢B2:´.d6´6`6¡£ `d§O„§ÿ¼¸9:¶=À):´6`´.d6¶CÀF¶H6hh¤´.6666„ÿ§ÿa»LY*+ d¶N-d¶N·R°ÃÊ2ACDFG&W6XFZJ[Vkclrm€pŠ„”… †°‡Éˆá„çŒñ�ýŽ �&�>ŒD¢G£J¤M¥P§W©`ªk«r¬|­†¯¤ªª²±³»´ʵ×·ä¸ë¹ïºó»÷©ý¿À¿ÄV" AÉÊ�ZË1ýAÉÊêZË1r2ÌÊ|(Í1†Î1cGÏ1±FÐÑ»<ÒÊÊ-Ó1× Ô1[¢Õ1ÖרÙÚ1ÛÙÜ1\ÝÞß àáâáýãá &öäá 6æå1 FÖæ1 JÒç1 VÆè銒ê1GÕë1JÒì1MÏí1PÌî1WÅïðñ±FÐò\óô# ÿ�õõY÷úYüúYÿõõY÷øüÿ>õõY÷ø)øÿõõY÷ø)øÿõõY÷øûLúùÖØÚÛÜ\úû '(Â� 6¢*+,¶U¹X™ „§ÿé¬ÃÇÈÉËÄ4 \Ý Þß üá ý181ñ  \óôüù\Þüýúþ;<ÂÊ Ç<=>»^Y·`:¹a6*¾£’*¾ §*.6¹gš^*¹k.6¡¹a§@¹nW¹g™§ ¹k`6dhdh¤ =<>§ÿž¹g™ ¹a„§ÿm»>Y»)Yd·+¸q·u°Ã^ÑÒÓÕÖ×!Ø2Ù<ÚGÛNÜWÝZàbá{ã‹äŽå‘æ”è—ê¡ëª×°ïÄ\ GMÿ1{12x1–1ÇïðÅ1Ã1Á1¸ô+ ÿøbCüü'Húúúùïú    ÂÆ4+¶:-¶UW*¹x:,¶~šÿé¶~™ ¸ƒ°¸‰°Ãõø ùú ü*ý0ÿÄH4 4Þ×44á4.ßôüü)ù Þú  b¸�6¸�6¸�6+¶“*¶“d�¸�6+¶–*¶–d�¸�6 +¶™*¶™d�¸�6   ¸œ¬Ã .@ R Äp bÞ×b×b1b1b1 Y1P1F1.4 1@"!1 R"1 ùÞ #ÂàR££ ¤ » Y¢·¤¿+¶“*¶“¸§6+¶–*¶–¸§6+¶™*¶™¸§6¸œ¬Ã*7DÄRRÞ×R×R1R1R1*( 17!1D"1ô ùÞ žŸÂ| `ÿ~x`ÿ~x€`ÿ~€¬ÃÄ> 1 1 1  1 !1 "1ù !" ©ªÂ�6d=£ �¢'» Y²«±½Y¸qSY�¸qS¸³·¤¿¬Ã4 Ä 6$16%12&1ôü#ù $% '(ÂØJ££ ¤ » Y¹·¤¿zÿ~d6zÿ~d6ÿ~d6*¶»°Ã$%')(5)?*ÄRJÞ×J)1J1J1J1)! 15!1? "1ô ùÞ)*+,L)-*. /@õ0@)$1 L$2