Êþº¾EÑ  $net/minecraft/world/entity/Leashable getLeashData2()Lnet/minecraft/world/entity/Leashable$LeashData;   .net/minecraft/world/entity/Leashable$LeashData leashHolder#Lnet/minecraft/world/entity/Entity;  leashDistanceTo&(Lnet/minecraft/world/entity/Entity;)D  leashSnapDistance()D   canBeLeashed()Z  !net/minecraft/world/entity/EntitygetBoundingBox!()Lnet/minecraft/world/phys/AABB; !" #$net/minecraft/world/phys/AABB getCenter!()Lnet/minecraft/world/phys/Vec3; &'( )*net/minecraft/world/phys/Vec3 distanceTo"(Lnet/minecraft/world/phys/Vec3;)D , -.(I)V 0 12 setLeashData3(Lnet/minecraft/world/entity/Leashable$LeashData;)V 4 56 dropLeash((Lnet/minecraft/world/entity/Entity;ZZ)V8leash : ;<CODEC Lcom/mojang/serialization/Codec; >?@ AB,net/minecraft/world/level/storage/ValueInputreadH(Ljava/lang/String;Lcom/mojang/serialization/Codec;)Ljava/util/Optional; DEF GHjava/util/OptionalorElse&(Ljava/lang/Object;)Ljava/lang/Object; J KL removeLeash()V NOP QR-net/minecraft/world/level/storage/ValueOutput storeNullableG(Ljava/lang/String;Lcom/mojang/serialization/Codec;Ljava/lang/Object;)V T UVdelayedLeashInfo#Lcom/mojang/datafixers/util/Either; X YZlevel#()Lnet/minecraft/world/level/Level;\&net/minecraft/server/level/ServerLevel ^_` ab!com/mojang/datafixers/util/Eitherleft()Ljava/util/Optional; ^d ebright Dg h isPresent Dj klget()Ljava/lang/Object;njava/util/UUID [p qr getEntity5(Ljava/util/UUID;)Lnet/minecraft/world/entity/Entity; t uv setLeashedToJ(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/Entity;Z)Vxnet/minecraft/core/BlockPos z{| }~:net/minecraft/world/entity/decoration/LeashFenceKnotEntitygetOrCreateKnot|(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/entity/decoration/LeashFenceKnotEntity; € �‚ tickCountI„net/minecraft/SharedConstants †‡ˆ ‰Šnet/minecraft/world/item/ItemsLEADLnet/minecraft/world/item/Item; Œ �ŽspawnAtLocationz(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/ItemLike;)Lnet/minecraft/world/entity/item/ItemEntity; � ‘LonLeashRemoved [“ ”•getChunkSource/()Lnet/minecraft/server/level/ServerChunkCache;—Bnet/minecraft/network/protocol/game/ClientboundSetEntityLinkPacket –™ -šI(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/Entity;)V œ�ž Ÿ +net/minecraft/server/level/ServerChunkCachesendToTrackingPlayersM(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/network/protocol/Packet;)V ¢ £¤notifyLeasheeRemoved)(Lnet/minecraft/world/entity/Leashable;)V ¦ §¨restoreLeashFromSaveV(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/Leashable$LeashData;)V ª «canInteractWithLevel [­ ®¯ getGameRules1()Lnet/minecraft/world/level/gamerules/GameRules; ±²³ ´µ-net/minecraft/world/level/gamerules/GameRules ENTITY_DROPS.Lnet/minecraft/world/level/gamerules/GameRule; ±· k¸B(Lnet/minecraft/world/level/gamerules/GameRule;)Ljava/lang/Object;ºjava/lang/Boolean ¹¼ ½ booleanValue ¿ 5L Á ÂÃgetLeashHolder%()Lnet/minecraft/world/entity/Entity; Å ÆÇ whenLeashedTo&(Lnet/minecraft/world/entity/Entity;)V É ÊgetX Ì ÍgetY Ï ÐgetZ ÒÓÔ ÕÖ net/minecraft/sounds/SoundEvents LEAD_BREAK!Lnet/minecraft/sounds/SoundEvent; ØÙÚ ÛÜ net/minecraft/sounds/SoundSourceNEUTRAL"Lnet/minecraft/sounds/SoundSource; [Þ ßà playSoundn(Lnet/minecraft/world/entity/Entity;DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V â ãLleashTooFarBehaviour å æleashElasticDistance è éê getBbWidth()F ì íîcheckElasticInteractionsV(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/Leashable$LeashData;)Z ð ñLonElasticLeashPull ó ôÇcloseRangeLeashBehaviour ö ÷êgetYRot ù úûangularMomentumD ý þÿsetYRot(F)V  angularFriction&(Lnet/minecraft/world/entity/Entity;)F  LcheckFallDistanceAccumulation@(@   onGround  %getBlockPosBelowThatAffectsMyMovement()Lnet/minecraft/core/BlockPos;  net/minecraft/world/level/Level getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;  0net/minecraft/world/level/block/state/BlockStategetBlock)()Lnet/minecraft/world/level/block/Block;  ! "ê%net/minecraft/world/level/block/Block getFriction?hõà % & isInLiquid?LÌÍ ) *¤notifyLeashHolder , -supportQuadLeashAsHolder / 0supportQuadLeash 2 34SHARED_QUAD_ATTACHMENT_POINTSLjava/util/List; 6 74ENTITY_ATTACHMENT_POINT 9 :4LEASHER_ATTACHMENT_POINT < =>computeElasticInteractionx(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/Entity;Ljava/util/List;Ljava/util/List;)Ljava/util/List; @AB Cjava/util/ListisEmpty EFG HI+net/minecraft/world/entity/Leashable$Wrench accumulate?(Ljava/util/List;)Lnet/minecraft/world/entity/Leashable$Wrench;?Ð EM NOscale0(D)Lnet/minecraft/world/entity/Leashable$Wrench;@$ ES Ttorque V WXgetHolderMovementD(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/phys/Vec3; Z [$getKnownMovement &] ^_subtract@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; Ea b$force d efAXIS_SPECIFIC_ELASTICITYLnet/minecraft/world/phys/Vec3; &h i_multiply?¼(õÂ�\) &m Nn"(D)Lnet/minecraft/world/phys/Vec3; &p q_add s tuaddDeltaMovement"(Lnet/minecraft/world/phys/Vec3;)Vwnet/minecraft/world/entity/Mob vy zisNoAi &| }fZEROnet/minecraft/util/Mth<Žú5 ‚ ƒê getBbHeight &… -†(DDD)Vˆjava/util/ArrayList ‡Š -L @Œ �Žsize()I @� k‘(I)Ljava/lang/Object; &“ ”•yRot"(F)Lnet/minecraft/world/phys/Vec3; — ˜$position š ›œ computeDampenedSpringInteraction“(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;DLnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;)Ljava/util/Optional; žŸ  ¡Hjava/util/ObjectsrequireNonNull£ ¤¥accept/(Ljava/util/List;)Ljava/util/function/Consumer; D§ ¨© ifPresent (Ljava/util/function/Consumer;)V D« ¬bempty &® ¯$ normalize E± ²³torqueFromForceA(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;)D &µ ¶*dot?Ó33@ Eº -»#(Lnet/minecraft/world/phys/Vec3;D)V D½ ¾¿of((Ljava/lang/Object;)Ljava/util/Optional;?à à ÄÅcreateQuadLeashOffsetsI(Lnet/minecraft/world/entity/Entity;DDDD)[Lnet/minecraft/world/phys/Vec3; Ç È$getLeashOffset Ê Ëê getEyeHeight>ÌÌÍ Î -Ç Ð ÑÇsetLeashHolder Ó Ô isPassenger Ö ×L stopRiding Ù ÂÚH(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/entity/Entity; Ü Ý‚delayedLeashHolderId ß qà&(I)Lnet/minecraft/world/entity/Entity; â ã isClientSideå æçtestC(Lnet/minecraft/world/entity/Entity;)Ljava/util/function/Predicate; é êëleashableInAreaS(Lnet/minecraft/world/entity/Entity;Ljava/util/function/Predicate;)Ljava/util/List; í êîp(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/phys/Vec3;Ljava/util/function/Predicate;)Ljava/util/List;@@ ò óôofSizeC(Lnet/minecraft/world/phys/Vec3;DDD)Lnet/minecraft/world/phys/AABB;ö æ÷>(Ljava/util/function/Predicate;)Ljava/util/function/Predicate; ù úûgetEntitiesOfClass`(Ljava/lang/Class;Lnet/minecraft/world/phys/AABB;Ljava/util/function/Predicate;)Ljava/util/List; @ý þÿstream()Ljava/util/stream/Stream; apply0(Ljava/lang/Class;)Ljava/util/function/Function;   java/util/stream/Streammap8(Ljava/util/function/Function;)Ljava/util/stream/Stream;    toList()Ljava/util/List;  æjava/util/function/Predicate(Ljava/lang/Object;)Z?é™™™™™š?É™™™™™š  ¾'com/google/common/collect/ImmutableList=(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;¿à  ¾ s(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;"java/lang/Object LEASH_TAGLjava/lang/String; ConstantValueLEASH_TOO_FAR_DISTLEASH_ELASTIC_DISTMAXIMUM_ALLOWED_LEASHED_DIST@0SPRING_DAMPENINGF?333TORSIONAL_ELASTICITY STIFFNESS Signature1Ljava/util/List;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;MethodParameters leashData isLeashedCodeLineNumberTableLocalVariableTablethis&Lnet/minecraft/world/entity/Leashable; StackMapTable mayBeLeashedcanHaveALeashAttachedTo&(Lnet/minecraft/world/entity/Entity;)ZentitysetDelayedLeashHolderIdentityId readLeashData1(Lnet/minecraft/world/level/storage/ValueInput;)Vinput.Lnet/minecraft/world/level/storage/ValueInput; newLeashData0Lnet/minecraft/world/entity/Leashable$LeashData;writeLeashDatab(Lnet/minecraft/world/level/storage/ValueOutput;Lnet/minecraft/world/entity/Leashable$LeashData;)Voutput/Lnet/minecraft/world/level/storage/ValueOutput;leasher leashUuidLjava/util/Optional;pos serverLevel(Lnet/minecraft/server/level/ServerLevel;LocalVariableTypeTable&Ljava/util/Optional;3Ljava/util/Optional;TE;„(TE;Lnet/minecraft/world/entity/Leashable$LeashData;)V sendPacketZdropLeadV(TE;ZZ)V tickLeashN(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/Entity;)V|(Lnet/minecraft/server/level/ServerLevel;TE;)VT(TE;)FquadConnectionwrenchesresult-Lnet/minecraft/world/entity/Leashable$Wrench;relativeVelocityToLeasher?Ljava/util/List;mob Lnet/minecraft/world/entity/Mob;entityAttachVectorentityAttachPosleasherAttachVectorleasherAttachPosientityAttachmentPointsleasherAttachmentPoints slackDistancecurrentMovement entityYRotentityDimensionsleashHolderYRotleasherDimensions(TE;Lnet/minecraft/world/entity/Entity;Ljava/util/List;Ljava/util/List;)Ljava/util/List; pivotPointobjectPosition springSlack objectMotionleverArmdistance displacementsameDirectionToMovementÂ(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;DLnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/phys/Vec3;)Ljava/util/Optional;getQuadLeashOffsets"()[Lnet/minecraft/world/phys/Vec3; frontOffset frontBack leftRightheightwidthfrontOffsetScaledfrontBackScaledleftRightScaled heightScaled partialTicks'(Lnet/minecraft/world/entity/Entity;Z)Vholdersynch oldHolderx(TE;Lnet/minecraft/world/entity/Entity;Z)Vnttv(TE;)Lnet/minecraft/world/entity/Entity;leashableLeashedTo5(Lnet/minecraft/world/entity/Entity;)Ljava/util/List;](Lnet/minecraft/world/entity/Entity;)Ljava/util/List;Ljava/util/function/Predicate;FLjava/util/function/Predicate;£(Lnet/minecraft/world/entity/Entity;Ljava/util/function/Predicate;)Ljava/util/List;!Lnet/minecraft/world/level/Level;scanAreaLnet/minecraft/world/phys/AABB;À(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/phys/Vec3;Ljava/util/function/Predicate;)Ljava/util/List;lambda$leashableInArea$0D(Ljava/util/function/Predicate;Lnet/minecraft/world/entity/Entity;)Z leashableelambda$leashableLeashedTo$0L(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/Leashable;)Zl SourceFileLeashable.java NestMembersBootstrapMethods©(Ljava/lang/Object;)V « @¬ q®0(Lnet/minecraft/world/entity/Leashable$Wrench;)V± ²  ¡´)(Lnet/minecraft/world/entity/Leashable;)Z¶ · œ�?H» ¼½¾ ¿Hjava/lang/ClasscastÁK(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/entity/Leashable;à ÄÅÆ ÇÈ"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 LeashDataWrenchÍ%java/lang/invoke/MethodHandles$LookupÏjava/lang/invoke/MethodHandlesLookup! #$%7&û%'û% (û%)ef+,%-.û%P/û%j7401:4013401*2312452 367P*¹Æ*¹´Æ§¬8*9 :;<@=7D*¹Æ§¬8.9 :;< @>?7o!*+¦¬*+¹ *¹—ž¬*¹¬8235689!:;!@ <4@7I+¶¶*À¶¶¶%¯8<9:;@ 4@7,¬8@9 :;A.7T*»Y·+¹/*À¸3±8DEF9:;B‚4BCD7Š.+7²9¹=¶CÀM*¹Æ ,Ç *¹I*,¹/±8IJ K&M-N9 .:;.EFGH<ü&4EIJ7O +7²9,¹M±8 Q R9  :; KL 5H4 K52 3 §¨7W„+´SÆ*¶WN-Á[™s-À[M+´S¶]N+´S¶c:-¶f™ ,-¶iÀm¶o:Æ *¸s±§¶f™*,¶iÀw¸y¸s±*´d¤*,²…¶‹W*À¹/±8>WX Y)Z0[=\B]I^J`Uafbgepfygƒj9>= M  cNO)ZPOkQR„@ „5HS  cNT)ZPU„@V<þJ[DDø4 @50W5L78 *À¸3±8 m n9  :;KL78 *À¸3±8 q r9  :;‘L7+±8u9 :; 567m*À¹N-Æa-´ÆZ*À¹/*À¹�*¶W:Á[™9À[:™ *²…¶‹W™¶’*»–Y*·˜¶›-´*À¶¡±8. y z{|(}=~AK‚Oƒa…lˆ94=/YRm@ mXYmZY c5HS m@V<ýK[ú 4 @XZ0[ \]7ö +À¹M,Æ,´SÆ+,¸¥,Æ ,´Ç±+¶©™ ,´¶©š+*¶¬²°¶¶À¹¶»™+À¹¾§ +À¹I+À¹ÀN-Æ´-¶W+¶W¦©+À-¹ 9+À-¹Ä+À¹—ž(*-¶È-¶Ë-¶Î²Ñ²× ¶Ý+À¹á§B+À¹ä-¶ç�g+¶ç�g—ž+À-,¹ë™+À¹ï§ +À-¹ò++¶õ�,´øg�¶ü,Y´ø+¸�kµø±8Z‹ Œ��%�&’7“J”V–_™išx›„�ŽŸ� ¶¡Â¢ë£÷¥¨©«94„š)ûYR@  5Hi¶ S @V< ü ýb4 ú4 Y@0^ñL7F *ÀL+¶±8®¯ °9 :;@ 7.¯8³9 :;æ7. ¯8·9 :; 7‚,*¶ ™*¶W*¶¶¶¶#j®*¶$™'®#®8»¼¿$À(Â9 ,@ S ,@V< 4@0_ÆÇ7>+*¶(±8 ÆÇ9:; 4 ãL75*¹¾±8 ÊË9 :;ôÇ75±8Î9:; 4 íî7Õœ+¶+™*¹.™§>*À+™ ²1§²5™ ²1§²8¸;:¹?™¬¸D™ J§¶L:,Y´øP¶Rkcµø+¸U*À¶Y¶\:*À¶`²c¶gj¶l¶o¶r¬82 âãä(å5ã:çDéFë[ìmí}îšï9Hœ:;œ œ5H†`Y:ba4[Abc}dfS :bae<� @ÿÿ@ÿ @ÿ@@ü@NEÿ@E4  5 WX7a*Áv™*ÀvL+¶x™²{°*¶Y°8ôõ÷9 fg <4  =>7-×*À¹ä9*¸U:*¶õ€j8»&Y*¶ç�*¶��*¶ç�·„:+¶õ€j8 »&Y+¶ç�+¶��+¶ç�·„: »‡Y·‰: 6  ,¹‹¢k, ¹�À&¶gv¶’: *¶– ¶o:- ¹�À& ¶g v¶’:+¶–¶o: ¸™ Y¸�Wº¢¶¦„ §ÿ� °8>û üþÿ3=U^l„�§ ² ÎÔ 9¢„Jhf �?if§'jf²kfasl‚ ×@ × ×m4×n4 ÌoûÆpf¼q,3¤rf=šs, U‚tf ^ya4 S*×@V×m1×n1^yae <(ÿa @@&&&@úr4@ mn0u ›œ7 ]+*¶%9(˜œ¸ª°*+¶\¶­(g¶l:¸°9 ¶´—›§6  ™ ·¶l:»EY ·¹¸¼°8& #,?DN9\ ]vf]wf]xû]yf]zfV{û#:|f,1Tû ?}Y <üý)&@ü4vwxyz0~07,¬8!9 :;€7< *ÀÀÀÀ¸°8%9 :; ÄÅ7 {*¶ç8 ' �k9 ) �k9  �k9*¶��k9½&Y»&Yw  c·„SY»&Yw w c·„SY»&Y w c·„SY»&Y  c·„S°8)* +,-&/9f {@ {�û{‚û{ƒû{„ûu…, n†û g‡û _ˆû&U‰û4@�‚ƒ„È•7;*¹Æ°8<9:;Š,4ŠÈ$7T*ÀL»&Y+¶É�+¶çÌj�·„°8 @A9:;@ u‹7c*+¦±*À+¸s±8EFHI9 :;Œ �Y<4 Œ� uv7)z*À¹N-Ç»Y+·ÍN*À-¹/§"-´:-+¶ÏÆ+¥ *À¶¡™**¶W:Á[™À[:¶’*»–Y*+·˜¶›*¶Ò™*¶Õ±86 L MNO$Q*R/S:TCX\Yn\u]y_9>*Ž \YRz@ zŒ z�Y p5HS z@V< ü$* 4 @Œ�0�ÂÃ72*À¸ذ8c9 :;23 ÂÚ7·;*À¹L+ǰ*¶W+´Û¶ÞM+´Û™*¶W¶á™ ,Æ+,¶Ï+´°8g hilm1n6p9 ;@ 15H� S ;@V<üü%4@0‘23 ’“75 **ºä¸è°8t9  @ 4@0” êë7V*¶W*¶¶+¸ì°8x9@ æ•S æ–4 @æ0— êî7©=ïJ+ïïï¸ñ:*,ºõ¶ø¹üY¸�Wº¹¹ °8|}~94=Y˜=Pf=æ•9�û*™šS =æ–4 YPæ0› œ�7e+Á™+ÀM*,¹™§¬8~9  ž;敟 <@  ¡7O+¹À*¦§¬8t9@ ¢;<@£L7¤ €»&Y·„³c»&YÀÀ·„¸³5»&YÀ·„¸³8»&YÀÀ·„»&YÀ·„»&YÀÀ·„»&YÀÀÀ·„¸³1±8ÒÝ'Þ9ߤ¥¦E§*¨ª­Â¯°³Â¯µ¸Â¹ºÀÉÊEËÌÎÐ