Êþº¾E¤  java/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object;   =net/minecraft/world/entity/monster/Shulker$ShulkerLookControlthis$0,Lnet/minecraft/world/entity/monster/Shulker;  1net/minecraft/world/entity/ai/control/LookControl#(Lnet/minecraft/world/entity/Mob;)V  *net/minecraft/world/entity/monster/Shulker getAttachFace ()Lnet/minecraft/core/Direction;  net/minecraft/core/Direction getOpposite  ! getRotation()Lorg/joml/Quaternionf;#org/joml/Vector3f % &'FORWARDLorg/joml/Vector3fc; ") *(Lorg/joml/Vector3fc;)V ,-. /0org/joml/Quaternionf transform((Lorg/joml/Vector3f;)Lorg/joml/Vector3f; 2 34 getUnitVec3i()Lnet/minecraft/core/Vec3i; 678 9:net/minecraft/core/Vec3igetX()I 6< =:getY 6? @:getZ "B C(FFF)V "E FGcross)(Lorg/joml/Vector3fc;)Lorg/joml/Vector3f; I JKwantedXD M NOmob Lnet/minecraft/world/entity/Mob; QRS 9Tnet/minecraft/world/entity/Mob()D V WKwantedY QY ZTgetEyeY \ ]KwantedZ Q_ @T "a bcdot(Lorg/joml/Vector3fc;)F efg hijava/lang/Mathabs(F)Fknet/minecraft/util/Mth7'Ŭ jn opatan2(DD)D@L¥Ü tuv wxjava/lang/FloatvalueOf(F)Ljava/lang/Float; z{| }~java/util/Optionalof((Ljava/lang/Object;)Ljava/util/Optional; z€ �‚empty()Ljava/util/Optional;O(Lnet/minecraft/world/entity/monster/Shulker;Lnet/minecraft/world/entity/Mob;)VCodeLineNumberTableLocalVariableTablethis?Lnet/minecraft/world/entity/monster/Shulker$ShulkerLookControl;MethodParametersclampHeadRotationToBody()VgetYRotD attachFaceLnet/minecraft/core/Direction;forwardLorg/joml/Vector3f;upNormalLnet/minecraft/core/Vec3i;rightxdydzdout deltaRightF deltaForward StackMapTable Signature)()Ljava/util/Optional;getXRotD SourceFile Shulker.javaNestHost InnerClassesShulkerLookControl  ƒ„L*+Y¸Wµ*,· ±…~ €†‡ˆNO‰  NŠ‹„+±……† ‡ˆŒ‚„¥À*´¶¶L+¶»"Y²$·(¶+M+¶1N»"Y-¶5†-¶;†-¶>†·A:,¶DW*´H*´L¶Pg9*´U*´L¶Xg9*´[*´L¶^g9 »"Y�� �·A:  ¶`8 , ¶`8  ¸dl•� ¸dl•ž v� �¸mqk�¸s¸y§¸°…2 ‰ ŒŽ"�:�A’O“]”k—}˜†™Ž›†p À‡ˆ µ�Ž£��"ž‘’:†“�Oq”K]c•KkU–K }C—� †:˜™ Ž2š™ ›%ÿ¤ "6""Bzœ�ž‚„2 ¸s¸y°… † ‡ˆœ�Ÿ ¡¢ £