Êþº¾Eè  java/lang/Object()V   4net/minecraft/world/entity/ai/behavior/BehaviorUtilslookAtEachOtherU(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)V  'setWalkAndLookTargetMemoriesToEachOtherW(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;FI)V  5net/minecraft/world/entity/ai/memory/MemoryModuleTypeNEAREST_VISIBLE_LIVING_ENTITIES7Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;  #net/minecraft/world/entity/ai/Brain getMemoryM(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Ljava/util/Optional;  !"java/util/Optional isPresent()Z $ %&get()Ljava/lang/Object;(Anet/minecraft/world/entity/ai/memory/NearestVisibleLivingEntities '* +,contains,(Lnet/minecraft/world/entity/LivingEntity;)Z. /0testG(Lnet/minecraft/world/entity/EntityType;)Ljava/util/function/Predicate; 2 34 targetIsValid}(Lnet/minecraft/world/entity/ai/Brain;Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;Ljava/util/function/Predicate;)Z 6 78filter4(Ljava/util/function/Predicate;)Ljava/util/Optional;: /; ()Ljava/util/function/Predicate;= />E(Lnet/minecraft/world/entity/ai/Brain;)Ljava/util/function/Predicate; @ A  lookAtEntity CDE FG'net/minecraft/world/entity/LivingEntitygetBrain'()Lnet/minecraft/world/entity/ai/Brain; I J LOOK_TARGETL4net/minecraft/world/entity/ai/behavior/EntityTracker KN O'(Lnet/minecraft/world/entity/Entity;Z)V Q RS setMemoryL(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;Ljava/lang/Object;)V U VWsetWalkAndLookTargetMemoriesQ(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/Entity;FI)V Y VZf(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/ai/behavior/PositionTracker;FI)V\6net/minecraft/world/entity/ai/behavior/BlockPosTracker [^ _ (Lnet/minecraft/core/BlockPos;)Va/net/minecraft/world/entity/ai/memory/WalkTarget `c d=(Lnet/minecraft/world/entity/ai/behavior/PositionTracker;FI)V f g WALK_TARGETinet/minecraft/world/phys/Vec3?Ó33@ hm n(DDD)V>™™š q rs throwItem�(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;F)V Cu vwgetEyeY()Dy*net/minecraft/world/entity/item/ItemEntity C{ |}level#()Lnet/minecraft/world/level/Level; C €wgetX C‚ ƒwgetZ x… †K(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/item/ItemStack;)V xˆ ‰Š setThrower&(Lnet/minecraft/world/entity/Entity;)V CŒ �Žposition!()Lnet/minecraft/world/phys/Vec3; h� ‘’subtract@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; h” •Ž normalize h— ˜™xD h› œ™y hž Ÿ™z h¡ ¢£multiply$(DDD)Lnet/minecraft/world/phys/Vec3; x¥ ¦§setDeltaMovement"(Lnet/minecraft/world/phys/Vec3;)V x© ªsetDefaultPickUpDelay ¬­® ¯°net/minecraft/world/level/LeveladdFreshEntity&(Lnet/minecraft/world/entity/Entity;)Z ²³´ µ¶&net/minecraft/server/level/ServerLevelsectionsToVillage"(Lnet/minecraft/core/SectionPos;)I ¸¹º »¼net/minecraft/core/SectionPoscube;(Lnet/minecraft/core/SectionPos;I)Ljava/util/stream/Stream;¾ /¿I(Lnet/minecraft/server/level/ServerLevel;I)Ljava/util/function/Predicate; ÁÂà 7Äjava/util/stream/Stream9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; ÆÇÈ ÉÊjava/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object;Ì ÍÎ applyAsIntL(Lnet/minecraft/server/level/ServerLevel;)Ljava/util/function/ToIntFunction; ÐÑÒ ÓÔjava/util/Comparator comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator; ÁÖ ×Ømin,(Ljava/util/Comparator;)Ljava/util/Optional; Ú ÛÊorElse ÝÞß àánet/minecraft/world/entity/MobgetMainHandItem&()Lnet/minecraft/world/item/ItemStack; ãäå æç"net/minecraft/world/item/ItemStackgetItem!()Lnet/minecraft/world/item/Item;é-net/minecraft/world/item/ProjectileWeaponItem Ýë ìícanUseNonMeleeWeapon'(Lnet/minecraft/world/item/ItemStack;)Z èï ðñgetDefaultProjectileRange()I Ýó ôõ closerThan'(Lnet/minecraft/world/entity/Entity;D)Z Ý÷ ø,isWithinMeleeAttackRange ú û ATTACK_TARGET ý þ"isEmpty C  distanceToSqr"(Lnet/minecraft/world/phys/Vec3;)D  hasMemoryValue:(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Z    getTargetNearestMe¦(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)Lnet/minecraft/world/entity/LivingEntity;  applyH(Lnet/minecraft/world/entity/LivingEntity;)Ljava/util/function/Function;  map3(Ljava/util/function/Function;)Ljava/util/Optional;  ()Ljava/util/function/Function;  3net/minecraft/world/entity/ai/util/DefaultRandomPosgetPosM(Lnet/minecraft/world/entity/PathfinderMob;II)Lnet/minecraft/world/phys/Vec3; {(net/minecraft/world/entity/PathfinderMob  !" #$net/minecraft/core/BlockPos containing<(Lnet/minecraft/core/Position;)Lnet/minecraft/core/BlockPos; ¬& '( getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; *+, -.8net/minecraft/world/level/pathfinder/PathComputationTypeWATER:Lnet/minecraft/world/level/pathfinder/PathComputationType; 012 340net/minecraft/world/level/block/state/BlockStateisPathfindable=(Lnet/minecraft/world/level/pathfinder/PathComputationType;)Z 6 7 BREED_TARGET ¬9 :; getEntity5(Ljava/util/UUID;)Lnet/minecraft/world/entity/Entity; = >?entityIsVisibleQ(Lnet/minecraft/world/entity/ai/Brain;Lnet/minecraft/world/entity/LivingEntity;)Z CA BCis(Ljava/lang/Object;)ZCodeLineNumberTableLocalVariableTablethis6Lnet/minecraft/world/entity/ai/behavior/BehaviorUtils;lockGazeAndWalkToEachOtherentity1)Lnet/minecraft/world/entity/LivingEntity;entity2 speedModifierFcloseEnoughDistanceIMethodParametersbrain%Lnet/minecraft/world/entity/ai/Brain; targetEntityvisibleEntitiesLjava/util/Optional;LocalVariableTypeTable(Lnet/minecraft/world/entity/ai/Brain<*>;YLjava/util/Optional; StackMapTable SignatureT(Lnet/minecraft/world/entity/ai/Brain<*>;Lnet/minecraft/world/entity/LivingEntity;)Z†(Lnet/minecraft/world/entity/ai/Brain;Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;Lnet/minecraft/world/entity/EntityType;)Zmemory targetType'Lnet/minecraft/world/entity/EntityType;cLnet/minecraft/world/entity/ai/memory/MemoryModuleType<+Lnet/minecraft/world/entity/LivingEntity;>;*Lnet/minecraft/world/entity/EntityType<*>;¸(Lnet/minecraft/world/entity/ai/Brain<*>;Lnet/minecraft/world/entity/ai/memory/MemoryModuleType<+Lnet/minecraft/world/entity/LivingEntity;>;Lnet/minecraft/world/entity/EntityType<*>;)ZtargetPredicateLjava/util/function/Predicate;ILjava/util/function/Predicate;×(Lnet/minecraft/world/entity/ai/Brain<*>;Lnet/minecraft/world/entity/ai/memory/MemoryModuleType<+Lnet/minecraft/world/entity/LivingEntity;>;Ljava/util/function/Predicate;)Zlookerwalker#Lnet/minecraft/world/entity/Entity;K(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/core/BlockPos;FI)V targetPosLnet/minecraft/core/BlockPos;target8Lnet/minecraft/world/entity/ai/behavior/PositionTracker; walkTarget1Lnet/minecraft/world/entity/ai/memory/WalkTarget;o(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/phys/Vec3;)Vthroweritem$Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/phys/Vec3; throwVelocityhandYDistanceFromEyeyHandPos itemEntity,Lnet/minecraft/world/entity/item/ItemEntity; throwVectorfindSectionClosestToVillagei(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/SectionPos;I)Lnet/minecraft/core/SectionPos;(Lnet/minecraft/server/level/ServerLevel;centerLnet/minecraft/core/SectionPos;radius distToVillageisWithinAttackRangeM(Lnet/minecraft/world/entity/Mob;Lnet/minecraft/world/entity/LivingEntity;I)ZmaxAllowedDistanceweapon/Lnet/minecraft/world/item/ProjectileWeaponItem;body Lnet/minecraft/world/entity/Mob;projectileAttackRangeMargin3isOtherTargetMuchFurtherAwayThanCurrentAttackTargetV(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;D)Z otherTargethowMuchFurtherAway currentTargetdistSqrToCurrentTargetdistSqrToOtherTarget?Ljava/util/Optional;canSeeU(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)ZgetNearestTarget‘(Lnet/minecraft/world/entity/LivingEntity;Ljava/util/Optional;Lnet/minecraft/world/entity/LivingEntity;)Lnet/minecraft/world/entity/LivingEntity;target1target2¼(Lnet/minecraft/world/entity/LivingEntity;Ljava/util/Optional;Lnet/minecraft/world/entity/LivingEntity;)Lnet/minecraft/world/entity/LivingEntity;pos1pos2getLivingEntityFromUUIDMemoryv(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Ljava/util/Optional; memoryType uuidMemoryILnet/minecraft/world/entity/ai/memory/MemoryModuleType;&Ljava/util/Optional;³(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Ljava/util/Optional;getRandomSwimmablePos*Lnet/minecraft/world/entity/PathfinderMob;maxHorizontalDistancemaxVerticalDistancecountRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable; isBreeding&lambda$getLivingEntityFromUUIDMemory$1N(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/entity/LivingEntity; livingEntityentity&lambda$getLivingEntityFromUUIDMemory$0^(Lnet/minecraft/world/entity/LivingEntity;Ljava/util/UUID;)Lnet/minecraft/world/entity/Entity;uuidLjava/util/UUID;$lambda$findSectionClosestToVillage$0K(Lnet/minecraft/server/level/ServerLevel;ILnet/minecraft/core/SectionPos;)Zslambda$targetIsValid$1lambda$targetIsValid$0S(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/entity/LivingEntity;)Z SourceFileBehaviorUtils.javaBootstrapMethodsC¿ À ¸¹,à CÄ Å"isAliveÇ È ·?Ê Ë ´µÍ"(Lnet/minecraft/core/SectionPos;)ZÏ(Ljava/lang/Object;)I±¶ÊÔ Õ °±;Ø Ù ¬­­Ü ÝÞß àá"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; InnerClassesä%java/lang/invoke/MethodHandles$Lookupæjava/lang/invoke/MethodHandlesLookup!D3*·±E  F GH ID] *+¸*+$¸ ±E#$ %F* JK LK MN OPQJLMO >?D‘#*²¶M,¶™,¶#À'+¶)™§¬E ()F #RS#TKUVW#RXUYZ ü!@Q RT[\ 3]Dp *+,º-¸1¬E-F  RS ^ _`W  RX ^a _bQ R^_[c 34D–*+¶,¶5º9¶5*º<¶5¶¬E123451F RS^deW RX^adfQ R^d[g DG *+¸?+*¸?±E9: ;F JK LKQ JL A DL*¶B²H»KY+·M¶P±E >?FhKTKQ hT D_*+$¸T+*$¸T±EBCDF*JKLKMNOPQJLMO VWD\*»KY+·M$¸X±E GHF*iKTjMNOPQiTMO VkD[*»[Y+·]$¸X±E KLF*iKlmMNOPQilMO VZD‚$»`Y+$·b:*¶B²H+¶P*¶B²e¶P±EO PQ#RF4$iK$no$MN$OP pqQinMO rrDk»hYjjj·lN*+,-o¸p±EUVWF*sKtulv wvQ stl rsDï _*¶t�g9»xY*¶z*¶~*¶�+·„:*¶‡,*¶‹¶�:¶“-´–-´š-´�¶ :¶¤¶¨*¶z¶«W±E& Z ["\(^2_HaObTc^dFR_sK_tu_lv_wv_xN Uy™"=z{2-|vQstlwx }~DŽ2*+¶±>+¸·*º½¹À*Y¸ÅWºË¸Ï¹Õ+¶ÙÀ¸°Egijk+l1iF*2|2€�2‚P,ƒPQ |€‚ „…D 9*¶Ü¶â:Áè™%ÀèN**¶Ü¶ê™-¶îd6*+‡¶ò¬*+¶ö¬Eq"r*s3uF4* †P‡ˆ9‰Š9nK9‹PZ3Q ‰n‹ Œ�DÚ C*¶B²ù¶:¶ü™¬*¶#ÀC¶‹¶ÿ9*+¶‹¶ÿ9((kc—ž§¬E{ |}'€1�F>C‰KCŽKC�™ 7�V'‘™1’™W  7�“Züý*@Q ‰Ž� ”•D�#*¶BM,²¶š¬,²¶¶#À'+¶)¬E…†‡‰F #‰K#nKRSW RXZüQ ‰n –—Dw+¶ü™,°*+¶#ÀC,¸°E�Ž �F ‰K˜V™KW ˜“Z Q ‰˜™[š   D� +¶‹N,¶‹:*-¶ÿ*¶ÿ˜œ+§,°E”• –F4 ‰K ˜K ™K›v œvZýhh@CQ ‰˜™ �žDz*¶B+¶M,*º ¶º¶°E š œF ‰KŸ  VWŸ¡  ¢Q ‰Ÿ[£ ¤Dª8*¸N6-Æ+*¶-¸¶%²)¶/š„ ¢ *¸N§ÿ×-°E ¡ ¢,£6¥F48‰¥8¦P8§P1lv .¨PZ ý h+Q ‰¦§©ª «,D5 *¶B²5¶¬E©F  ‰KQ‰ ¬­DS*ÁC™ *ÀCL+§°EœF ®K¯jZ@C °±D= *¶z+¶8°EœF ‰K ²³ ´µDX*,¶±¢§¬EjF |ƒP¶�Z @ ·?D:*+¸<¬E4FRS¯K ¸¹D:+*¶@¬E-F_`¯Kº»¼HÛ½¾ÁÛ½ÂÁÛ½ÆÁÛ½ÉÌÛÎÐÑÛÒÓÖÛÒ×Úâ ãåç