Êþº¾Eà  *net/minecraft/world/entity/monster/Phantomrandom!Lnet/minecraft/util/RandomSource;   net/minecraft/world/entity/MobK(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;)V  net/minecraft/world/phys/Vec3ZEROLnet/minecraft/world/phys/Vec3;  moveTargetPoint  6net/minecraft/world/entity/monster/Phantom$AttackPhaseCIRCLE8Lnet/minecraft/world/entity/monster/Phantom$AttackPhase;   attackPhase (net/minecraft/world/entity/monster/Enemy " #$xpRewardI&=net/minecraft/world/entity/monster/Phantom$PhantomMoveControl %( )O(Lnet/minecraft/world/entity/monster/Phantom;Lnet/minecraft/world/entity/Mob;)V + ,- moveControl3Lnet/minecraft/world/entity/ai/control/MoveControl;/=net/minecraft/world/entity/monster/Phantom$PhantomLookControl .1 2#(Lnet/minecraft/world/entity/Mob;)V 4 56 lookControl3Lnet/minecraft/world/entity/ai/control/LookControl; 8 9:getUniqueFlapTickOffset()I < =$ tickCount ? @$TICKS_PER_FLAPBEnet/minecraft/world/entity/monster/Phantom$PhantomBodyRotationControl A( E FG goalSelector1Lnet/minecraft/world/entity/ai/goal/GoalSelector;IDnet/minecraft/world/entity/monster/Phantom$PhantomAttackStrategyGoal HK L/(Lnet/minecraft/world/entity/monster/Phantom;)V NOP QR/net/minecraft/world/entity/ai/goal/GoalSelectoraddGoal-(ILnet/minecraft/world/entity/ai/goal/Goal;)VTAnet/minecraft/world/entity/monster/Phantom$PhantomSweepAttackGoal SKWHnet/minecraft/world/entity/monster/Phantom$PhantomCircleAroundAnchorGoal VK Z [GtargetSelector]Hnet/minecraft/world/entity/monster/Phantom$PhantomAttackPlayerTargetGoal \K ` abdefineSynchedData<(Lnet/minecraft/network/syncher/SynchedEntityData$Builder;)V d efID_SIZE2Lnet/minecraft/network/syncher/EntityDataAccessor; hij kljava/lang/IntegervalueOf(I)Ljava/lang/Integer; nop qr7net/minecraft/network/syncher/SynchedEntityData$Builderdefine(Lnet/minecraft/network/syncher/EntityDataAccessor;Ljava/lang/Object;)Lnet/minecraft/network/syncher/SynchedEntityData$Builder; t uv entityData1Lnet/minecraft/network/syncher/SynchedEntityData; xyz {|net/minecraft/util/Mthclamp(III)I ~€ �‚/net/minecraft/network/syncher/SynchedEntityDatasetG(Lnet/minecraft/network/syncher/EntityDataAccessor;Ljava/lang/Object;)V „ …†refreshDimensions()V ˆ‰Š ‹Œ3net/minecraft/world/entity/ai/attributes/Attributes ATTACK_DAMAGELnet/minecraft/core/Holder; Ž �� getAttributeY(Lnet/minecraft/core/Holder;)Lnet/minecraft/world/entity/ai/attributes/AttributeInstance; ’ “:getPhantomSize •–— ˜™:net/minecraft/world/entity/ai/attributes/AttributeInstance setBaseValue(D)V ~› œ�getF(Lnet/minecraft/network/syncher/EntityDataAccessor;)Ljava/lang/Object; hŸ  :intValue ¢£¤ ¥¦0net/minecraft/network/syncher/EntityDataAccessorequals(Ljava/lang/Object;)Z ¨ ©†updatePhantomSizeInfo « ¬­onSyncedDataUpdated5(Lnet/minecraft/network/syncher/EntityDataAccessor;)V ¯ °:getId ² ³†tick µ ¶·level#()Lnet/minecraft/world/level/Level; ¹º» ¼½net/minecraft/world/level/Level isClientSide()Z@îY¶<Žú5@IÛ x ÃÄcos(D)F ÆÇÈ ÉÊ net/minecraft/sounds/SoundEvents PHANTOM_FLAP!Lnet/minecraft/sounds/SoundEvent; Ì ÍÎgetSoundSource$()Lnet/minecraft/sounds/SoundSource;?s33 ÑÒÓ ÔÕnet/minecraft/util/RandomSource nextFloat()F=LÌÍ ¹Ø ÙÚplayLocalSoundk(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V Ü ÝÕ getBbWidth?½p¤ à áÕgetYRot xã äÄsin>™™š>æff è éÕ getBbHeight@ ìíî ïð*net/minecraft/core/particles/ParticleTypesMYCELIUM1Lnet/minecraft/core/particles/SimpleParticleType; ò óôgetX()D ö ÷ôgetY ù úôgetZ ¹ü ýþ addParticle7(Lnet/minecraft/core/particles/ParticleOptions;DDDDDD)V>LÌÍ   travelFlying#(Lnet/minecraft/world/phys/Vec3;F)V   blockPosition()Lnet/minecraft/core/BlockPos;      net/minecraft/core/BlockPosabove (I)Lnet/minecraft/core/BlockPos;   anchorPointLnet/minecraft/core/BlockPos;  setPhantomSize(I)V   finalizeSpawnÝ(Lnet/minecraft/world/level/ServerLevelAccessor;Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/world/entity/EntitySpawnReason;Lnet/minecraft/world/entity/SpawnGroupData;)Lnet/minecraft/world/entity/SpawnGroupData;  readAdditionalSaveData1(Lnet/minecraft/world/level/storage/ValueInput;)V anchor_pos  ! "#CODEC Lcom/mojang/serialization/Codec; %&' (),net/minecraft/world/level/storage/ValueInputreadH(Ljava/lang/String;Lcom/mojang/serialization/Codec;)Ljava/util/Optional; +,- ./java/util/OptionalorElse&(Ljava/lang/Object;)Ljava/lang/Object;1size %3 45getIntOr(Ljava/lang/String;I)I 7 89addAdditionalSaveData2(Lnet/minecraft/world/level/storage/ValueOutput;)V ;<= >?-net/minecraft/world/level/storage/ValueOutput storeNullableG(Ljava/lang/String;Lcom/mojang/serialization/Codec;Ljava/lang/Object;)V ;A BCputInt(Ljava/lang/String;I)V EFG HI net/minecraft/sounds/SoundSourceHOSTILE"Lnet/minecraft/sounds/SoundSource; ÆK LÊPHANTOM_AMBIENT ÆN OÊ PHANTOM_HURT ÆQ RÊ PHANTOM_DEATH T UVgetDefaultDimensionsP(Lnet/minecraft/world/entity/Pose;)Lnet/minecraft/world/entity/EntityDimensions;>™š YZ[ \]+net/minecraft/world/entity/EntityDimensionsscale0(F)Lnet/minecraft/world/entity/EntityDimensions; _`a bc;net/minecraft/world/entity/ai/targeting/TargetingConditionstest}(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)ZAÁT+ xf ghceil(F)I jkl mn3net/minecraft/network/syncher/EntityDataSerializersINT4Lnet/minecraft/network/syncher/EntityDataSerializer; ~p qrdefineIdy(Ljava/lang/Class;Lnet/minecraft/network/syncher/EntityDataSerializer;)Lnet/minecraft/network/syncher/EntityDataAccessor;FLAP_DEGREES_PER_TICKF ConstantValue SignatureGLnet/minecraft/network/syncher/EntityDataAccessor;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;CodeLineNumberTableLocalVariableTablethis,Lnet/minecraft/world/entity/monster/Phantom;type'Lnet/minecraft/world/entity/EntityType;!Lnet/minecraft/world/level/Level;LocalVariableTypeTableVLnet/minecraft/world/entity/EntityType<+Lnet/minecraft/world/entity/monster/Phantom;>;MethodParametersz(Lnet/minecraft/world/entity/EntityType<+Lnet/minecraft/world/entity/monster/Phantom;>;Lnet/minecraft/world/level/Level;)V isFlapping StackMapTablecreateBodyControl=()Lnet/minecraft/world/entity/ai/control/BodyRotationControl; registerGoals9Lnet/minecraft/network/syncher/SynchedEntityData$Builder;accessor5Lnet/minecraft/network/syncher/EntityDataAccessor<*>;8(Lnet/minecraft/network/syncher/EntityDataAccessor<*>;)VanimnextAnimwidthcshcheckFallDamageT(DZLnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;)VyaDonGroundZonState2Lnet/minecraft/world/level/block/state/BlockState;pos onClimbabletravel"(Lnet/minecraft/world/phys/Vec3;)Vinput/Lnet/minecraft/world/level/ServerLevelAccessor; difficulty(Lnet/minecraft/world/DifficultyInstance; spawnReason.Lnet/minecraft/world/entity/EntitySpawnReason; groupData+Lnet/minecraft/world/entity/SpawnGroupData;.Lnet/minecraft/world/level/storage/ValueInput;output/Lnet/minecraft/world/level/storage/ValueOutput;shouldRenderAtSqrDistance(D)ZdistancegetAmbientSound#()Lnet/minecraft/sounds/SoundEvent; getHurtSoundR(Lnet/minecraft/world/damagesource/DamageSource;)Lnet/minecraft/sounds/SoundEvent;source/Lnet/minecraft/world/damagesource/DamageSource; getDeathSoundpose!Lnet/minecraft/world/entity/Pose;originalDimensions-Lnet/minecraft/world/entity/EntityDimensions; canAttack‘(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/ai/targeting/TargetingConditions;)Z(Lnet/minecraft/server/level/ServerLevel;target)Lnet/minecraft/world/entity/LivingEntity;targetConditions=Lnet/minecraft/world/entity/ai/targeting/TargetingConditions; access$000O(Lnet/minecraft/world/entity/monster/Phantom;)Lnet/minecraft/util/RandomSource;x0 access$100 access$200 access$300 access$400 access$500 access$600 access$700 access$800 access$900 access$1000 access$1100 SourceFile Phantom.java NestMembersÔ@net/minecraft/world/entity/monster/Phantom$PhantomMoveTargetGoal InnerClasses AttackPhasePhantomMoveControlPhantomLookControlPhantomBodyRotationControlPhantomAttackStrategyGoalPhantomSweepAttackGoalPhantomCircleAroundAnchorGoalPhantomAttackPlayerTargetGoalBuilderPhantomMoveTargetGoal!stu¾@$efvwxy% z›3*+,·*² µ*²µ*µ!*»%Y**·'µ**».Y*·0µ3±{@5 =AC&D2E| 3}~3€3¶�‚ 3ƒ„ ¶v…†½zK*¶7*´;`²>pš§¬{K| }~‡@ˆ‰z4 »AY**·C°{P|  }~Іz{A*´D»HY*·J¶M*´D»SY*·U¶M*´D»VY*·X¶M*´Y»\Y*·^¶M±{UV W0Y@Z| A}~abzN*+·_+²c¸g¶mW±{^`a|}~u‹„uzM*´s²c@¸w¸g¶}±{ de|}~1$„1©†zI*¶ƒ*²‡¶�*¶‘`‡¶”±{hij| }~“:z;*´s²c¶šÀh¶ž¬{m| }~¬­zo²c+¶¡™*¶§*+·ª±{r svw|}~Œf‚ Œ�‡„ŒvŽ9:z1*¶®h¬{z| }~³†z¡û*·±*¶´¶¸™ï*¶7*´;`†¾j¿jÀb�¸ÁD*¶7*´;``†¾j¿jÀb�¸ÁE# •ž6$ –�0*¶´*²Å*¶ËÏ*´¹ÐÖjbÏ*´¹ÐÖjb¶×*¶ÛÞjF*¶ß¿j�¸Á%j8*¶ß¿j�¸â%j8å#æjb*¶çjêj8*¶´²ë*¶ñ�c*¶õ�c*¶ø�c¶û*¶´²ë*¶ñ�g*¶õ�c*¶ø�g¶û±{6 �‚&ƒ@„L…yˆ�‰�ŠŸŒ°�ÕŽú�|H&Ô�t@º�t�y‘t�j’tŸ[“t°J”tû}~‡ ýyù€•–zS±{–|4}~—˜™š›œ�„—™›�ž½z,¬{š| }~Ÿ z@*+ÿ¶±{ Ÿ |}~¡„¡zu**¶¶µ*¶*+,-·°{¤ ¥¦|4}~¶¢£¤¥¦§¨„¶£¥§xyyzk+*+·*+² ¹$¶*À µ*+0¹2¶±{«­®*¯|+}~+¡©„¡89zc#*+·6+² *´¹:+0*¶‘¹@±{³µ¶"·|#}~#ª«„ª¬­z6¬{»|}~®˜„®ÍÎz.²D°{À| }~¯°z.²J°{Å| }~±²z8²M°{Ê|}~³´„³µ°z.²P°{Ï| }~UVzh*¶‘=*+·SN- W†jb¶X°{ÔÖ ×|*}~¶·1$ ¸¹„¶º»zP-+*,¶^¬{Û|*}~¶¼½¾¿À„ ¶½¿ÁÂz/*´°{/| Ã~ÄÂz/*´°{/| Ã~ÅÂz/*´°{/| Ã~ÆÂz/*´°{/| Ã~ÇÂz/*´°{/| Ã~ÈÂz/*´°{/| Ã~ÉÂz/*´°{/| Ã~ÊÂz/*´°{/| Ã~ËÂz/*´°{/| Ã~ÌÂz/*´°{/| Ã~ÍÂz/*´°{/| Ã~ÎÂz/*´°{/| Ã~φz1d¸e³>²i¸o³c±{ 1 3ÐÑÒ \HSVÓ.A%ÕR Ö@%×.Ø AÙHÚSÛVÜ\Ýn~Þ Óß