Êþº¾EÙnet/minecraft/SharedConstants  java/lang/Object()V  net/minecraft/world/phys/Vec3ZEROLnet/minecraft/world/phys/Vec3;  7net/minecraft/world/entity/ai/navigation/PathNavigationlastStuckCheckPos  net/minecraft/core/Vec3iLnet/minecraft/core/Vec3i;  timeoutCachedNode?   maxDistanceToWaypointF " # maxVisitedNodesMultiplierA€ & ' requiredPathLength ) *+mob Lnet/minecraft/world/entity/Mob; - ./level!Lnet/minecraft/world/level/Level; 123 453net/minecraft/world/entity/ai/attributes/Attributes FOLLOW_RANGELnet/minecraft/core/Holder; 789 :;net/minecraft/world/entity/MobgetAttributeBaseValue(Lnet/minecraft/core/Holder;)D@0 ?@A BCnet/minecraft/util/Mthfloor(D)I E FGcreatePathFinder4(I)Lnet/minecraft/world/level/pathfinder/PathFinder; I JK pathFinder1Lnet/minecraft/world/level/pathfinder/PathFinder;M&net/minecraft/server/level/ServerLevel LO PQ getServer(()Lnet/minecraft/server/MinecraftServer; STU VW$net/minecraft/server/MinecraftServerdebugSubscribers3()Lnet/minecraft/util/debug/ServerDebugSubscribers;Y Z[ getAsBooleanW(Lnet/minecraft/util/debug/ServerDebugSubscribers;)Ljava/util/function/BooleanSupplier; ]^_ `a/net/minecraft/world/level/pathfinder/PathFindersetCaptureDebug'(Ljava/util/function/BooleanSupplier;)V c degetMaxPathLength()F ?g Bh(F)I ]j klsetMaxVisitedNodes(I)V n oupdatePathfinderMaxVisitedNodes 7q r;getAttributeValue tuv wxjava/lang/Mathmax(FF)F z {| targetPosLnet/minecraft/core/BlockPos; ~ € speedModifierD ‚ƒ„ …†net/minecraft/world/level/Level getGameTime()J ˆ ‰ŠtimeLastRecomputeJ Ž �� canUpdatePath()Z ’ “”path+Lnet/minecraft/world/level/pathfinder/Path; – —˜ reachRangeI š ›œ createPathK(Lnet/minecraft/core/BlockPos;I)Lnet/minecraft/world/level/pathfinder/Path; ž Ÿ hasDelayedRecomputationZ ¢£¤ ¥¦net/minecraft/core/BlockPos containing"(DDD)Lnet/minecraft/core/BlockPos; ¨©ª «¬java/util/stream/CollectorstoSet()Ljava/util/stream/Collector; ®¯° ±²java/util/stream/Streamcollect0(Ljava/util/stream/Collector;)Ljava/lang/Object;´ java/util/Set ¶ ›·?(Ljava/util/Set;IZI)Lnet/minecraft/world/level/pathfinder/Path; ¹º» ¼½&com/google/common/collect/ImmutableSetof<(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet; ¿ ›À@(Ljava/util/Set;IZIF)Lnet/minecraft/world/level/pathfinder/Path; ÂÃÄ ÅÆ!net/minecraft/world/entity/Entity blockPosition()Lnet/minecraft/core/BlockPos; ³È É�isEmpty 7Ë ÌÍgetY()D ‚Ï ÐÑgetMinY()I ÓÔÕ Ö�)net/minecraft/world/level/pathfinder/PathisDone ³Ø ÙÚcontains(Ljava/lang/Object;)Z ÜÝÞ ßà%net/minecraft/util/profiling/Profilerget/()Lnet/minecraft/util/profiling/ProfilerFiller;âpathfind äåæ çè+net/minecraft/util/profiling/ProfilerFillerpush(Ljava/lang/String;)V 7à ¢ë ìÆaboveî.net/minecraft/world/level/PathNavigationRegion ¢ð ñòoffset"(III)Lnet/minecraft/core/BlockPos; íô õ^(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)V ]÷ øùfindPath�(Lnet/minecraft/world/level/PathNavigationRegion;Lnet/minecraft/world/entity/Mob;Ljava/util/Set;FIF)Lnet/minecraft/world/level/pathfinder/Path; äû üpop Óþ ÿÆ getTarget  resetStuckTimeout  ›1(DDDI)Lnet/minecraft/world/level/pathfinder/Path;   moveTo/(Lnet/minecraft/world/level/pathfinder/Path;D)Z   ((Lnet/minecraft/world/entity/Entity;ID)Z  ›Q(Lnet/minecraft/world/entity/Entity;I)Lnet/minecraft/world/level/pathfinder/Path; Ó sameAs.(Lnet/minecraft/world/level/pathfinder/Path;)Z Ô  trimPath Ó Ñ getNodeCount   getTempMobPos!()Lnet/minecraft/world/phys/Vec3;  !˜tick # $˜lastStuckCheck & ' recomputePath ) * followThePath Ó, -.getNextEntityPosD(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/phys/Vec3; 0 1€y 73 4�onGround 6 7€x 9 :€z Ó< =advance 7? @AgetMoveControl5()Lnet/minecraft/world/entity/ai/control/MoveControl; C DE getGroundY"(Lnet/minecraft/world/phys/Vec3;)D GHI JK1net/minecraft/world/entity/ai/control/MoveControlsetWantedPosition(DDDD)V ¢M ¥N<(Lnet/minecraft/core/Position;)Lnet/minecraft/core/BlockPos; ¢P QÆbelow ‚S TU getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; WXY Z�0net/minecraft/world/level/block/state/BlockStateisAir \]^ _`6net/minecraft/world/level/pathfinder/WalkNodeEvaluator getFloorLevelG(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)D 7b ce getBbWidth?@ Óf gÆgetNextNodePos 7i jÍgetX l jÑ?à tp qrabs(D)D t ÌÑ 7v wÍgetZ y wÑ { |e getMaxVerticalDistanceToWaypoint Ó~ € getNextNode-()Lnet/minecraft/world/level/pathfinder/Node; ‚ƒ„ …†)net/minecraft/world/level/pathfinder/Nodetype/Lnet/minecraft/world/level/pathfinder/PathType; ˆ ‰Š canCutCorner2(Lnet/minecraft/world/level/pathfinder/PathType;)Z Œ �ŽshouldTargetNextNodeInDirection"(Lnet/minecraft/world/phys/Vec3;)Z � ‘’doStuckDetection"(Lnet/minecraft/world/phys/Vec3;)V Ó” •ÑgetNextNodeIndex — ˜™atBottomCenterOf;(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/world/phys/Vec3;@ � žŸ closerThan!(Lnet/minecraft/core/Position;D)Z ¡ ¢£canMoveDirectlyA(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;)Z Ó¥ ¦§ getNodePos (I)Lnet/minecraft/core/BlockPos; © ª«subtract@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; ­ ®Í lengthSqr ° ± normalize ³ ´Edot 7¶ ·egetSpeedBÈ>€ » ¼E distanceToSqr ¾ ¿ isStuck Á Âstop Ä ÅÚequals Ç ÈŠ timeoutTimer Ê ËŠlastTimeoutCheck Í ÎE distanceTo@4 Ò Ó€ timeoutLimit@ × Ø timeoutPath ÓÚ ÛÜgetNode.(I)Lnet/minecraft/world/level/pathfinder/Node; ‚Þ 7˜ ‚à 1˜ ‚â :˜ ¢ä å(III)V çèé êënet/minecraft/tags/BlockTags CAULDRONSLnet/minecraft/tags/TagKey; Wí îïis(Lnet/minecraft/tags/TagKey;)Z ‚ñ òó cloneAndMove0(III)Lnet/minecraft/world/level/pathfinder/Node; Óõ ö÷ replaceNode/(ILnet/minecraft/world/level/pathfinder/Node;)V ùúû ü†-net/minecraft/world/level/pathfinder/PathTypeFIRE_IN_NEIGHBOR ùþ ÿ†DAMAGING_IN_NEIGHBOR ù † WALKABLE_DOOR 7 e getBbHeight  (DDD)V 7 . #()Lnet/minecraft/world/level/Level; %net/minecraft/world/level/ClipContext  +net/minecraft/world/level/ClipContext$BlockCOLLIDER-Lnet/minecraft/world/level/ClipContext$Block;  +net/minecraft/world/level/ClipContext$FluidANY-Lnet/minecraft/world/level/ClipContext$Fluid;  NONE   ¾(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/level/ClipContext$Block;Lnet/minecraft/world/level/ClipContext$Fluid;Lnet/minecraft/world/entity/Entity;)V ‚! "#clipR(Lnet/minecraft/world/level/ClipContext;)Lnet/minecraft/world/phys/BlockHitResult; %&' ()'net/minecraft/world/phys/BlockHitResultgetType+()Lnet/minecraft/world/phys/HitResult$Type; +,- ./'net/minecraft/world/phys/HitResult$TypeMISS)Lnet/minecraft/world/phys/HitResult$Type; W1 2� isSolidRender 4 56 nodeEvaluator4Lnet/minecraft/world/level/pathfinder/NodeEvaluator; 89: ;<2net/minecraft/world/level/pathfinder/NodeEvaluator setCanFloat(Z)V 8> ?�canFloat ÓA B€ getEndNode ¢D EŸcloserToCenterThan 8G H<setCanOpenDoors JKL MN+net/minecraft/util/debug/DebugSubscriptions ENTITY_PATHS,Lnet/minecraft/util/debug/DebugSubscription; PQR ST/net/minecraft/util/debug/ServerDebugSubscribershasAnySubscriberFor/(Lnet/minecraft/util/debug/DebugSubscription;)ZMAX_TIME_RECOMPUTE ConstantValueSTUCK_CHECK_INTERVALdSTUCK_THRESHOLD_DISTANCE_FACTORRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;D(Lnet/minecraft/world/entity/Mob;Lnet/minecraft/world/level/Level;)VCodeLineNumberTableLocalVariableTable subscribers1Lnet/minecraft/util/debug/ServerDebugSubscribers; serverLevel(Lnet/minecraft/server/level/ServerLevel;this9Lnet/minecraft/world/entity/ai/navigation/PathNavigation; StackMapTableMethodParametersmaxVisitedNodessetRequiredPathLength(F)VlengthresetMaxVisitedNodesMultipliersetMaxVisitedNodesMultiplier getTargetPossetSpeedModifier(D)VG(Ljava/util/stream/Stream;I)Lnet/minecraft/world/level/pathfinder/Path; positionsLjava/util/stream/Stream;LocalVariableTypeTable8Ljava/util/stream/Stream; Signaturef(Ljava/util/stream/Stream;I)Lnet/minecraft/world/level/pathfinder/Path;=(Ljava/util/Set;I)Lnet/minecraft/world/level/pathfinder/Path;Ljava/util/Set;.Ljava/util/Set;\(Ljava/util/Set;I)Lnet/minecraft/world/level/pathfinder/Path;posL(Lnet/minecraft/core/BlockPos;II)Lnet/minecraft/world/level/pathfinder/Path; maxPathLengthtarget#Lnet/minecraft/world/entity/Entity;targets radiusOffset^(Ljava/util/Set;IZI)Lnet/minecraft/world/level/pathfinder/Path;profiler-Lnet/minecraft/util/profiling/ProfilerFiller;fromPosradiusregion0Lnet/minecraft/world/level/PathNavigationRegion;_(Ljava/util/Set;IZIF)Lnet/minecraft/world/level/pathfinder/Path;(DDDD)Z(DDDID)Z'(Lnet/minecraft/world/entity/Entity;D)ZnewPathmobPosgetPath-()Lnet/minecraft/world/level/pathfinder/Path;blockPoscurrentNodePos xDistance yDistance zDistanceisCloseEnoughToCurrentNode mobDirection pathDirection mobPosition currentNodenextNode mobToCurrent mobToNextmobToCurrentSqr mobToNextSqrcloserToNextThanCurrentwithinCurrentBlockeffectiveSpeedthresholdDistance distToNodetime isInProgressnode+Lnet/minecraft/world/level/pathfinder/Node;state2Lnet/minecraft/world/level/block/state/BlockState;istartPosstopPospathTypeisClearForMovementBetweenb(Lnet/minecraft/world/entity/Mob;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;Z)ZblockedByFluidstoisStableDestination (Lnet/minecraft/core/BlockPos;)ZgetNodeEvaluator6()Lnet/minecraft/world/level/pathfinder/NodeEvaluator;shouldRecomputePath middlePosgetMaxDistanceToWaypointcanNavigateGround canOpenDoors lambda$new$04(Lnet/minecraft/util/debug/ServerDebugSubscribers;)Z SourceFilePathNavigation.javaBootstrapMethods�Å Æ ¾¿È ÉÊË ÌÍ"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; InnerClassesBlockFluidÒ"net/minecraft/world/phys/HitResultTypeÕ%java/lang/invoke/MethodHandles$Lookup×java/lang/invoke/MethodHandlesLookup!U˜VWX˜VYZ V¹*+./“”[\€!˜$˜ÈŠËŠÓ€ Ÿ ‰Š56{|[\—˜# JK¿ ' 3]^g*·*² µ*²µ*µ* µ!*$µ%*+µ(*,µ,**+²0¶6¶DµH,ÁL™,ÀLN-¶N¶R:*´HºX¶\±_6 R8 9=FP#S(T-UCVOWXXfZ`4XabOcdgefg*+g./gÿf7‚h *.o^P*¶b$j¸f<*´H¶i±__ `a`ef i˜jk^F *#µ%*¶m±_fh i` ef l hlde^=*´(²0¶p�*´%¸s®_m` efm^4* µ!±_ qr` efnk^>*#µ!±_ vw`ef# h#oÆ^/*´y°_z` ef[\FGhipq^>*'µ}±_ €�`ef€h'^¡O*´,¶�*´‡e‹”ž9*¶�™2*´yÆ0*µ‘***´y*´•¶™µ‘**´,¶�µ‡*µ�§*µ�±_"„…!†&‡6ˆA‰IŒNŽ` OefgûI›^`*')¸¡¶™°_‘`4ef7€1€:€—˜h71:—[\›r^e*+¸§¹­À³¶µ°_›` efst—˜u svh s—wx[\›y^Z *+¶µ°_Ÿ`  ef sz —˜u  s{h s—w|[\›œ^K *+¸¸¶µ°_©`  ef }| —˜h }—[\›~^W*+¸¸†¶¾°_¯`*ef}|—˜˜h }—[\›^N*+¶Á¸¸¶µ°_¹` ef€�—˜h €—[\›·^r*+*¶b¶¾°_½`4ef‚zƒ˜ì —˜u ‚{h‚ƒì—w„[\›À^ ä+¹Ç™°*´(¶Ê*´,¶Î‡˜œ°*¶�š°*´‘Æ*´‘¶Òš+*´y¹×™*´‘°¸Û:á¹ã™*´(¶é¶ê§ *´(¶é:†b‹6»íY*´,ttt¶ï¶ï·ó: *´H *´(+*´!¶ö: ¹ú Æ ¶ýÆ* ¶ýµy*µ•*¶ °_RÁ  ÅÆ É'Ê)ÎGÏLÒQÓZÔtÕ|آٺÚÁÜÎà×áÝâáå`p äefä‚z䃘äì ä—˜ä Q“…†tp‡||hˆ˜¢B‰Š º*“” u ä‚{g. "üäF¢ÿn ³ä¢íÓh‚ƒì—w‹[\Œ^b **')¶¶¬_ì`4ef7€1€:€€h71:�^m **')¶¶¬_ð`>ef7€1€:€—˜€h71:—Ž^F*+(¶ ¬_÷` ef€�€h € ^ƒ*+¶ :Æ*)¶™§¬_ ûü`4ef€�—˜€�”g üÓ@h €— ^ÛO+Ç *µ‘¬+*´‘¶š*+µ‘*¶™¬*¶*´‘¶�¬*(µ}*¶:**´µ"*µ¬_>   " $ ( 249?GM`*OefO�”O€?�g h �[ \‘’^/*´‘°_` ef[\!^S ¼*Y´`µ*´�™*¶%*¶™±*¶�™ *¶(§d*´‘Æ]*´‘¶ÒšS*¶L*´‘*´(¶+M+´/,´/—ž6*´(¶2š,+´5¸>,´5¸> +´8¸>,´8¸>  *´‘¶;*¶™±*´‘*´(¶+L*´(¶>+´5*+¶B+´8*´}¶F±_F  #$'$(+)<*A+M,…-Œ1“2”6 7»9`*AK�M?}¼ef €g  û`DE^x&+¸LM*´,,¶O¶R¶V™ +´/§ *´,,¸[¯_ <=` &ef&€!“|g ü¢Gh€*^˜ Ç*¶L**´(¶ad•ž*´(¶a n§d*´(¶a nfµ*´‘¶eM*´(¶h,¶k‡mcg¸oJ*´(¶Ê,¶s‡g¸o9*´(¶u,¶x‡mcg¸o9)*´�˜œ*´�˜œ*¶z�˜œ§6  š**´‘¶}´�¶‡™*+¶‹™ *´‘¶;*+¶�±_. BD0E8FMG_HuIœMºNÁPÆQ`HÇefÂ�8�”Mz•€_h–€uR—€œ+˜  g=ÿ  ÿ  ÿk @ü�Ž^â½*´‘¶“`*´‘¶¡¬*´‘¶e¸–M+,š¶œš¬*+*´‘*´(¶+¶ ™¬*´‘*´‘¶“`¶¤¸–N,+¶¨:-+¶¨:¶¬9¶¬9˜œ§6 m˜œ§6  š ™#¶¯: ¶¯:   ¶²˜œ§¬¬_NTUX Y+\-_@`BcVf]gdhkirj�k‘l›m¢n©o»r`z ¢™ ©š ½ef½› �œVg�]`ždYŸkR €rK¡€�<¢  ‘,£  g? ü ÿ;     @ü@ü ý  @ùh›‘’^*´*´"dd¤a*´(¶µ •› *´(¶µ§*´(¶µ*´(¶µjE$¸j¹jF+*´¶º%%j�˜œ*µ½*¶À§*µ½**´µ"*+µ*´‘Æ’*´‘¶Òšˆ*´‘¶eM*´,¶�B,*´¶Ù*Y´Æ!*´ÉeaµƧ8*,µ+*´¸–¶Ì9**´(¶µ •ž*´(¶µ�oÏk§µÑ*´Ñ—ž*´ÆŠ*´ÑÔk—ž*¶Ö*!µɱ_Vwy4z>{N|S}Z_�g‚l…}†…ˆ�‰˜ŠªŒ¯’¼“ß–ù—ý™›`H48¤ >.¥ ¼#¦€…}}�u§Šef�gG $Ný&ù ý=ÿ0 ÿ úùh�Ø^; *¶*¶À±_žŸ `  ef^Q*²µ* µÆ*µÑ*µ½±_£¤ ¥¦§` efÖ�^M*´‘Æ *´‘¶Ò™§¬_«` efg@¨�^B *¶š§¬_°`  efg @Â^4*µ‘±_ ´µ` ef��^H­*´‘DZ<*´‘¶¢š*´‘¶ÙM`*´‘¶¢*´‘`¶Ù§N*´,»¢Y,´Ý,´ß,´á·ã¶R:²æ¶ì™H*´‘,,´Ý,´ß`,´á¶ð¶ô-Æ*,´ß-´ß¡*´‘`,-´Ý,´ß`-´á¶ð¶ô„§ÿa±_2 ¾¿ÂÃÄ:ÆVÈaÉ{ÊŠ˦¬Ï`4ˆ©ª:l�ªVP«¬ ¢­˜­efgüü-‚@‚úlú¢£^@¬_Ò` ef®¯h ®¯‰Š^Z+²ø¥+²ý¥+²¥§¬_Ú`ef°†g@h° ±²^ P» Y,´5,´/*¶�mkc,´8·:*¶ » Y+²™ ²§²*·¶ ¶$²*¦§¬_ àá`4P*+P®P¯P³ 1´gTÿ77   ‚##  ÿ7   ‚##  @h*®¯³µ¶^S+¶OM*´,,¶R¶0¬_ åæ` ef}| Q|h}·¸^/*´3°_ê` ef;<^A *´3¶7±_ îï` ef ? h??�^2*´3¶=¬_ò` ef¹¶^ö *´�™¬*´‘Æ*´‘¶Òš *´‘¶š¬*´‘¶@M» Y,´݇*´(¶hcšo,´߇*´(¶Êcšo,´á‡*´(¶ucšo·N+-*´‘¶*´‘¶“d‡¶C¬_* ö÷ ú$û&þ.;L]i`*ef}|.Q€ªiºg h}»e^/*´®_ ` ef|e^, ®_` ef¿�^/*´½¬_` ef¼�H<^A *´3¶F±_ ` ef ½ h½ ¾¿^2*²I¶O¬_X` abÀÁ ÇÃÄÃÎ" Ï@ Ð@+ÑÓ@ÔÖØ