Êþº¾E“2net/minecraft/world/entity/monster/breeze/LongJump  5net/minecraft/world/entity/ai/memory/MemoryModuleType ATTACK_TARGET7Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;  1net/minecraft/world/entity/ai/memory/MemoryStatus VALUE_PRESENT3Lnet/minecraft/world/entity/ai/memory/MemoryStatus;  BREEZE_JUMP_COOLDOWN   VALUE_ABSENT  BREEZE_JUMP_INHALING   REGISTERED  BREEZE_JUMP_TARGET   BREEZE_SHOOT " # WALK_TARGET % &BREEZE_LEAVING_WATER ()* +, java/util/Mapof (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;.net/minecraft/SharedConstants 012 34/net/minecraft/world/entity/ai/behavior/Behavior(Ljava/util/Map;I)V 678 9:0net/minecraft/world/entity/monster/breeze/BreezeonGround()Z 6< =: isInWater 6? @AgetFluidJumpThreshold()D CDE FGnet/minecraft/tags/FluidTagsENTITY_FLOATABLELnet/minecraft/tags/TagKey; 6I JKisInFluidDeeperThan(DLnet/minecraft/tags/TagKey;)Z 6M N:isInLava 6P QRgetBrain'()Lnet/minecraft/world/entity/ai/Brain; TUV WX#net/minecraft/world/entity/ai/Brain checkMemorym(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;Lnet/minecraft/world/entity/ai/memory/MemoryStatus;)Z TZ [\ getMemoryM(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Ljava/util/Optional; ^_` abjava/util/OptionalorElse&(Ljava/lang/Object;)Ljava/lang/Object;d'net/minecraft/world/entity/LivingEntity f ghoutOfAggroRange^(Lnet/minecraft/world/entity/monster/breeze/Breeze;Lnet/minecraft/world/entity/LivingEntity;)Z Tj kl eraseMemory:(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)V n ohtooCloseForJump q rscanJumpFromCurrentPosition](Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/monster/breeze/Breeze;)Z 6u vw getRandom#()Lnet/minecraft/util/RandomSource; yz{ |}4net/minecraft/world/entity/monster/breeze/BreezeUtilrandomPointBehindTargetk(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/util/RandomSource;)Lnet/minecraft/world/phys/Vec3;  €� snapToSurfaceg(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/core/BlockPos; ƒ„… †‡net/minecraft/core/BlockPosbelow()Lnet/minecraft/core/BlockPos; ‰Š‹ Œ�&net/minecraft/server/level/ServerLevel getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; 6� �‘getType)()Lnet/minecraft/world/entity/EntityType; “”• –—%net/minecraft/world/entity/EntityTypeisBlockDangerous5(Lnet/minecraft/world/level/block/state/BlockState;)Z ™š› œ�net/minecraft/world/phys/Vec3 atCenterOf;(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/world/phys/Vec3; yŸ  ¡hasLineOfSightT(Lnet/minecraft/world/entity/monster/breeze/Breeze;Lnet/minecraft/world/phys/Vec3;)Z ƒ£ ¤¥above (I)Lnet/minecraft/core/BlockPos; T§ ¨© setMemoryL(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;Ljava/lang/Object;)V « ¬scanRun 6® ¯°getPose#()Lnet/minecraft/world/entity/Pose; ²³´ µ¶net/minecraft/world/entity/PoseSTANDING!Lnet/minecraft/world/entity/Pose; T¸ ¹ºhasMemoryValue:(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Z ¼½¾ ¿Ànet/minecraft/util/UnitINSTANCELnet/minecraft/util/Unit;  ÃÄINHALING_DURATION_TICKSI TÆ ÇÈsetMemoryWithExpiryM(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;Ljava/lang/Object;J)V ²Ê ˶INHALING 6Í ÎÏsetPose$(Lnet/minecraft/world/entity/Pose;)V ÑÒÓ ÔÕ net/minecraft/sounds/SoundEvents BREEZE_CHARGE!Lnet/minecraft/sounds/SoundEvent; רÙ ÚÛ net/minecraft/sounds/SoundSourceHOSTILE"Lnet/minecraft/sounds/SoundSource; ‰Ý Þß playSoundŽ(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/Entity;Lnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)Vá âãacceptQ(Lnet/minecraft/world/entity/monster/breeze/Breeze;)Ljava/util/function/Consumer; ^å æç ifPresent (Ljava/util/function/Consumer;)V é êëisFinishedInhaling5(Lnet/minecraft/world/entity/monster/breeze/Breeze;)Zí îïapplyQ(Lnet/minecraft/world/entity/monster/breeze/Breeze;)Ljava/util/function/Function; ^ñ òóflatMap3(Ljava/util/function/Function;)Ljava/util/Optional; Ñõ öÕ BREEZE_JUMP 6ø Þù&(Lnet/minecraft/sounds/SoundEvent;FF)V ²û ü¶ LONG_JUMPING 6þ ÿyBodyRotF 6 setYRot(F)V 6 setDiscardFriction(Z)V 6   setDeltaMovement"(Lnet/minecraft/world/phys/Vec3;)V  ëisFinishedJumping Ñ Õ BREEZE_LAND  HURT_BY d ^ :isEmpty %net/minecraft/world/level/ClipContext "#$ %&net/minecraft/core/DirectionDOWNLnet/minecraft/core/Direction;@$ ™* +,relative@(Lnet/minecraft/core/Direction;D)Lnet/minecraft/world/phys/Vec3; ./0 12+net/minecraft/world/level/ClipContext$BlockCOLLIDER-Lnet/minecraft/world/level/ClipContext$Block; 456 78+net/minecraft/world/level/ClipContext$FluidNONE-Lnet/minecraft/world/level/ClipContext$Fluid; : 3;¾(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 c= >?level#()Lnet/minecraft/world/level/Level; ABC DEnet/minecraft/world/level/LevelclipR(Lnet/minecraft/world/level/ClipContext;)Lnet/minecraft/world/phys/BlockHitResult; GHI �J"net/minecraft/world/phys/HitResult+()Lnet/minecraft/world/phys/HitResult$Type; LMN OP'net/minecraft/world/phys/HitResult$TypeBLOCK)Lnet/minecraft/world/phys/HitResult$Type; GR ST getLocation!()Lnet/minecraft/world/phys/Vec3; ƒV WX containing<(Lnet/minecraft/core/Position;)Lnet/minecraft/core/BlockPos; ƒZ ¤‡ "\ ]&UP _`a bc3net/minecraft/world/entity/ai/attributes/Attributes FOLLOW_RANGELnet/minecraft/core/Holder; 6e fggetAttributeValue(Lnet/minecraft/core/Holder;)D ci jk closerThan'(Lnet/minecraft/world/entity/Entity;D)Z cm no distanceTo&(Lnet/minecraft/world/entity/Entity;)Fq2net/minecraft/world/entity/monster/breeze/BreezeAi@€ 6t u‡ blockPosition wxy z{&net/minecraft/world/level/block/Blocks HONEY_BLOCK'Lnet/minecraft/world/level/block/Block; }~ €�0net/minecraft/world/level/block/state/BlockStateis(Ljava/lang/Object;)Z ƒƒ +„>(Lnet/minecraft/core/Direction;I)Lnet/minecraft/core/BlockPos; }† ‡:isAir ‰‰ Š‹ getFluidStateN(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/material/FluidState; C� ŽGWATER �‘’ €“-net/minecraft/world/level/material/FluidState(Lnet/minecraft/tags/TagKey;)Z • –—ALLOWED_ANGLES/Lit/unimi/dsi/fastutil/objects/ObjectArrayList; ™š› œ�net/minecraft/util/Util shuffledCopyb(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lnet/minecraft/util/RandomSource;)Ljava/util/List; Ÿ ¡ ¢£java/util/Listiterator()Ljava/util/Iterator; ¥¦§ ¨:java/util/IteratorhasNext ¥ª «¬next()Ljava/lang/Object;®java/lang/Integer ­° ±²intValue()I=nîï µ¶· ¸¹3net/minecraft/world/entity/ai/behavior/LongJumpUtilcalculateJumpVectorForAngleX(Lnet/minecraft/world/entity/Mob;Lnet/minecraft/world/phys/Vec3;FIZ)Ljava/util/Optional; ^» ¼: isPresent ¾¿À Ác%net/minecraft/world/effect/MobEffects JUMP_BOOST 6à ÄÅ hasEffect(Lnet/minecraft/core/Holder;)Z ^Ç È¬get ™Ê ËT normalize ™Í ÎÏyD 6Ñ ÒÓgetJumpBoostPower()FÕ îÖ (D)Ljava/util/function/Function; ^Ø Ùómap ^Û ÜÝempty()Ljava/util/Optional; ß àscheckExtraStartConditions â ãä canStillUse^(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/monster/breeze/Breeze;J)Z æ çèstop^(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/monster/breeze/Breeze;J)V ê ëètick í îèstart ™ð ñòadd$(DDD)Lnet/minecraft/world/phys/Vec3; ™ô õ�atBottomCenterOf ÷ øùcalculateOptimalJumpVectorˆ(Lnet/minecraft/world/entity/monster/breeze/Breeze;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/phys/Vec3;)Ljava/util/Optional; ûüý þÿLnet/minecraft/commands/arguments/EntityAnchorArgument$Anchor; 6 lookAt`(Lnet/minecraft/commands/arguments/EntityAnchorArgument$Anchor;Lnet/minecraft/world/phys/Vec3;)VA    java/lang/Mathround(F)I -it/unimi/dsi/fastutil/objects/ObjectArrayList ­ valueOf(I)Ljava/lang/Integer;  com/google/common/collect/Lists newArrayList*([Ljava/lang/Object;)Ljava/util/ArrayList;   3(Ljava/util/Collection;)VREQUIRED_AIR_BLOCKS_ABOVE ConstantValueJUMP_COOLDOWN_TICKS JUMP_COOLDOWN_WHEN_HURT_TICKSDEFAULT_FOLLOW_RANGEAÀDEFAULT_MAX_JUMP_VELOCITY?³33MAX_JUMP_VELOCITY_MULTIPLIER SignatureDLit/unimi/dsi/fastutil/objects/ObjectArrayList;()VCodeLineNumberTableLocalVariableTablethis4Lnet/minecraft/world/entity/monster/breeze/LongJump;RuntimeInvisibleAnnotations1Lcom/google/common/annotations/VisibleForTesting;(Lnet/minecraft/server/level/ServerLevel;breeze2Lnet/minecraft/world/entity/monster/breeze/Breeze; attackTarget)Lnet/minecraft/world/entity/LivingEntity; targetPosLnet/minecraft/core/BlockPos;bs2Lnet/minecraft/world/level/block/state/BlockState; StackMapTableMethodParameters timestampJvelocityVectorLnet/minecraft/world/phys/Vec3;wasHurtZinWater isJumpinglandedOnGround landedInWaterentitytargetcollisionBelow'Lnet/minecraft/world/level/ClipContext; surfaceBelow$Lnet/minecraft/world/phys/HitResult;collisionAbove surfaceAboveRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable; offsetPosi currentPosjumpEffectAmplifiermaxJumpVelocityLjava/util/Optional;anglebodyrandom!Lnet/minecraft/util/RandomSource; allowedAnglesLjava/util/List;LocalVariableTypeTable5Ljava/util/Optional;%Ljava/util/List;©(Lnet/minecraft/world/entity/monster/breeze/Breeze;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/phys/Vec3;)Ljava/util/Optional;T(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;)ZU(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;J)ZU(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;J)V#lambda$calculateOptimalJumpVector$0A(DLnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3;v lambda$tick$0e(Lnet/minecraft/world/entity/monster/breeze/Breeze;Lnet/minecraft/core/BlockPos;)Ljava/util/Optional;lambda$start$0R(Lnet/minecraft/world/entity/monster/breeze/Breeze;Lnet/minecraft/core/BlockPos;)VeLnet/minecraft/world/entity/ai/behavior/Behavior; SourceFile LongJump.javaBootstrapMethodso(Ljava/lang/Object;)Vq r ght (Lnet/minecraft/core/BlockPos;)Vbw x efz3(Lnet/minecraft/core/BlockPos;)Ljava/util/Optional;| } bc@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3;� ‚ƒ„ …†"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; InnerClassesBlockFluidTypeŒ5net/minecraft/commands/arguments/EntityAnchorArgumentAnchor�%java/lang/invoke/MethodHandles$Lookup‘java/lang/invoke/MethodHandlesLookup!0ÄÄÄ ÃÄ!"#$%³–—&'3()c5*²² ²²²²²²²²²!²²$²¸'È·/±* 34<+ 5,-./ ¬s)¥Í+¶5š +¶;š¬++¶>²B¶Hš +¶L™¬+¶O²² ¶S™¬+¶O²¶Y¶]ÀcM,Ǭ+,¸e™+¶O²¶i¬+,¸m™¬*+¸pš¬+,+¶t¸x¸~N-Ǭ*-¶‚¶ˆ:+¶Ž¶’™¬+-¸˜¸žš+-¶¢¸˜¸žš¬+¶O²-¶¦¬*j?@D%E'H7I9LKMONQQYRcSeVmWoZw[y^†_Š`Œc–d¢e¤i¾jÀmËn+4Í>0Í12K‚34†G56–7789 üc üƒü}: >1às)D+,¸ª¬*s+ ,->012: >1ãä)p,¶­²±¥,¶O²¶·š§¬*x+*,->012;<9@: >1;îè)³J,¶O²²¶S™,¶O²²»²Á…¶Å,²É¶Ì+,²Ð²Ö ¶Ü,¶O²¶Y,ºà¶ä±*}~!�(‚6ƒF„I…+*J,-J>0J12J;<9!: >1;ëè)ýá,¶;6š,¶O²$² ¶S™ ,¶O²$¶i,¸è™d,¶O²¶Y,ºì¶ð¶]À™:Ç ,²±¶Ì±™,¶O²$²»¶¦,²ô ¶÷,²ú¶Ì,,´ý¶,¶,¶ §V,¸ ™O,² ¶÷,²±¶Ì,¶,¶O²¶·6,¶O²²»™ §¶Å,¶O²²»¶Å±*j‰Š‹%�,Ž-�<�@‘H“M”T•U˜Z™g›pœw�ž„ŸŠ ”¡�¢¤£©¥µ¦Ð¨àª+HHB=>µ+?@á,-á>0á12á;<ÛA@9Lü%ü/™ú%ÿ<‰6T¼ÿ‰6T¼ú: >1;çè) :,¶­²ú¥ ,¶­²É¦ ,²±¶Ì,¶O²¶i,¶O²¶i,¶O²$¶i±*®¯±%²/³9´+*:,-:>0:12:;<9: >1; êë)U *¶O²¶Y¶™*¶­²É¦§¬*·+  129@:1 ë)±D*¶­²ú¦§<*¶5=*¶;™*¶O²$²¶S™§>™š™§¬*»¼½2¾+*D124B@/C@2D@9@ý @ü @:1 €�) w»Y++²!'¶)²-²3*·9M*¶<,¶@N-¶F²K¦-¶Q¸U¶Y°»Y++²['¶)²-²3*·9:*¶<¶@:¶F²K¦¶Q¸U¶Y°°*& ÂÃ#Ä-Å8ÈSÉ^ÊiËuÍ+>wE4wF>]GH#TIJS$KH^LJ9ý8Gý<G: EFMN gh)T+**²^¶d¶hš§¬*Ñ+12349@: 13 oh)S+*¶lrf –�§¬*Õ+12349@: 13 rs)ÓK+¶sM*,¶ˆ²v¶|™¬>£0,²[¶‚:*¶ˆ¶…š*¶ˆ²Œ¶�𬄧ÿѬ*& ÙÛÜßà&áAâCßIå+4&O62PÄK>0K12FQ69üƒü+ú: >1 øù)Y ‚²”+¸˜N-¹ž:¹¤™g¹©À­¶¯6³*²^¶d�j8*,¸´:¶º™3*²½¶™&¶ÆÀ™¶É´Ì*¶Ð�k9ºÔ¶×°°§ÿ•¸Ú°*2 éë)ì7í>îCðKñUòkóxõ{÷~ø+Rk RÏ7DSC8=T)RUÄ‚V2‚WX‚5>zYZ[C8=\zY]9ýŸ¥þg^øú: VW5&^Dà_)4 *+,À6¶Þ¬*$+  ,-: >1Dã`)5 *+,À6!¶á¬*$+  ,-: >1;Dça)5 *+,À6!¶å±*$+  ,-: >1;Dëa)5 *+,À6!¶é±*$+  ,-: >1;Dîa)5 *+,À6!¶ì±*$+  ,-: >1; bc)<,&¶ï°*ó+RÏd> ef)A **¶t+¸ó¸ö°*�+ 12 56 gh)@ *²ú+¸˜¶±*„+ 12 56i()_C¸³Á» Y½­Y(¸ SY7¸ SY<¸ SYK¸ SYP¸ S¸·³”±* * /&jklm €nps€uvy€u{~‡*.ˆ@4‰@LGŠ@û‹�@Ž�’