Êþº¾Ep  -net/minecraft/world/item/ProjectileWeaponItem-(Lnet/minecraft/world/item/Item$Properties;)V   %net/minecraft/world/item/CrossbowItemstartSoundPlayedZ   midLoadSoundPlayed  ARROW_OR_FIREWORKLjava/util/function/Predicate;   ARROW_ONLY  (net/minecraft/world/entity/player/Player getItemInHandK(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;  !"+net/minecraft/core/component/DataComponentsCHARGED_PROJECTILES0Lnet/minecraft/core/component/DataComponentType; $%& '("net/minecraft/world/item/ItemStackgetD(Lnet/minecraft/core/component/DataComponentType;)Ljava/lang/Object;*5net/minecraft/world/item/component/ChargedProjectiles ), -.isEmpty()Z 0 12getShootingPower:(Lnet/minecraft/world/item/component/ChargedProjectiles;)F 4 56performShootingÁ(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;FFLnet/minecraft/world/entity/LivingEntity;)V 89: ;<%net/minecraft/world/InteractionResultCONSUME/Lnet/minecraft/world/InteractionResult$Success; > ?@ getProjectileJ(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/world/item/ItemStack; $, C DEstartUsingItem((Lnet/minecraft/world/InteractionHand;)V 8G HIFAIL,Lnet/minecraft/world/InteractionResult$Fail; KLM NOnet/minecraft/world/item/ItemsFIREWORK_ROCKETLnet/minecraft/world/item/Item; )Q RScontains"(Lnet/minecraft/world/item/Item;)Z?ÌÌÍ@I™š W XYgetUseDurationP(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/LivingEntity;)I [ \]getPowerForTimeQ(ILnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/LivingEntity;)F _ `a isCharged'(Lnet/minecraft/world/item/ItemStack;)Z c>d'net/minecraft/world/entity/LivingEntity f ghdrawƒ(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/LivingEntity;)Ljava/util/List; j,kjava/util/List )m no ofNonEmptyI(Ljava/util/List;)Lnet/minecraft/world/item/component/ChargedProjectiles; $q rssetV(Lnet/minecraft/core/component/DataComponentType;Ljava/lang/Object;)Ljava/lang/Object; )u vwEMPTY7Lnet/minecraft/world/item/component/ChargedProjectiles; $y zs getOrDefault c| }~getX()D c€ �~getZ ƒ„… †‡java/lang/Mathsqrt(D)D?ÕUUUUUU c‹ Œ‡getY Ž�� Œ~0net/minecraft/world/entity/projectile/Projectile?É™™ ”net/minecraft/world/phys/Vec3 “– —(DDD)V ™ š›getProjectileShotVector^(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/phys/Vec3;F)Lorg/joml/Vector3f; c� žŸ getUpVector"(F)Lnet/minecraft/world/phys/Vec3;¡org/joml/Quaternionf  £ ¤()V¦net/minecraft/util/Mth<Žú5 “© ª«xD “­ ®«y “° ±«z  ³ ´µ setAngleAxis(DDDD)Lorg/joml/Quaternionf; c· ¸Ÿ getViewVector “º »¼ toVector3f()Lorg/joml/Vector3f; ¾¿À ÁÂorg/joml/Vector3frotate,(Lorg/joml/Quaternionfc;)Lorg/joml/Vector3f; ¾Ä ªÅ()F ¾Ç ®Å ¾É ±Å ŽË ÌÍshoot(DDDFF)V cÏ ÐÑ getRandom#()Lnet/minecraft/util/RandomSource; Ó ÔÕ getShotPitch%(Lnet/minecraft/util/RandomSource;I)F c× ØÙlevel#()Lnet/minecraft/world/level/Level; c� ÜÝÞ ßà net/minecraft/sounds/SoundEventsCROSSBOW_SHOOT!Lnet/minecraft/sounds/SoundEvent; câ ãägetSoundSource$()Lnet/minecraft/sounds/SoundSource; æçè éênet/minecraft/world/level/Level playSoundn(Lnet/minecraft/world/entity/Entity;DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V ¾ì í¼ normalize ¾ï ð(Lorg/joml/Vector3fc;)V ¾ò ó(FFF)V ¾õ ö÷cross)(Lorg/joml/Vector3fc;)Lorg/joml/Vector3f; ¾ù úÅ lengthSquaredü&net/minecraft/world/phys/shapes/Shapes>z×òš¼¯H?ÉÛ ¾ ªF ¾ ® ¾ ± ¾    rotateAxis(FFFF)Lorg/joml/Vector3f; $  is(Ljava/lang/Object;)Z:net/minecraft/world/entity/projectile/FireworkRocketEntity c ~getEyeY?Ã33@  o(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/Entity;DDDZ)V  createProjectileÇ(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/item/ItemStack;Z)Lnet/minecraft/world/entity/projectile/Projectile;9net/minecraft/world/entity/projectile/arrow/AbstractArrow Ü !à CROSSBOW_HIT # $% setSoundEvent$(Lnet/minecraft/sounds/SoundEvent;)V'&net/minecraft/server/level/ServerLevel )) *+ itemCopies()Ljava/util/stream/Stream; -./ 01java/util/stream/StreamtoList()Ljava/util/List; 3 Ì4Ù(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;Ljava/util/List;FFZLnet/minecraft/world/entity/LivingEntity;)V6'net/minecraft/server/level/ServerPlayer 89: ;<4net/minecraft/advancements/triggers/CriteriaTriggers SHOT_CROSSBOW9Lnet/minecraft/advancements/triggers/ShotCrossbowTrigger; >?@ AB7net/minecraft/advancements/triggers/ShotCrossbowTriggertriggerP(Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/world/item/ItemStack;)V DEF GHnet/minecraft/stats/Stats ITEM_USEDLnet/minecraft/stats/StatType; $J KLgetItem!()Lnet/minecraft/world/item/Item; NOP 'Qnet/minecraft/stats/StatType.(Ljava/lang/Object;)Lnet/minecraft/stats/Stat; 5S TU awardStat(Lnet/minecraft/stats/Stat;)V W XYgetRandomShotPitch%(ZLnet/minecraft/util/RandomSource;)F?!G®>Ü(ö ]^_ `Ånet/minecraft/util/RandomSource nextFloat??æff æd e. isClientSide g higetChargingSounds\(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/world/item/CrossbowItem$ChargingSounds; $k Xl,(Lnet/minecraft/world/entity/LivingEntity;)I n oYgetChargeDuration>LÌÍ rst uv4net/minecraft/world/item/CrossbowItem$ChargingSoundsstart()Ljava/util/Optional;x yzaccepti(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;)Ljava/util/function/Consumer; |}~ €java/util/Optional ifPresent (Ljava/util/function/Consumer;)V r‚ ƒvmidx † ‡ˆtryLoadProjectilesP(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;)Z rŠ ‹vendxŽnet/minecraft/world/item/Item@?  ’“” •–6net/minecraft/world/item/enchantment/EnchantmentHelpermodifyCrossbowChargingTimeQ(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/LivingEntity;F)F˜net/minecraft/SharedConstantsA  ¥› œ�floor(F)I Ÿ ¡ ¢£)net/minecraft/world/item/ItemUseAnimationCROSSBOW+Lnet/minecraft/world/item/ItemUseAnimation; ¥¦§ ¨"@net/minecraft/world/item/enchantment/EnchantmentEffectComponentsCROSSBOW_CHARGING_SOUNDS ’ª «¬pickHighestLevelj(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/core/component/DataComponentType;)Ljava/util/Optional; ® ¯°DEFAULT_SOUNDS6Lnet/minecraft/world/item/CrossbowItem$ChargingSounds; |² ³´orElse&(Ljava/lang/Object;)Ljava/lang/Object; ¶·¸ ¹ºnet/minecraft/core/Holdervalue()Ljava/lang/Object;¼net/minecraft/sounds/SoundEvent æÏ ¿ÀÁ Âà net/minecraft/sounds/SoundSourcePLAYERS"Lnet/minecraft/sounds/SoundSource; ÜÅ ÆÇCROSSBOW_LOADING_STARTLnet/minecraft/core/Holder; |É ÊËof((Ljava/lang/Object;)Ljava/util/Optional; ÜÍ ÎÇCROSSBOW_LOADING_MIDDLE ÜÐ ÑÇCROSSBOW_LOADING_END rÓ Ô?(Ljava/util/Optional;Ljava/util/Optional;Ljava/util/Optional;)VMAX_CHARGE_DURATION ConstantValue DEFAULT_RANGEISTART_SOUND_PERCENTMID_SOUND_PERCENT ARROW_POWERFIREWORK_POWERMOB_ARROW_POWERCodeLineNumberTableLocalVariableTablethis'Lnet/minecraft/world/item/CrossbowItem; properties*Lnet/minecraft/world/item/Item$Properties;MethodParametersgetSupportedHeldProjectiles ()Ljava/util/function/Predicate; SignatureF()Ljava/util/function/Predicate;getAllSupportedProjectilesuse™(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/InteractionResult;!Lnet/minecraft/world/level/Level;player*Lnet/minecraft/world/entity/player/Player;hand%Lnet/minecraft/world/InteractionHand; itemStack$Lnet/minecraft/world/item/ItemStack;chargedProjectiles StackMapTable projectiles releaseUsingr(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;I)Zentity)Lnet/minecraft/world/entity/LivingEntity; remainingTimetimeHeldshooterheldItemdrawnLjava/util/List;LocalVariableTypeTable6Ljava/util/List;shootProjectile‹(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/projectile/Projectile;IFFFLnet/minecraft/world/entity/LivingEntity;)VxdzddistanceToTargetyd shotVectorLorg/joml/Vector3f;upVectorLnet/minecraft/world/phys/Vec3; upQuaternionLorg/joml/Quaternionf;viewVec livingEntityprojectileEntity2Lnet/minecraft/world/entity/projectile/Projectile;indexpower uncertaintyangletargetOverride soundPitchRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;upbodyoriginalVectorrightVectorPreRot viewVec3farrow;Lnet/minecraft/world/entity/projectile/arrow/AbstractArrow; projectileisCritgetDurabilityUse'(Lnet/minecraft/world/item/ItemStack;)I serverLevel(Lnet/minecraft/server/level/ServerLevel;)Lnet/minecraft/server/level/ServerPlayer;weaponchargedrandom!Lnet/minecraft/util/RandomSource; highPitch rangeDecider onUseTickr(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;I)Vsounds tickPercentticksRemainingusercrossbowdurationgetUseAnimationQ(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/world/item/ItemUseAnimation;holderpow useOnReleasegetDefaultProjectileRange()Ilambda$onUseTick$2h(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/core/Holder;)Vsoundlambda$onUseTick$1lambda$onUseTick$0 SourceFileCrossbowItem.java NestMembersI0net/minecraft/world/item/CrossbowItem$ChargeTypeBootstrapMethodsL(Ljava/lang/Object;)VN O C@Q(Lnet/minecraft/core/Holder;)VS T B@V W ?@Y Z[\ ]^"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; InnerClassesa(net/minecraft/world/item/Item$Properties Propertiesd-net/minecraft/world/InteractionResult$SuccessSuccessg*net/minecraft/world/InteractionResult$FailFailChargingSounds ChargeTypel%java/lang/invoke/MethodHandles$Lookupnjava/lang/invoke/MethodHandlesLookup! ÕÖ�רÖÙ  ÚÖpÛÖaÜÖUÝÖTÞÖT¯°ßP*+·*µ*µ ±à=> ?@áâãäåæäçèß.²°àDá âãéêëèß.²°àIá âãéêìíßîX,-¶:²¶#À):ƶ+š*+,-¸/ ¶3²7°,¶=¶Aš*µ*µ ,-¶B²7°²F°à. NPQ!R1S5VAWFXKYPZT\á>XâãXØîXïðXñòQóôDõwö ý5$)æ Øïñ 12ßK*²J¶P™T®U®à` a cá ÷wö æ÷øùß’$*+-¶Vd6+-¸Z •›+¸^™§¬à h iá>$âã$óô$Øî$úû$üØ ýØöü"@æóØúü ‡ˆß’$+*+¶b*¸eM,¹iš+²,¸l¶pW¬¬àm no p"rá $þû$ÿô   öü"jæ þÿ `aßc*²²t¶xÀ)L+¶+š§¬à vwáóô ÷wö ü)@æóßö ÙÆY¶{+¶{g9 ¶+¶g9   k  kc¸‚9 ˆ¶Š,¶�g ‘kc9+»“Y  ·•¸˜:§>+ ¶œ: » Y·¢§j� ´¨ ´¬ ´¯¶²: + ¶¶:  ¶¹ ¶½:,¶Ã�¶Æ�¶È�¶Ê+¶Î¸Ò8 +¶Ö+¶{+¶Ú+¶²Û+¶á  ¶å±à>}~€-�C‚Xƒ[„b…ƒ†Š‡–‰°Šº‹ØŒá¶G« ;« -+« C «X  b4  ƒ Š  ÙâãÙûÙÙØÙÙÙÙû–C  º ö û[ü:¾æ  š›ß‚+¶¹¶ëN»¾Y-·î»¾Y ·ñ¶ô:¶ø�ý˜�* ¶œ:»¾Y-·î¶¹¶ô:»¾Y-·îÿ´´´¶:»¾Y-·î$§j´´´¶°à��‘,’3“E–c—áH3 ‚û‚ ‚z c c  ö ýE¾¾æ ßâ O²J¶ ™ »Y+,,¶{,¶g,¶·°*+,-·:Á™À:²¶"°àœ �( 5¡D¢L¥áRD!"OâãOØîOþûOÿôO#ôO$ 5ö (ü#ŽæØþÿ#$%&ßO+²J¶ ™§¬àªáâã#ôö@æ#56ßq y+Á&™ +À&:§±²²t¶pÀ):  Æ  ¶+™± ¶(¹,: *,- ,Á¶2,Á5™#,À5: ²7 ¶= ²C¶I¶M¶R±à. ¯°²!³.´/¶;·Q¹^ºh»x½á„ '(^ï) yâãyØîyþûyñòy*ôyyyûh'(!X+w ;>÷  ;>÷ öü&ü)üHjæØþñ*  ÔÕß_š ®~ §*¸V®àÀÁÃá,-Øö @æ , XYßn!™ Z§[E +¹\ajbbn$b®à ÇÈá !. !,-/ö Bæ .,01ßV +¶cš›-¸f:-,¶jd†-,¸m†n8p–œ *µ*µ p•›*´š*µ¶q+,ºw¶{a•›*´ š*µ ¶�+,º„¶{ •›!-¸^š,-¸…™¶‰+,ºŒ¶{±àBÍÎ ÏÑ(Ò-Ó2ÖB×GØVÛfÜkÝzàˆá�âŸæáH ’2°€3 âã Øî úû óô 4Øöý2r##ù$æØúó4XYßB�¬àêá âãóô5ûæ ó5 oYßT*+�¸‘E$™j¸š¬à î ïá 6ô5û 7æ 6589ß8²ž°àôáâãóôæó hiß;*²¤¸©²­¶±Àr°àøá óôæó \]ßt†+,¸m†nF% •ž F%®àü ýþá*ýØóô:û ;öüæ ýó:<aß:+*¶ ¬àáâãóôæó=>ß-¬à á âã ?@ßs5*+¶{+¶Ú+¶,¹µÀ»+¶á *¶½¹\aj bnpb¶å±àâá 5Øî5úû5AÇ B@ß` "*+¶{+¶Ú+¶,¹µÀ»²¾a ¶å±àÝá "Øî"úû"AÇ C@ß` "*+¶{+¶Ú+¶,¹µÀ»²¾a ¶å±àØá "Øî"úû"AÇD¤ßE»rY²ĸȲ̸ȲϸÈ·Ò³­±à67 896EFGHrJ XKMPXKRPXKUP_2`�b c8ef8hriHj@kmo