Êþº¾E™  'net/minecraft/world/entity/ai/goal/Goal()V   com/google/common/collect/Lists newArrayList()Ljava/util/ArrayList;  9net/minecraft/world/entity/ai/goal/MoveThroughVillageGoalvisitedLjava/util/List;  mob*Lnet/minecraft/world/entity/PathfinderMob;   speedModifierD   onlyAtNightZ  !" distanceToPoiI $ %&canDealWithDoors$Ljava/util/function/BooleanSupplier; ()* +,,net/minecraft/world/entity/ai/goal/Goal$FlagMOVE.Lnet/minecraft/world/entity/ai/goal/Goal$Flag; ./0 12java/util/EnumSetof%(Ljava/lang/Enum;)Ljava/util/EnumSet; 4 56setFlags(Ljava/util/EnumSet;)V 89: ;<,net/minecraft/world/entity/ai/util/GoalUtilshasGroundPathNavigation#(Lnet/minecraft/world/entity/Mob;)Z>"java/lang/IllegalArgumentException@*Unsupported mob for MoveThroughVillageGoal =B C(Ljava/lang/String;)V E F updateVisited HIJ KL(net/minecraft/world/entity/PathfinderMoblevel#()Lnet/minecraft/world/level/Level; NOP QRnet/minecraft/world/level/LevelisBrightOutside()ZT&net/minecraft/server/level/ServerLevel HV WX blockPosition()Lnet/minecraft/core/BlockPos;Z4net/minecraft/world/entity/ai/village/poi/PoiManager S\ ]^isCloseToVillage!(Lnet/minecraft/core/BlockPos;I)Z` ab applyAsDouble§(Lnet/minecraft/world/entity/ai/goal/MoveThroughVillageGoal;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;)Ljava/util/function/ToDoubleFunction; def gh0net/minecraft/world/entity/ai/util/LandRandomPosgetPosr(Lnet/minecraft/world/entity/PathfinderMob;IILjava/util/function/ToDoubleFunction;)Lnet/minecraft/world/phys/Vec3; Sj kl getPoiManager8()Lnet/minecraft/world/entity/ai/village/poi/PoiManager;n optest ()Ljava/util/function/Predicate;r os[(Lnet/minecraft/world/entity/ai/goal/MoveThroughVillageGoal;)Ljava/util/function/Predicate; uvw xynet/minecraft/core/BlockPos containing<(Lnet/minecraft/core/Position;)Lnet/minecraft/core/BlockPos; {|} ~>net/minecraft/world/entity/ai/village/poi/PoiManager$Occupancy IS_OCCUPIED@Lnet/minecraft/world/entity/ai/village/poi/PoiManager$Occupancy; Y� ‚ƒfind°(Ljava/util/function/Predicate;Ljava/util/function/Predicate;Lnet/minecraft/core/BlockPos;ILnet/minecraft/world/entity/ai/village/poi/PoiManager$Occupancy;)Ljava/util/Optional; …†‡ ˆRjava/util/OptionalisEmpty …Š ‹Œget()Ljava/lang/Object; uŽ �X immutable ‘ ’“poiPosLnet/minecraft/core/BlockPos; H• –— getNavigation;()Lnet/minecraft/world/entity/ai/navigation/PathNavigation; ™š› œR"java/util/function/BooleanSupplier getAsBoolean žŸ  ¡¢7net/minecraft/world/entity/ai/navigation/PathNavigationsetCanOpenDoors(Z)V ž¤ ¥¦ createPathK(Lnet/minecraft/core/BlockPos;I)Lnet/minecraft/world/level/pathfinder/Path; ¨ ©ªpath+Lnet/minecraft/world/level/pathfinder/Path; ¬­® ¯°net/minecraft/world/phys/Vec3atBottomCenterOf;(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/world/phys/Vec3;²net/minecraft/util/Mth?ù!û` ¶·¸ ¹º3net/minecraft/world/entity/ai/util/DefaultRandomPos getPosTowardsm(Lnet/minecraft/world/entity/PathfinderMob;IILnet/minecraft/world/phys/Vec3;D)Lnet/minecraft/world/phys/Vec3; ¬¼ ½x ¬¿ Ày ¬Â Ãz žÅ ¥Æ1(DDDI)Lnet/minecraft/world/level/pathfinder/Path; ÈÉÊ ËÌ)net/minecraft/world/level/pathfinder/Path getNodeCount()I ÈÎ ÏÐgetNode.(I)Lnet/minecraft/world/level/pathfinder/Node; ÒÓÔ ½")net/minecraft/world/level/pathfinder/Node ÒÖ À" ÒØ Ã" uÚ Û(III)V ÝÞß àá)net/minecraft/world/level/block/DoorBlock isWoodenDoorA(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)Z žã äRisDone Hæ çèposition!()Lnet/minecraft/world/phys/Vec3; Hê ëì getBbWidth()F uî ïðcloserToCenterThan!(Lnet/minecraft/core/Position;D)Z žò óômoveTo/(Lnet/minecraft/world/level/pathfinder/Path;D)Z ö÷ø ùújava/util/Listadd(Ljava/lang/Object;)Z öü ýþiterator()Ljava/util/Iterator;  Rjava/util/IteratorhasNext  Œnext     java/util/Objectsequals'(Ljava/lang/Object;Ljava/lang/Object;)Z ö Ìsize ö remove(I)Ljava/lang/Object;  net/minecraft/tags/PoiTypeTagsVILLAGELnet/minecraft/tags/TagKey;  net/minecraft/core/Holderis(Lnet/minecraft/tags/TagKey;)Z S! "# isVillage (Lnet/minecraft/core/BlockPos;)Z%java/lang/Doubleÿðn* +,apply<(Lnet/minecraft/core/BlockPos;)Ljava/util/function/Function; …. /0map3(Ljava/util/function/Function;)Ljava/util/Optional; $2 34valueOf(D)Ljava/lang/Double; …6 78orElse&(Ljava/lang/Object;)Ljava/lang/Object; $: ;< doubleValue()D u> ?@distSqr(Lnet/minecraft/core/Vec3i;)DRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable; Signature/Ljava/util/List;T(Lnet/minecraft/world/entity/PathfinderMob;DZILjava/util/function/BooleanSupplier;)VCodeLineNumberTableLocalVariableTablethis;Lnet/minecraft/world/entity/ai/goal/MoveThroughVillageGoal; StackMapTableMethodParameterscanUse partialStepLnet/minecraft/world/phys/Vec3;node+Lnet/minecraft/world/level/pathfinder/Node;doorPosi(Lnet/minecraft/server/level/ServerLevel;poslandPostargetLjava/util/Optional; navigation9Lnet/minecraft/world/entity/ai/navigation/PathNavigation;LocalVariableTypeTable3Ljava/util/Optional;canContinueToUsestartstop hasNotVisited visitedPoipoilambda$canUse$3(Lnet/minecraft/core/Holder;)ZeLnet/minecraft/core/Holder;lambda$canUse$0e(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Dp newPoiPoslambda$canUse$2N(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Ljava/lang/Double;lambda$canUse$1 SourceFileMoveThroughVillageGoal.javaBootstrapMethodsr(Ljava/lang/Object;)Dt u ghw (Lnet/minecraft/core/BlockPos;)Dúz { cdd~  `##‚ ƒ md8† ‡ kl‰1(Lnet/minecraft/core/BlockPos;)Ljava/lang/Double;‹ Œ�Ž ��"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; InnerClassesFlag Occupancy•%java/lang/invoke/MethodHandles$Lookup—java/lang/invoke/MethodHandlesLookup!©ªAB’“CD!"%& EFâC*·*¸µ *+µ*(µ*µ*µ*µ#*²'¸-¶3+¸7š »=Y?·A¿±G. $ %&'(!)'*1,8-B/H>CIJCCCC!"C%&KÿBH™L!%MRFø š*´¸7š¬*¶D*´™*´¶G¶M™¬*´¶GÀSL*´¶UM+,¶[š¬*´*+,º_¸cN-Ǭ+¶iºm*ºq-¸t ²z¶€:¶„™¬*¶‰Àu¶�µ�*´¶”:*´#¹˜¶�**´�¶£µ§¶�*´§Ç\*´ *´�¸«³¸µ:Ǭ*´#¹˜¶�**´¶”´»´¾´Á¶Äµ§¶�*´§Ç¬6*´§¶Ç¢a*´§¶Í:»uY´Ñ´Õ`´×·Ù:*´¶G¸Ü™'**´¶”´Ñ‡´Õ‡´×‡¶Äµ§§ „§ÿ™*´§Æ§¬G–%3 4 68$9&<1=9?C@ECYJ]K_M|N„O†Q•SžT¬UºVÀWÇXÞYãZå\ó]^_` d/e:fTgci„j‡d�nHf ÞBNO:MPQT3R“#jS"šIJ1iKT9aU“YAVO|WXžüYZ[ |W\K2 ýSuü¬ü&…ý^ž¬ú:üûcú @]RFr4*´¶”¶â™¬*´�*´¶å*´¶é*´†b�¶íš§¬Gs tvH 4IJK"@^FB*´¶”*´§*´¶ñW±G {|H IJ_Fn2*´¶”¶âš*´�*´¶å*´‡¶í™*´ *´�¹õW±G€#�1ƒH 2IJK# `#FŒ,*´ ¹ûM,¹ÿ™,¹ÀuN+-¸™¬§ÿã¬G†‡%ˆ'Š*‹H  a“,IJ,b“K ü úLbFFU*´ ¹ ¤*´ ¹W±G��’H IJK cdF4 *²¹¬GMH  efghFºA+-¶ š&¯+¶iº(*ºq- ²z¶€:,º)¶-&¸1¶5À$¶9¯GDE G&HH4AIJAKTAU“Ai“&jX[ &j\K  klF> +*¶=w¸1°GHH U“ ’“ mdF4 *²¹¬GGH  efnop4ŠqsvŠxy|Šx}€Šx�|Š„…ˆ‘(’@{Y“@”–˜