Êþº¾EÞ  0net/minecraft/world/entity/projectile/ProjectileK(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;)V   3net/minecraft/world/entity/projectile/ShulkerBullet noPhysicsZ  &net/minecraft/world/entity/EntityTypesSHULKER_BULLET'Lnet/minecraft/world/entity/EntityType;   setOwner&(Lnet/minecraft/world/entity/Entity;)V  'net/minecraft/world/entity/LivingEntitygetBoundingBox!()Lnet/minecraft/world/phys/AABB;  ! "#net/minecraft/world/phys/AABB getCenter!()Lnet/minecraft/world/phys/Vec3; %&' ()net/minecraft/world/phys/Vec3xD %+ ,)y %. /)z 1 23getYRot()F 5 63getXRot 8 9:snapTo(DDDFF)V <=> ?@*net/minecraft/world/entity/EntityReferenceofe(Lnet/minecraft/world/level/entity/UniquelyIdentifyable;)Lnet/minecraft/world/entity/EntityReference; B CD finalTarget,Lnet/minecraft/world/entity/EntityReference; FGH IJnet/minecraft/core/DirectionUPLnet/minecraft/core/Direction; L MJcurrentMoveDirection O PQselectNextMoveDirectionI(Lnet/minecraft/core/Direction$Axis;Lnet/minecraft/world/entity/Entity;)V STU VW net/minecraft/sounds/SoundSourceHOSTILE"Lnet/minecraft/sounds/SoundSource; Y Z[addAdditionalSaveData2(Lnet/minecraft/world/level/storage/ValueOutput;)V]Target _`a bcnet/minecraft/core/UUIDUtilCODEC Lcom/mojang/serialization/Codec; <e fggetUUID()Ljava/util/UUID; ijk lm-net/minecraft/world/level/storage/ValueOutputstoreG(Ljava/lang/String;Lcom/mojang/serialization/Codec;Ljava/lang/Object;)VoDir Fq rcLEGACY_ID_CODEC it um storeNullablewSteps y z{ flightStepsI i} ~putInt(Ljava/lang/String;I)V�TXD ƒ „) targetDeltaX i† ‡ˆ putDouble(Ljava/lang/String;D)VŠTYD Œ �) targetDeltaY�TZD ‘ ’) targetDeltaZ ” •–readAdditionalSaveData1(Lnet/minecraft/world/level/storage/ValueInput;)V ˜™š ›œ,net/minecraft/world/level/storage/ValueInputgetIntOr(Ljava/lang/String;I)I ˜ž Ÿ  getDoubleOr(Ljava/lang/String;D)D ˜¢ £¤readH(Ljava/lang/String;Lcom/mojang/serialization/Codec;)Ljava/util/Optional; ¦§¨ ©ªjava/util/OptionalorElse&(Ljava/lang/Object;)Ljava/lang/Object; <¬ £­n(Lnet/minecraft/world/level/storage/ValueInput;Ljava/lang/String;)Lnet/minecraft/world/entity/EntityReference;?à ± ²³ blockPosition()Lnet/minecraft/core/BlockPos; µ¶· ¸³net/minecraft/core/BlockPosbelow º»¼ ½3!net/minecraft/world/entity/Entity getBbHeight º¿ ÀÁgetX()D ºÃ ÄÁgetY ºÆ ÇÁgetZ µÉ ÊË containing"(DDD)Lnet/minecraft/core/BlockPos; µÍ ÀÎ()I µÐ ÄÎ µÒ ÇÎ Ô Õ#position@ µÙ ÚÛcloserToCenterThan!(Lnet/minecraft/core/Position;D)Z ÝÞß àácom/google/common/collect/Lists newArrayList()Ljava/util/ArrayList; ãäå æç!net/minecraft/core/Direction$AxisX#Lnet/minecraft/core/Direction$Axis; é êëlevel#()Lnet/minecraft/world/level/Level; µí î³east ðñò óônet/minecraft/world/level/Level isEmptyBlock (Lnet/minecraft/core/BlockPos;)Z Fö ÷JEAST ùúû üýjava/util/Listadd(Ljava/lang/Object;)Z µÿ ³west F JWEST ã çY µ  ³above F  JDOWN ã ç µ ³south F JSOUTH µ ³north F JNORTH  random!Lnet/minecraft/util/RandomSource; F !" getRandomA(Lnet/minecraft/util/RandomSource;)Lnet/minecraft/core/Direction; ù$ %&isEmpty()Z µ( )*relative=(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos; ù, -Îsize /01 23net/minecraft/util/RandomSourcenextInt(I)I ù5 67get(I)Ljava/lang/Object; ¿ F: ;ÎgetStepX à F> ?ÎgetStepY Æ FB CÎgetStepZ E FGsetMoveDirection!(Lnet/minecraft/core/Direction;)V IJK LMjava/lang/Mathsqrt(D)D?Ã333333 Q R  needsSync ðT UV getDifficulty"()Lnet/minecraft/world/Difficulty; XYZ [\net/minecraft/world/DifficultyPEACEFUL Lnet/minecraft/world/Difficulty; ^ _`discard()V?¤záG®{ d e`tick ðg h& isClientSide <j kl getEntityr(Lnet/minecraft/world/entity/EntityReference;Lnet/minecraft/world/level/Level;)Lnet/minecraft/world/entity/Entity; ºn o&isAliveq(net/minecraft/world/entity/player/Player ºs t& isSpectator?ðffffff¿ð z{| }~net/minecraft/util/Mthclamp(DDD)D € �#getDeltaMovement?É™™™™™š %… ü†$(DDD)Lnet/minecraft/world/phys/Vec3; ˆ ‰ŠsetDeltaMovement"(Lnet/minecraft/world/phys/Vec3;)V Œ �` applyGravity� �‘testU(Lnet/minecraft/world/entity/projectile/ShulkerBullet;)Ljava/util/function/Predicate; “”• –—4net/minecraft/world/entity/projectile/ProjectileUtilgetHitResultOnMoveVectorg(Lnet/minecraft/world/entity/Entity;Ljava/util/function/Predicate;)Lnet/minecraft/world/phys/HitResult; %™ üš@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; œ �ŠsetPos Ÿ  `applyEffectsFromBlocks ¢ £¤ portalProcess,Lnet/minecraft/world/entity/PortalProcessor; ¦§¨ ©&*net/minecraft/world/entity/PortalProcessorisInsidePortalThisTick « ¬` handlePortal n ¯°± ²³"net/minecraft/world/phys/HitResultgetType+()Lnet/minecraft/world/phys/HitResult$Type; µ¶· ¸¹'net/minecraft/world/phys/HitResult$TypeMISS)Lnet/minecraft/world/phys/HitResult$Type; » ¼½hitTargetOrDeflectSelfb(Lnet/minecraft/world/phys/HitResult;)Lnet/minecraft/world/entity/projectile/ProjectileDeflection;? “À ÁÂrotateTowardsMovement'(Lnet/minecraft/world/entity/Entity;F)V ÄÅÆ ÇÈ*net/minecraft/core/particles/ParticleTypesEND_ROD1Lnet/minecraft/core/particles/SimpleParticleType; ðÊ ËÌ addParticle7(Lnet/minecraft/core/particles/ParticleOptions;DDDDDD)V FÎ ÏÐgetAxis%()Lnet/minecraft/core/Direction$Axis; ðÒ ÓÔloadedAndEntityCanStandOnC(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/Entity;)Z º± × Ø& isRemoved Ú ÛÜ canHitEntity&(Lnet/minecraft/world/entity/Entity;)Z º @Ð á âã onHitEntity-(Lnet/minecraft/world/phys/EntityHitResult;)V åæç kè(net/minecraft/world/phys/EntityHitResult%()Lnet/minecraft/world/entity/Entity; ê ëègetOwner í îï damageSources2()Lnet/minecraft/world/damagesource/DamageSources; ñòó ôõ.net/minecraft/world/damagesource/DamageSources mobProjectile}(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/LivingEntity;)Lnet/minecraft/world/damagesource/DamageSource;@€ ºø ùúhurtOrSimulate3(Lnet/minecraft/world/damagesource/DamageSource;F)Zü&net/minecraft/server/level/ServerLevel þÿ 6net/minecraft/world/item/enchantment/EnchantmentHelperdoPostAttackEffects}(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/damagesource/DamageSource;)V,net/minecraft/world/effect/MobEffectInstance    %net/minecraft/world/effect/MobEffects LEVITATIONLnet/minecraft/core/Holder; net/minecraft/SharedConstants  (Lnet/minecraft/core/Holder;I)V  "com/google/common/base/MoreObjects firstNonNull8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;   addEffectT(Lnet/minecraft/world/effect/MobEffectInstance;Lnet/minecraft/world/entity/Entity;)Z   onHitBlock,(Lnet/minecraft/world/phys/BlockHitResult;)V Ä  È EXPLOSION û" #$ sendParticles9(Lnet/minecraft/core/particles/ParticleOptions;DDDIDDDD)I &'( )* net/minecraft/sounds/SoundEventsSHULKER_BULLET_HIT!Lnet/minecraft/sounds/SoundEvent; , -. playSound&(Lnet/minecraft/sounds/SoundEvent;FF)V 012 34:net/minecraft/world/entity/projectile/ProjectileDeflectionMOMENTUM_DEFLECT? @A-net/minecraft/world/level/gameevent/GameEvent ENTITY_DAMAGE%Lnet/minecraft/core/Holder$Reference; CDE ?F5net/minecraft/world/level/gameevent/GameEvent$Context\(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/level/gameevent/GameEvent$Context; ðH IJ gameEventt(Lnet/minecraft/core/Holder;Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/world/level/gameevent/GameEvent$Context;)V L MNonHit'(Lnet/minecraft/world/phys/HitResult;)V P Q`destroy &S T*SHULKER_BULLET_HURT ÄV WÈCRIT Y Z[recreateFromPacketC(Lnet/minecraft/network/protocol/game/ClientboundAddEntityPacket;)V ]^_ `#>net/minecraft/network/protocol/game/ClientboundAddEntityPacket getMovementSPEED ConstantValue SignatureQLnet/minecraft/world/entity/EntityReference;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;CodeLineNumberTableLocalVariableTablethis5Lnet/minecraft/world/entity/projectile/ShulkerBullet;type!Lnet/minecraft/world/level/Level;LocalVariableTypeTable_Lnet/minecraft/world/entity/EntityType<+Lnet/minecraft/world/entity/projectile/ShulkerBullet;>;MethodParametersƒ(Lnet/minecraft/world/entity/EntityType<+Lnet/minecraft/world/entity/projectile/ShulkerBullet;>;Lnet/minecraft/world/level/Level;)V“(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/Entity;Lnet/minecraft/core/Direction$Axis;)V)Lnet/minecraft/world/entity/LivingEntity;target#Lnet/minecraft/world/entity/Entity;invalidStartAxisLnet/minecraft/world/phys/Vec3;getSoundSource$()Lnet/minecraft/sounds/SoundSource;output/Lnet/minecraft/world/level/storage/ValueOutput; StackMapTableinput.Lnet/minecraft/world/level/storage/ValueInput;defineSynchedData<(Lnet/minecraft/network/syncher/SynchedEntityData$Builder;)V entityData9Lnet/minecraft/network/syncher/SynchedEntityData$Builder;getMoveDirection ()Lnet/minecraft/core/Direction; direction targetPosLnet/minecraft/core/BlockPos;attemptscurrentoptionsLjava/util/List; avoidAxisyOffsettargetXtargetYtargetZ selectionxayazadistance0Ljava/util/List; checkDespawngetDefaultGravitymovementaxis hitResult$Lnet/minecraft/world/phys/HitResult;isAffectedByBlocksentityisOnFireshouldRenderAtSqrDistance(D)Z getLightLevelDependentMagicValue livingEntity serverLevel(Lnet/minecraft/server/level/ServerLevel; livingTarget*Lnet/minecraft/world/phys/EntityHitResult; livingOwner damageSource/Lnet/minecraft/world/damagesource/DamageSource;wasHurt­-net/minecraft/world/damagesource/DamageSource)Lnet/minecraft/world/phys/BlockHitResult;onRedirectProjectile5(Lnet/minecraft/world/entity/projectile/Projectile;)V hitProjectile2Lnet/minecraft/world/entity/projectile/Projectile; isPickable hurtClient2(Lnet/minecraft/world/damagesource/DamageSource;)Zsource hurtServer[(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/damagesource/DamageSource;F)ZdamageFpacket@Lnet/minecraft/network/protocol/game/ClientboundAddEntityPacket; SourceFileShulkerBullet.javaBootstrapMethodsý ÚÜÅ ÆÇÈ ÉÊ"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; InnerClassesAxisTypeÏ#net/minecraft/core/Holder$ReferenceÑnet/minecraft/core/Holder ReferenceContextÕ7net/minecraft/network/syncher/SynchedEntityData$Builder×/net/minecraft/network/syncher/SynchedEntityDataBuilderÚ%java/lang/invoke/MethodHandles$LookupÜjava/lang/invoke/MethodHandlesLookup!a)bNCDcdefMJefz{„)�)’)gd *+,·*µ±h35 6i  jk l êmn  lop lêcqrgÀ H*² +·*,¶,¶¶:*´$´*´-*¶0*¶4¶7*-¸;µA*²EµK*-¶N±h"9: <=1?9A@BGCi>HjkHêmH7sHtuHvç2Õwpê7tvxyg.²R°hGi jkZ[g»^*+·X*´AÆ+\²^*´A¶d¹h+n²p*´K¹s+v*´x¹|+€*´‚¹…+‰*´‹¹…+Ž*´�¹…±h& LM NP-Q9RESQT]Ui^jk^z{|pz•–gªZ*+·“*+v¹—µx*+€¹�µ‚*+‰¹�µ‹*+޹�µ�*+n²p¹¡¶¥ÀFµK*+\¸«µA±h"YZ[\,]9^O_Y`iZjkZ}~p}€g5±hdijk�‚p�ƒ„g/*´K°hgi jkefFGg>*+µK±h klijk…Jp…e fPQgŸ‚®9,Ç*¶°¶´N§!,¶¹�®k9,¶¾,¶Âc,¶Å¸ÈN-¶Ì‡®c9-¶Ï‡c9-¶Ñ‡®c9 : -*¶ÓÖ¶Øš‘*¶°: ¸Ü:+²â¥R ¶Ì-¶Ì¢ *¶è ¶ì¶ï™²õ¹øW§) ¶Ì-¶Ì¤*¶è ¶þ¶ï™²¹øW+²¥R ¶Ï-¶Ï¢ *¶è ¶¶ï™²E¹øW§) ¶Ï-¶Ï¤*¶è ¶´¶ï™² ¹øW+² ¥R ¶Ñ-¶Ñ¢ *¶è ¶¶ï™²¹øW§) ¶Ñ-¶Ñ¤*¶è ¶¶ï™²¹øW*´¸: ¹#™.6*¶è  ¶'¶ïšž*´¸: „ÿ§ÿÞ§*´¹+¹.¹4ÀF: *¶8 ¶9‡c9*¶< ¶=‡c9*¶@ ¶A‡c9 * ¶D*¶8g9 *¶*?3@i4jk4›®p›¯°gH+²/**´5¶8W±h DEijk±²p±Q`gI*¶]*¶è²<*¶Ó*¸B¶G±hHIJi jkMNgF *+·K*¶O±hNO Pi jk ›œp›³&g,¬hTi jk´µg6¬hYijk¶ªp¶·¸gƒ/*²R ¶++²U*¶8*¶<*¶@‚‚‚¶!W*¶O¬h^ _)`-ai*/jk/ê¥/¶ª/¹ºp ê¶¹Z[gJ*+·X*+¶\¶‡±hfg hijk»¼p»½¾¿ ÄÀÁÃË2ãFÌ@µ¯Í@ÎÐÒ C=ÓÔÖØ ÙÛÝ