Êþº¾Eònet/minecraft/SharedConstants  java/lang/Object()V .org/apache/commons/lang3/mutable/MutableObject  +org/apache/commons/lang3/mutable/MutableInt  (I)V apply|(Lorg/apache/commons/lang3/mutable/MutableObject;Lorg/apache/commons/lang3/mutable/MutableInt;)Ljava/util/function/Function;  Bnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuildercreateO(Ljava/util/function/Function;)Lnet/minecraft/world/entity/ai/behavior/OneShot;    java/util/Setiterator()Ljava/util/Iterator; "#$ %&java/util/IteratorhasNext()Z "( )*next()Ljava/lang/Object;,net/minecraft/core/GlobalPos +. /0pos()Lnet/minecraft/core/BlockPos; 234 50)net/minecraft/world/level/pathfinder/Node asBlockPos 789 :;net/minecraft/core/BlockPosequals(Ljava/lang/Object;)Z =>? @A7net/minecraft/world/entity/ai/behavior/InteractWithDoorisDoorTooFarAwayr(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/core/GlobalPos;)Z "C Dremove FGH IJ&net/minecraft/server/level/ServerLevel getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; LMN OPnet/minecraft/tags/BlockTagsMOB_INTERACTABLE_DOORSLnet/minecraft/tags/TagKey;R STtest ()Ljava/util/function/Predicate; VWX YZ0net/minecraft/world/level/block/state/BlockStateis<(Lnet/minecraft/tags/TagKey;Ljava/util/function/Predicate;)Z V\ ]^getBlock)()Lnet/minecraft/world/level/block/Block;`)net/minecraft/world/level/block/DoorBlock _b cdisOpen5(Lnet/minecraft/world/level/block/state/BlockState;)Z =f ghareOtherMobsComingThroughDoor](Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/core/BlockPos;Ljava/util/Optional;)Z _j klsetOpen—(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Z)V nop q&java/util/OptionalisEmpty ns t*getvjava/util/List ux yzstream()Ljava/util/stream/Stream;| S}I(Lnet/minecraft/world/entity/LivingEntity;)Ljava/util/function/Predicate; €� ‚ƒjava/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;… S†=(Lnet/minecraft/core/BlockPos;)Ljava/util/function/Predicate;… ‰ Š‹anyMatch!(Ljava/util/function/Predicate;)Z �Ž� �‘5net/minecraft/world/entity/ai/memory/MemoryModuleTypePATH7Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; “”• –—#net/minecraft/world/entity/ai/BrainhasMemoryValue:(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Z “™ š› getMemoryM(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Ljava/util/Optional;�)net/minecraft/world/level/pathfinder/Path œŸ  &isDone œ¢ £¤getPreviousNode-()Lnet/minecraft/world/level/pathfinder/Node; œ¦ §¤ getNextNode +© ª« dimension'()Lnet/minecraft/resources/ResourceKey; F© ®¯° ±²'net/minecraft/world/entity/LivingEntityposition!()Lnet/minecraft/world/phys/Vec3;@ 7¶ ·¸closerToCenterThan!(Lnet/minecraft/core/Position;D)Z +º »¼ofb(Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/core/GlobalPos;¾ ¿=(Lnet/minecraft/core/GlobalPos;)Ljava/util/function/Function; nÁ ÂÃmap3(Ljava/util/function/Function;)Ljava/util/Optional;Å tÆ€(Lnet/minecraft/core/GlobalPos;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;)Ljava/util/function/Supplier; nÈ ÉÊ orElseGet1(Ljava/util/function/Supplier;)Ljava/lang/Object; nÌ »Í((Ljava/lang/Object;)Ljava/util/Optional; ÏÐÑ ÒÓcom/google/common/collect/Sets newHashSet(([Ljava/lang/Object;)Ljava/util/HashSet; ÕÖ× ØÙAnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessorset(Ljava/lang/Object;)V Û Ü;add ®Þ ßàgetBrain'()Lnet/minecraft/world/entity/ai/Brain; =â ãäisMobComingThroughDoorE(Lnet/minecraft/world/entity/ai/Brain;Lnet/minecraft/core/BlockPos;)Z@ ®è éêgetType)()Lnet/minecraft/world/entity/EntityType; ì\íCnet/minecraft/world/level/block/state/BlockBehaviour$BlockStateBase ïðñ òóKnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instancepresent}(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;)Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder; �õ ö‘DOORS_TO_CLOSE ïø ùó registered �û ü‘NEAREST_LIVING_ENTITIES ïþ ÿgroupˆ(Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;)Lcom/mojang/datafixers/Products$P3; Ò(Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;Lorg/apache/commons/lang3/mutable/MutableObject;Lorg/apache/commons/lang3/mutable/MutableInt;)Lcom/mojang/datafixers/util/Function3;  !com/mojang/datafixers/Products$P3r(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function3;)Lcom/mojang/datafixers/kinds/App;   trigger±(Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lorg/apache/commons/lang3/mutable/MutableObject;Lorg/apache/commons/lang3/mutable/MutableInt;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;)Lnet/minecraft/world/entity/ai/behavior/declarative/Trigger; ï tW(Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;)Ljava/lang/Object; ï tryGetY(Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;)Ljava/util/Optional; œ & notStarted s  :java/util/Objects'(Ljava/lang/Object;Ljava/lang/Object;)Z  setValue ! "#decrementAndGet()I % Ù R =( )*rememberDoorToClose²(Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Ljava/util/Optional;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;)Ljava/util/Optional; R - ./acceptV(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/pathfinder/Node;Lnet/minecraft/world/level/pathfinder/Node;Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;)Ljava/util/function/Consumer; n1 23 ifPresent (Ljava/util/function/Consumer;)V =5 67(closeDoorsThatIHaveOpenedOrPassedThroughÍ(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/pathfinder/Node;Lnet/minecraft/world/level/pathfinder/Node;Ljava/util/Set;Ljava/util/Optional;)V&COOLDOWN_BEFORE_RERUNNING_IN_SAME_NODEI ConstantValue&SKIP_CLOSING_DOOR_IF_FURTHER_AWAY_THAND-MAX_DISTANCE_TO_HOLD_DOOR_OPEN_FOR_OTHER_MOBSCodeLineNumberTableLocalVariableTablethis9Lnet/minecraft/world/entity/ai/behavior/InteractWithDoor;:()Lnet/minecraft/world/entity/ai/behavior/BehaviorControl;lastCheckedNode0Lorg/apache/commons/lang3/mutable/MutableObject;remainingCooldown-Lorg/apache/commons/lang3/mutable/MutableInt;LocalVariableTypeTable]Lorg/apache/commons/lang3/mutable/MutableObject; Signaturee()Lnet/minecraft/world/entity/ai/behavior/BehaviorControl; doorGlobalPosLnet/minecraft/core/GlobalPos;doorPosLnet/minecraft/core/BlockPos;state2Lnet/minecraft/world/level/block/state/BlockState;block+Lnet/minecraft/world/level/block/DoorBlock;level(Lnet/minecraft/server/level/ServerLevel;body)Lnet/minecraft/world/entity/LivingEntity;movingFromNode+Lnet/minecraft/world/level/pathfinder/Node; movingToNodedoorsLjava/util/Set;nearestEntitiesLjava/util/Optional;Ljava/util/Iterator;/Ljava/util/Set;QLjava/util/Optional;>;4Ljava/util/Iterator; StackMapTableMethodParameters*(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/pathfinder/Node;Lnet/minecraft/world/level/pathfinder/Node;Ljava/util/Set;Ljava/util/Optional;>;)VRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;š(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/core/BlockPos;Ljava/util/Optional;>;)Z otherBrain%Lnet/minecraft/world/entity/ai/Brain;path+Lnet/minecraft/world/level/pathfinder/Path;(Lnet/minecraft/world/entity/ai/Brain<*>;H(Lnet/minecraft/world/entity/ai/Brain<*>;Lnet/minecraft/core/BlockPos;)Z doorsMemoryCLnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor; globalDoorPos Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;>;ELjava/util/Optional;>;q(Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;>;Ljava/util/Optional;>;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;)Ljava/util/Optional;>;lambda$rememberDoorToClose$1r(Lnet/minecraft/core/GlobalPos;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;)Ljava/util/Set;lambda$rememberDoorToClose$0>(Lnet/minecraft/core/GlobalPos;Ljava/util/Set;)Ljava/util/Set;&lambda$areOtherMobsComingThroughDoor$2I(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/LivingEntity;)ZotherMob&lambda$areOtherMobsComingThroughDoor$1&lambda$areOtherMobsComingThroughDoor$0U(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)Z1lambda$closeDoorsThatIHaveOpenedOrPassedThrough$0H(Lnet/minecraft/world/level/block/state/BlockBehaviour$BlockStateBase;)ZsELnet/minecraft/world/level/block/state/BlockBehaviour$BlockStateBase;lambda$create$0Í(Lorg/apache/commons/lang3/mutable/MutableObject;Lorg/apache/commons/lang3/mutable/MutableInt;Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;iMLnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;lambda$create$1±(Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;Lorg/apache/commons/lang3/mutable/MutableObject;Lorg/apache/commons/lang3/mutable/MutableInt;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;)Lnet/minecraft/world/entity/ai/behavior/declarative/Trigger; pathMemorylambda$create$2È(Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lorg/apache/commons/lang3/mutable/MutableObject;Lorg/apache/commons/lang3/mutable/MutableInt;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;J)Z fromBlockdoor timestampJfromNodetoNodefromPos fromStatetoPostoStatelambda$create$5I(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/pathfinder/Node;Lnet/minecraft/world/level/pathfinder/Node;Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Ljava/util/Set;)VdoorSetlambda$create$4lambda$create$3 SourceFileInteractWithDoor.javaBootstrapMethods &(Ljava/lang/Object;)Ljava/lang/Object;¢ =£ „…¥p(Lnet/minecraft/world/entity/ai/behavior/declarative/BehaviorBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;;¨ =© €��¬ =­ ~¯,(Lnet/minecraft/world/entity/LivingEntity;)Z± =² }{´ =µ z{· =¸ xyº (Ljava/util/Set;)Ljava/util/Set;*½ =¾ vwÀ()Ljava/util/Set;ÂJ(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;Ä =Å ˆ‰Ç(Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;Lnet/minecraft/world/entity/ai/behavior/declarative/MemoryAccessor;)Lnet/minecraft/world/entity/ai/behavior/declarative/Trigger;ÉU(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;J)ZË =Ì ‹ŒÎ =Ï ›�Ñ =Ò š�ÙÕ =Ö —˜Ø(Ljava/util/Set;)VÚ ÛÜÝ Þß"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â4net/minecraft/world/level/block/state/BlockBehaviourBlockStateBaseInstanceæcom/mojang/datafixers/ProductsP3é*com/mojang/datafixers/kinds/OptionalBox$Muë'com/mojang/datafixers/kinds/OptionalBoxMuî%java/lang/invoke/MethodHandles$Lookupðjava/lang/invoke/MethodHandlesLookup!=89:;<=:³>=:å?/*·±@"A BC D?j» Y· K» Y·L*+º¸°@+,.AEF GHI EJKL 67?& ̹:¹!™»¹'À+:¶-:,Æ,¶1¶6™§ÿÓ-Æ-¶1¶6™§ÿÀ*+¸<™ ¹B§ÿ¬*¶E:  ²KºQ¶Uš ¹B§ÿŠ ¶[À_:   ¶aš ¹B§ÿl+¸e™ ¹B§ÿW +* ¶i¹B§ÿA±@j` abc&f6g9iIjLmVn]o`qhrxst‚vŒw–x�y {«|²}µÁ€È�Ë‚Ap ©MN&¢OPh`QR Œ<ST ÌUVÌWXÌYZÌ[ZÌ\]Ì^_ Ã`I Ì\aÌ^b Ãcd<ü "ý/+7ü!Vü_ÿF®22n"eUWY[\^Kfghh gh?¨7,¶m™¬,¶rÀu¹w*º{¹~+º„¹~+º‡¹ˆ¬@…† ‰Š&‹1Œ6‰A 7WX7OP7^_I 7^bd e WO^Ki ãä?÷Q*²Œ¶’š¬*²Œ¶˜¶rÀœM,¶ž™¬,¶¡N-Ǭ,¶¥:+-¶1¶6š+¶1¶6™§¬@* � ‘ “”!–#™(š,›.ž4ŸA4QjkQOP7lm()YZ4[ZI Qjnd üœü 2ü2@e jOKo @A?t",¶¨*¶¬¦,¶-+¶­³¶µš§¬@£ ¤!£A "UV"WX"MNd@e UWM )*?¡',¶¬-¸¹:+º½¶À*ºÄ¶ÇÀ¸Ë°@¨ ª­#ªA4'pq'\_'UV'OP rNI'ps'\tep\UOKu vw?k½+Y*S¸ÎM+,¶Ô,°@® ¯°A rNpq Ø]I  Øa xy?B +*¹ÚW+°@ «¬A rN Ø] z{?= +¶Ý*¸á¬@ŒA OP |X }{?@ *+¶­å¶µ¬@‹A OP |X ~?P+¶ç*¶ç¦§¬@ŠAWX|Xd@ €�?2*¶ëÁ_¬@rA ‚ƒ „…?|&,,²Œ¶î,²ô¶÷,²ú¶÷¶ý,,*+º¶°@./ 01."2%.A &EF&GH&†‡ ˆ‰?j*-+,º °@2A>†‡EFGHŠqpq^q ‹Œ?½*+¶ Àœ: *,¶:  ¶š  ¶ž™¬-¶ ¶¥¸™ ¶§ ¶ ž¬- ¶¥¶$ ¶¡:  ¶¥:  ¶1:¶E:²Kº&¶U™1¶[À_:¶aš¶i, ¸':  ¶1:¶E:²Kº+¶U™1¶[À_:¶aš¶i, ¸':    *º,¶0¬@n3 45!6#82:<;D=F@OBVC]EdFmG}H‡I‘JŸL«O²P»QËRÕSßUíVùZ[AÀ‡$�TÕ$ŽT†‡ŠqpqEFGH^qUVWX�� lm ÿ\_ Vº‘Z ]³’Z d¬“Pm£”R²^•P»U–RI ÿ\t dOý!œn ÿXïÕÕ  ÕF®œn227V_ú ýM7V —˜?w*+,-¶¸4±@ZAHUVWX‘Z’Z†‡^q™] š�?2*¶ëÁ_¬@QA ‚ƒ ›�?2*¶ëÁ_¬@GA ‚ƒœ�žz ÙŸ¡¤Ù¦§ªÙ¦«®Ù¦°®Ù¦³®ÙŸ¶¹Ù»¼¿ÙÁÃÆÙÈÊÈ٦ͪ٦ЪÙÓÔ×à*ìáã ïäåçèêìíïñ