Êþº¾Ef  2net/minecraft/world/level/pathfinder/NodeEvaluator()V2it/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap   6net/minecraft/world/level/pathfinder/SwimNodeEvaluatorpathTypesByPosCache,Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;  allowBreachingZ  prepareS(Lnet/minecraft/world/level/PathNavigationRegion;Lnet/minecraft/world/entity/Mob;)V  *it/unimi/dsi/fastutil/longs/Long2ObjectMapclear  done ! "#mob Lnet/minecraft/world/entity/Mob; %&' ()net/minecraft/world/entity/MobgetBoundingBox!()Lnet/minecraft/world/phys/AABB; +,- ./net/minecraft/world/phys/AABBminXD 123 45net/minecraft/util/Mthfloor(D)I +7 8/minY?à +< =/minZ ? @AgetNode0(III)Lnet/minecraft/world/level/pathfinder/Node; C DEgetTargetNodeAt2(DDD)Lnet/minecraft/world/level/pathfinder/Target;Gnet/minecraft/core/Direction IJK LMcom/google/common/collect/Maps newEnumMap&(Ljava/lang/Class;)Ljava/util/EnumMap; FO PQvalues!()[Lnet/minecraft/core/Direction; STU VW)net/minecraft/world/level/pathfinder/NodexI FY Z[getStepX()I S] ^Wy F` a[getStepY Sc dWz Ff g[getStepZ i jAfindAcceptedNode lmn op java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; r st isNodeValid.(Lnet/minecraft/world/level/pathfinder/Node;)Z vwx yz"net/minecraft/core/Direction$Plane HORIZONTAL$Lnet/minecraft/core/Direction$Plane; v| }~iterator()Ljava/util/Iterator; €�‚ ƒ„java/util/IteratorhasNext()Z €† ‡ˆnext()Ljava/lang/Object; FŠ ‹Œ getClockWise ()Lnet/minecraft/core/Direction; lŽ ��get&(Ljava/lang/Object;)Ljava/lang/Object; ’ “thasMalus S• –closed S˜ ™š costMalusF œ �žgetCachedBlockType4(III)Lnet/minecraft/world/level/pathfinder/PathType;  ¡¢ £¤-net/minecraft/world/level/pathfinder/PathTypeBREACH/Lnet/minecraft/world/level/pathfinder/PathType;  ¦ §¤WATER %© ª«getPathfindingMalus2(Lnet/minecraft/world/level/pathfinder/PathType;)F S­ ®¤type °±² ³´java/lang/Mathmax(FF)F ¶ ·¸currentContext9Lnet/minecraft/world/level/pathfinder/PathfindingContext; º»¼ ½¾7net/minecraft/world/level/pathfinder/PathfindingContextlevel-()Lnet/minecraft/world/level/CollisionGetter;Ànet/minecraft/core/BlockPos ¿Â Ã(III)V ÅÆÇ ÈÉ)net/minecraft/world/level/CollisionGetter getFluidStateN(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/material/FluidState; ËÌÍ Î„-net/minecraft/world/level/material/FluidStateisEmptyA ¿Ñ ÒÓasLong(III)JÕ �Ön(Lnet/minecraft/world/level/pathfinder/SwimNodeEvaluator;III)Lit/unimi/dsi/fastutil/longs/Long2ObjectFunction; Ø ÙÚcomputeIfAbsentF(JLit/unimi/dsi/fastutil/longs/Long2ObjectFunction;)Ljava/lang/Object; Ü ÝÞgetPathTypeOfMob�(Lnet/minecraft/world/level/pathfinder/PathfindingContext;IIILnet/minecraft/world/entity/Mob;)Lnet/minecraft/world/level/pathfinder/PathType;à+net/minecraft/core/BlockPos$MutableBlockPos ß ã äW entityWidth æ çW entityHeight é êW entityDepth ßì íîset2(III)Lnet/minecraft/core/BlockPos$MutableBlockPos; ºð ñò getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; ôõö È÷0net/minecraft/world/level/block/state/BlockState1()Lnet/minecraft/world/level/material/FluidState; ßù úûbelow()Lnet/minecraft/core/BlockPos; ýþÿ §8net/minecraft/world/level/pathfinder/PathComputationType:Lnet/minecraft/world/level/pathfinder/PathComputationType; ô isPathfindable=(Lnet/minecraft/world/level/pathfinder/PathComputationType;)Z ô „isAir    § net/minecraft/tags/FluidTagsLnet/minecraft/tags/TagKey; Ë is(Lnet/minecraft/tags/TagKey;)Z   ¤BLOCKED   getPathTypem(Lnet/minecraft/world/level/pathfinder/PathfindingContext;III)Lnet/minecraft/world/level/pathfinder/PathType; Signature]Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;(Z)VCodeLineNumberTableLocalVariableTablethis8Lnet/minecraft/world/level/pathfinder/SwimNodeEvaluator;MethodParameters0Lnet/minecraft/world/level/PathNavigationRegion;entitygetStart-()Lnet/minecraft/world/level/pathfinder/Node; getTarget getNeighborsZ([Lnet/minecraft/world/level/pathfinder/Node;Lnet/minecraft/world/level/pathfinder/Node;)Inode+Lnet/minecraft/world/level/pathfinder/Node; directionLnet/minecraft/core/Direction; diagonalNodesecondDirection neighbors,[Lnet/minecraft/world/level/pathfinder/Node;poscountnodesLjava/util/Map;LocalVariableTypeTableZLjava/util/Map; StackMapTable/9[Lnet/minecraft/core/Direction;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;pathCostbestpathTypecontext blockState2Lnet/minecraft/world/level/block/state/BlockState; fluidState/Lnet/minecraft/world/level/material/FluidState; belowStatezzyyxx-Lnet/minecraft/core/BlockPos$MutableBlockPos;lambda$getCachedBlockType$05(IIIJ)Lnet/minecraft/world/level/pathfinder/PathType;kJ SourceFileSwimNodeEvaluator.javaBootstrapMethodsQ(J)Ljava/lang/Object;S T IJV2(J)Lnet/minecraft/world/level/pathfinder/PathType;X YZ[ \]"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; InnerClassesPlaneMutableBlockPosb%java/lang/invoke/MethodHandles$Lookupdjava/lang/invoke/MethodHandlesLookup!  U*·*»Y· µ *µ± V*+,·*´ ¹± ½!"# ½"@*·*´ ¹±"# $ #$Z0**´ ¶$´*¸0*´ ¶$´69c¸0*´ ¶$´;¸0¶>°( 0%EQ *')¶B°-*  V/ ^/ d/ V^d&'ù ô>F¸H:¸N:¾66¢Q2:*,´R¶X`,´\¶_`,´b¶e`¶h:  ¹kW* ¶q™ +„ S„§ÿ®²u¶{:¹™x¹…ÀF:¶‰:¹�ÀS¸‘™P¹�ÀS¸‘™>*,´R¶X`¶X`,´\,´b¶e`¶e`¶h:*¶q™ +„S§ÿ„¬B24 6$7H8T9]:e6k>‰?�@´AÞBçCïFòGf H() $A*+Þ,)�_-+‰f*+ôô./ô0)ò1W ë234  ë256-ÿ 7Sl8ûNøü€û{ú .0stP+Æ+´”š§¬K()6@ (: ; “tH*Æ*´— •›§¬O ()6@ (: ;jA":*¶›:*´™ ²Ÿ¥ ²¥¦\*´ ¶¨8 •›J*¶>:µ¬´—¸¯µ—*´µ¶¹»¿Y·Á¹Ä¶Ê™Y´—Ïbµ—°. ST V#W.Y5Z>[E\T^p_|cH.N<šVW^WdW|=) s>¤6ýS ûX V^d:;�žd*´ ¸Ð*ºÔ¹×À °g*VW^WdW V^d`*+*´ ¶Û°l4?¸VW^WdW ?V^dÝÞØ ³»ßY·á:6*´â`¢„6*´å`¢p6  *´è`¢Z+ ¶ë¶ï:  ¶ó: +¶ø¶ï:  ¶Ê™ ²ü¶™ ¶™²Ÿ° ²¶ š²°„ §ÿ „§ÿ‹„§ÿw+¶ï:²ü¶™²¥°²°Jq rs%t5uFvMwXyszw{‚|†tŒs’r˜‚ …«†¯‰ŽF@@A M9BC X.DA )cEW xFW ŒGW³³?¸³VW³^W³dW³"# ª0H @A6/ ý ßü üþMôËôøúúúüô ?V^d"IJ^ **´µ¶°g4  VW ^W dW KLMNO WPRU^vF_@ß¿` ace