Êþº¾E;  %net/minecraft/world/level/BlockGettergetBlockEntityS(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/entity/BlockEntity;   2net/minecraft/world/level/block/entity/BlockEntitygetType:()Lnet/minecraft/world/level/block/entity/BlockEntityType;  java/util/Optionalempty()Ljava/util/Optional;  of((Ljava/lang/Object;)Ljava/util/Optional;   getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;   0net/minecraft/world/level/block/state/BlockStategetLightEmission()I "#$ %&net/minecraft/core/BlockPosbetweenClosedStream:(Lnet/minecraft/world/phys/AABB;)Ljava/util/stream/Stream;( )*applyF(Lnet/minecraft/world/level/BlockGetter;)Ljava/util/function/Function; ,-. /0java/util/stream/Streammap8(Ljava/util/function/Function;)Ljava/util/stream/Stream; 234 56/net/minecraft/world/level/ClipBlockStateContextgetFrom!()Lnet/minecraft/world/phys/Vec3; 28 96getTo; )<H(Lnet/minecraft/world/level/BlockGetter;)Ljava/util/function/BiFunction;> )?()Ljava/util/function/Function; A BCtraverseBlocks (Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/Function;)Ljava/lang/Object;E'net/minecraft/world/phys/BlockHitResult G3H%net/minecraft/world/level/ClipContext G8;> MNO PQ*net/minecraft/world/phys/shapes/VoxelShapeclip†(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/BlockHitResult; S TUgetInteractionShaper(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/shapes/VoxelShape; DW X6 getLocation Z[\ ]^net/minecraft/world/phys/Vec3subtract@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; Z` ab lengthSqr()D Dd ef getDirection ()Lnet/minecraft/core/Direction; Dh ij withDirectionI(Lnet/minecraft/core/Direction;)Lnet/minecraft/world/phys/BlockHitResult; Ml mnisEmpty()Z pqr st!net/minecraft/core/Direction$AxisY#Lnet/minecraft/core/Direction$Axis; Mv wxmax&(Lnet/minecraft/core/Direction$Axis;)D z{| }~java/util/function/Supplierget()Ljava/lang/Object;€java/lang/Doubleÿð „ …UgetCollisionShape‡ }ˆc(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Ljava/util/function/Supplier; Š ‹ŒgetBlockFloorHeightL(Lnet/minecraft/world/phys/shapes/VoxelShape;Ljava/util/function/Supplier;)D ZŽ ��equals(Ljava/lang/Object;)Z ’“” )•java/util/function/Function&(Ljava/lang/Object;)Ljava/lang/Object;—&net/minecraft/world/phys/shapes/Shapes¾z×òš¼¯H Z› œ�xD Ÿ ¡ ¢£net/minecraft/util/Mthlerp(DDD)D Z¥ ¦�y Z¨ ©�z Ÿ« ¬­floor(D)I¯+net/minecraft/core/BlockPos$MutableBlockPos ®± ²³(III)V µ¶· )¸java/util/function/BiFunction8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; Ÿº »­signïÿÿÿÿÿÿ Ÿ¿ ÀÁfrac(D)D ®Ã ÄÅset2(III)Lnet/minecraft/core/BlockPos$MutableBlockPos;7'Ŭ ŸÈ ÉÊsquare(F)F "Ì ÍÎ betweenClosed5(Lnet/minecraft/world/phys/AABB;)Ljava/lang/Iterable; ÐÑÒ ÓÔjava/lang/Iterableiterator()Ljava/util/Iterator; Öר Ùnjava/util/IteratorhasNext ÖÛ Ü~next Þßà áâ6net/minecraft/world/level/BlockGetter$BlockStepVisitorvisit!(Lnet/minecraft/core/BlockPos;I)Zä+it/unimi/dsi/fastutil/longs/LongOpenHashSet ãæ ²ç()V¿ð Zë ìíscale"(D)Lnet/minecraft/world/phys/Vec3; ïðñ òónet/minecraft/world/phys/AABBmove@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/AABB; "õ ö÷betweenCornersInDirectionT(Lnet/minecraft/world/phys/AABB;Lnet/minecraft/world/phys/Vec3;)Ljava/lang/Iterable; "ù úûasLong()J ýþÿ #it/unimi/dsi/fastutil/longs/LongSetadd(J)Z  addCollisionsAlongTravelž(Lit/unimi/dsi/fastutil/longs/LongSet;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/AABB;Lnet/minecraft/world/level/BlockGetter$BlockStepVisitor;)I ï bgetXsize ï  bgetYsize ï bgetZsize  getFurthestCorner;(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/core/Vec3i; ï 6 getCenter Z œb?à   net/minecraft/core/Vec3igetX Z ¦b " # getY Z% ©b ' ( getZ Z* ²+(DDD)V ï- P.Z(DDDDDDLnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;)Ljava/util/Optional; l {>äøµ€ Ÿ4 5£clamp "7 ö8;(IIIIIILnet/minecraft/world/phys/Vec3;)Ljava/lang/Iterable; Z: ;<X_AXISLnet/minecraft/world/phys/Vec3; Z> ?@dot"(Lnet/minecraft/world/phys/Vec3;)D BCD EÁjava/lang/Mathabs ZG H<Y_AXIS ZJ K<Z_AXIS ± "N OPbelow()Lnet/minecraft/core/BlockPos; RST UVnet/minecraft/core/DirectiongetApproximateNearest#(DDD)Lnet/minecraft/core/Direction; "X YZ containing<(Lnet/minecraft/core/Position;)Lnet/minecraft/core/BlockPos; D\ ]^miss…(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/BlockHitResult; ` ab getFluidStateN(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/material/FluidState; Gd ef getBlockShape¤(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/shapes/VoxelShape; h ijclipWithInteractionOverrideä(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/phys/BlockHitResult; Gl mn getFluidShape¡(Lnet/minecraft/world/level/material/FluidState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/shapes/VoxelShape; Zp q@ distanceToSqr 2s tu isTargetBlock ()Ljava/util/function/Predicate; wxy z�java/util/function/Predicatetest D| ²}^(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;Z)Vjava/lang/Object�-net/minecraft/world/level/LevelHeightAccessorMethodParametersposRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;k(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/entity/BlockEntityType;)Ljava/util/Optional;CodeLineNumberTableLocalVariableTablethis'Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;type8Lnet/minecraft/world/level/block/entity/BlockEntityType; blockEntity4Lnet/minecraft/world/level/block/entity/BlockEntity;LocalVariableTypeTable=Lnet/minecraft/world/level/block/entity/BlockEntityType; StackMapTable Signature­(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/entity/BlockEntityType;)Ljava/util/Optional; (Lnet/minecraft/core/BlockPos;)IgetBlockStatesboxLnet/minecraft/world/phys/AABB;n(Lnet/minecraft/world/phys/AABB;)Ljava/util/stream/Stream; isBlockInLine\(Lnet/minecraft/world/level/ClipBlockStateContext;)Lnet/minecraft/world/phys/BlockHitResult;c1Lnet/minecraft/world/level/ClipBlockStateContext;R(Lnet/minecraft/world/level/ClipContext;)Lnet/minecraft/world/phys/BlockHitResult;'Lnet/minecraft/world/level/ClipContext; hitOverride)Lnet/minecraft/world/phys/BlockHitResult;fromto blockShape,Lnet/minecraft/world/phys/shapes/VoxelShape; blockState2Lnet/minecraft/world/level/block/state/BlockState;resultbelowBlockShapeLjava/util/function/Supplier; belowFloorKLjava/util/function/Supplier;z(Lnet/minecraft/world/phys/shapes/VoxelShape;Ljava/util/function/Supplier;)D (Lnet/minecraft/core/BlockPos;)DLjava/lang/Object;contextconsumerLjava/util/function/BiFunction; missFactoryLjava/util/function/Function;toXtoYtoZfromXfromYfromZ currentBlockXI currentBlockY currentBlockZ-Lnet/minecraft/core/BlockPos$MutableBlockPos;firstdxdydzsignXsignYsignZtDeltaXtDeltaYtDeltaZtXtYtZTT;TC;DLjava/util/function/BiFunction;%Ljava/util/function/Function;Ù(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;TC;Ljava/util/function/BiFunction;Ljava/util/function/Function;)TT;forEachBlockIntersectedBetween˜(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/AABB;Lnet/minecraft/world/level/BlockGetter$BlockStepVisitor;)ZblockPos aabbAtTargetvisitor8Lnet/minecraft/world/level/BlockGetter$BlockStepVisitor;travel visitedBlocks%Lit/unimi/dsi/fastutil/longs/LongSet; iterations hitPointOptLjava/util/Optional;hitPoint cornerHitX cornerHitY cornerHitZoppositeCornerXoppositeCornerYoppositeCornerZcurrentIteration deltaMoveboxSizeXboxSizeYboxSizeZ cornerDirLnet/minecraft/core/Vec3i;toCentertoCorner fromCornercornerVisitedBlockXcornerVisitedBlockYcornerVisitedBlockZ5Ljava/util/Optional; directionxDotyDotzDotxSignySignzSignlambda$getBlockFloorHeight$0K(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/shapes/VoxelShape; lambda$clip$1delta lambda$clip$0o(Lnet/minecraft/world/level/ClipContext;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/BlockHitResult; fluidState/Lnet/minecraft/world/level/material/FluidState; blockResult fluidShape liquidResultblockDistanceSquaredliquidDistanceSquared -net/minecraft/world/level/material/FluidStatelambda$isBlockInLine$1lambda$isBlockInLine$0y(Lnet/minecraft/world/level/ClipBlockStateContext;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/BlockHitResult; SourceFileBlockGetter.java NestMembersBootstrapMethods• ¸         œœ   ÿ" # ýŸŸ~ ' ( ûü*.()Lnet/minecraft/world/phys/shapes/VoxelShape;, -./ 01"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; InnerClassesAxisMutableBlockPosBlockStepVisitor7%java/lang/invoke/MethodHandles$Lookup9java/lang/invoke/MethodHandlesLookup~€‚ƒ„…†‡’*+¹N-Æ -¶,¥¸ °-¸°ˆ'()+‰*Š‹ƒŒ�Ž��‘ �’“ ü‚ ƒ�”•‚ƒab‚ƒ–‡? *+¹¶¬ˆ3‰ Š‹ ƒŒ‚ƒ—&‡D+¸!*º'¹+°ˆ7‰Š‹˜™‚˜”š›œ‡O+¶1+¶7+*º:º=¸@ÀD°ˆ;‰Š‹�ž‚�PŸ‡O+¶F+¶I+*ºJºK¸@ÀD°ˆG‰Š‹� ‚�ij‡ßM+,-¶L:Æ>*-¶R+,-¶L:Æ*¶V+¶Y¶_¶V+¶Y¶_˜œ¶c¶g°°ˆ` acd?eJh‰R,¡¢MŠ‹M£<M¤<MƒŒM¥¦M§¨ C©¢“üJD‚£¤ƒ¥§„…‹Œ‡¨-+¶kš +²o¶u¯,¹yÀM²o¶uJ)—›)g¯�¯ˆlmqr%s)v‰*-Š‹-¥¦-ª«¬�‘ -ª­“ü‚ ¥ª”®‹¯‡N**+¹*+¶ƒ*+º†¹‰¯ˆz‰Š‹ƒŒ‚ƒ BC‡©,ì*+¶�™ ,¹‘°˜+´š*´š¸ž9˜+´¤*´¤¸ž9˜+´§*´§¸ž9 ˜*´š+´š¸ž9 ˜*´¤+´¤¸ž9 ˜*´§+´§¸ž9 ¸ª6 ¸ª6¸ª6»®Y·°:-,¹´:ư g9 g9 g9¸¹6¸¹6¸¹6š ¼§ ‡o9š ¼§ ‡o9!š ¼§ ‡o9#ž  ¸¾g§ ¸¾k9%!ž  ¸¾g§ ¸¾k9'#ž ¸¾g§¸¾k9)%˜ž'˜ž )˜�{%'˜œ-%)˜œ`6%c9%§;`6)#c9)§*')˜œ`6'!c9'§`6)#c9)-,¶Â¹´:++Æ+°§ÿv,¹‘°ˆ²,�‚†!‡1ˆAŠQ‹aŒq‘x’“†••– —¥˜¨›¯œ¶�½ŸÄ Ë¡Ò£å¤ø¥ §$¨=©V«k¬s­{®‚¯Œ±“²�µ¥¶¬·¶¹½ºľØ¿ÝÀàÂãĉ$Ø©°+ì£<ì¤<챰첳촵!˶�1»·�A«¸� Q›¹� a‹º� q{»�xt¼½m¾½†f¿½•WƒÀ LÁ°¯=Â�¶6Ã�½/Ä�Ä(ŽË!ƽÒǽåÈ�øôÉ�! áÊ�#$ÈË�%=¯Ì�'V–Í�)‘4Ø©Î+ì±Ïì²Ðì´Ñ LÁΓ�ÿ–ZZ~µ’®~ÿ4ZZ~µ’®~Eü Eü EÿZZ~µ’®~ÿZZ~µ’®~ÿZZ~µ’®~ÿZZ~µ’®~ÿZZ~µ’®~ÿZZ~µ’®~ü  ‚£¤±²´”Ò„ … ÓÔ‡ ù+*¶Y:¶_ƸÇ�˜œ7,¸Ë¹Ï:¹Õ™ ¹ÚÀ":-¹Ýš¬§ÿܬ»ãY·å:,è¶ê¶î¸ô¹Ï:¹Õ™-¹ÚÀ":-¹Ý𬶸¹üW§ÿÏ,-¸6œ¬,¸ô¹Ï:¹Õ™2¹ÚÀ":¶ø¹ü™-`¹Ýš¬§ÿʬˆVÔÖØ7ÙCÚEÜHÝJàSâ�ã�ä�æœçŸêªë¯í±ñÔòòóôõ÷ö‰f 7ÕŒ�ÕŒÔ ÕŒù£<ù¤<ùÖ™ùרòÙ<S¦ÚÛªOܽ“0 ý!ZÖ#úý ýÖü#"ùüü Ö5ú‚£¤Ö× ‡ä/¿,¶9,¶ 9,¶ 9+¸: ,¶: »ZY ¶k ¶‡kc ¶k ¶!‡kc ¶$k ¶&‡kc·):  +¶Y:  ´š¸ª6 ´¤¸ª6 ´§¸ª6+´š¸¹6+´¤¸¹6+´§¸¹6š ¼§ ‡+´šo9š ¼§ ‡+´¤o9š ¼§ ‡+´§o9ž ´š¸¾g§  ´š¸¾k9ž ´¤¸¾g§  ´¤¸¾k9ž ´§¸¾g§  ´§¸¾k96 ˜ž˜ž ˜�j˜œ-˜œ`6c9§;`6c9§*˜œ`6c9§`6c9‡‡‡`‡`‡`‡  ¸,:!!¶/™§ÿi„ !¶0ÀZ:""´š‡1c‡c1g¸39#"´¤‡1c‡c1g¸39%"´§‡1c‡c1g¸39'# ¶‡kg¸ª6)% ¶!‡kg¸ª6*' ¶&‡kg¸ª6+ 6,)*++¸6¹Ï:--¹Õ™/-¹ÚÀ":.*.¶ø¹ü™-.,¹Ýš¬§ÿͧþ‡ ¬ˆÖ5úû ü$7J` hr|†�˜¡¶Ëàÿ=@U ]!e"l#v%}&‡)�*–+ -§.®2Ï7×9Ú;Ý>ç?@A5CFDWEhGlH™L´M¶O¹P¼Q‰V"™ƒŒ.ÏêÝÞ!çÒß<"¸à�#žá�%5„â�'Fsã½)Wbä½*hQå½+lMæ½,¿ÚÛ¿ç<¿Ö™¿×عè� ³é�­ê�§ëì ¡í< `_î< hWï< rMð½|Cñ½†9ò½�0Ž˜'ƽ¡Ç½¶ È�ËôÉ�àßÊ�ÿÀË�¡Ì�=‚Í�@ܽ ‘ ÏêÝó!“Éÿ¬ýZïÞZZZGü Gü GÿýZïÞZZZÿýZïÞZZZÿýZïÞZZZÿýZïÞZZZÿýZïÞZZZÿýZïÞZZZý  ü+ÿ¨"ýZïÞZZZZÖ2ÿýZïÞZZZ‚ÚçÖ× ‡E –²9*¶=¸AH²F*¶=¸AJ²I*¶=¸A9*´š—›§6*´¤—›§6*´§—›§6 ')˜�'˜�»Yt t·L°)˜�»Y tt·L°»Yt t·L°ˆ. U VW"Y2ZB[R]_^o_v`†b‰H–ô< ‹õ�€ö�"t÷�2dø½BTù½RDú½ “þ/@ü@ü@ü‚ôûü‡T+¶MM*,¹*,¶ƒ°ˆ {|‰ Š‹ƒŒ OŒ ýŸ‡b**¶F*¶I¶YL*¶I+´š+´¤+´§¸Q*¶I¸W¸[°ˆ Y Z‰*±  þ<ÿ‡˜Ž*,¹N*,¹_:+¶F:+¶I:+-*,¶c:*,-¹g:+*,¶k:  ,¶L: Ç ¼§+¶F¶V¶o9  Ç ¼§+¶F ¶V¶o9   ˜�§ °ˆ. HIKLN&O6Q@RLTeU~W‰„ ŽŠ‹Ž± ŽƒŒ†§¨}w£<q¤<&h¥¦6X¢@N¦ LB¢ e)� ~� “:ÿW G"ZZMDMDKü KüAD  œ‡b**¶1*¶7¶YL*¶7+´š+´¤+´§¸Q*¶7¸W¸[°ˆ A B‰*±ž þ<  ‡» L*,¹N+¶1+¶7¶Y:+¶r-¹v™+»DY+¶7´š´¤´§¸Q+¶7¸W·{§°ˆ<=?‰4LŠ‹L±žLƒŒD§¨7þ<“ýJZ@D Þ>++++ +!$+%&)2"pR3@®"4 Þ5 68: