Êþº¾EÜ  0net/minecraft/world/level/block/state/BlockStategetCollisionShape¤(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/phys/shapes/CollisionContext;)Lnet/minecraft/world/phys/shapes/VoxelShape;   *net/minecraft/world/phys/shapes/VoxelShapeisEmpty()Z  moveH(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/world/phys/shapes/VoxelShape;  )net/minecraft/world/level/CollisionGetterisUnobstructedR(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/shapes/VoxelShape;)Z  !net/minecraft/world/entity/EntitygetBoundingBox!()Lnet/minecraft/world/phys/AABB;  !"&net/minecraft/world/phys/shapes/ShapescreateM(Lnet/minecraft/world/phys/AABB;)Lnet/minecraft/world/phys/shapes/VoxelShape; $ %& noCollisionE(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Z ( %)F(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;Z)Z + ,)noBlockCollision . /&noEntityCollision 1 2&noBorderCollision 4 56getBlockAndLiquidCollisionsX(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Ljava/lang/Iterable; 8 96getBlockCollisions ;<= >?java/lang/Iterableiterator()Ljava/util/Iterator; ABC D java/util/IteratorhasNext AF GHnext()Ljava/lang/Object; J KLgetEntityCollisionsT(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Ljava/util/List; N Ojava/util/List Q RSborderCollisionp(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Lnet/minecraft/world/phys/shapes/VoxelShape; UVW XY)net/minecraft/world/phys/shapes/BooleanOpAND+Lnet/minecraft/world/phys/shapes/BooleanOp; [ \]joinIsNotEmpty†(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/BooleanOp;)Z _`a bc#com/google/common/collect/Iterablesconcat>(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable; efg hinet/minecraft/world/phys/Vec3yD klm no0net/minecraft/world/phys/shapes/CollisionContext withPositionX(Lnet/minecraft/world/entity/Entity;D)Lnet/minecraft/world/phys/shapes/CollisionContext; q rsgetBlockCollisionsFromContextg(Lnet/minecraft/world/phys/shapes/CollisionContext;Lnet/minecraft/world/phys/AABB;)Ljava/lang/Iterable; ku vwempty4()Lnet/minecraft/world/phys/shapes/CollisionContext; ky z{ofW(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/phys/shapes/CollisionContext; k} ~wemptyWithFluidCollisions k€ z�X(Lnet/minecraft/world/entity/Entity;Z)Lnet/minecraft/world/phys/shapes/CollisionContext;ƒ >„’(Lnet/minecraft/world/level/CollisionGetter;Lnet/minecraft/world/phys/shapes/CollisionContext;Lnet/minecraft/world/phys/AABB;)Ljava/lang/Iterable; † ‡ˆgetWorldBorder0()Lnet/minecraft/world/level/border/WorldBorder; Š‹Œ �&,net/minecraft/world/level/border/WorldBorderisInsideCloseToBorder Š� �.()Lnet/minecraft/world/phys/shapes/VoxelShape; ’ “”clipR(Lnet/minecraft/world/level/ClipContext;)Lnet/minecraft/world/phys/BlockHitResult; –—˜ ™š%net/minecraft/world/level/ClipContextgetFrom!()Lnet/minecraft/world/phys/Vec3; Šœ �žisWithinBounds"(Lnet/minecraft/world/phys/Vec3;)Z  ¡¢ £š'net/minecraft/world/phys/BlockHitResult getLocation e¥ ¦§subtract@(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; e© ªix e¬ ­iz ¯°± ²³net/minecraft/core/DirectiongetApproximateNearest#(DDD)Lnet/minecraft/core/Direction; е ¶§clampVec3ToBound ¸¹º »¼net/minecraft/core/BlockPos containing<(Lnet/minecraft/core/Position;)Lnet/minecraft/core/BlockPos;  ¾ ¿À_(Lnet/minecraft/world/phys/Vec3;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;ZZ)VÂ)net/minecraft/world/level/BlockCollisionsÄ ÅÆapply!()Ljava/util/function/BiFunction; ÁÈ ¿É�(Lnet/minecraft/world/level/CollisionGetter;Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;ZLjava/util/function/BiFunction;)V ÁB ÁFÍjava/lang/DoubleïÿÿÿÿÿÿÄ Ò Óšposition ¸Õ Ö×distToCenterSqr (Lnet/minecraft/core/Position;)D ¸Ù ÚÛ compareTo(Lnet/minecraft/core/Vec3i;)I ¸Ý Þß immutable()Lnet/minecraft/core/BlockPos; áâã äåjava/util/Optional ofNullable((Ljava/lang/Object;)Ljava/util/Optional; áç vè()Ljava/util/Optional; ê ëbounds íîï ðñnet/minecraft/world/phys/AABBinflate$(DDD)Lnet/minecraft/world/phys/AABB; ;ó ôõ spliterator()Ljava/util/Spliterator; ÷øù úûjava/util/stream/StreamSupportstream3(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;ý þÿtestK(Lnet/minecraft/world/level/CollisionGetter;)Ljava/util/function/Predicate;  java/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; Å()Ljava/util/function/Function;    flatMap8(Ljava/util/function/Function;)Ljava/util/stream/Stream; Å"(DDD)Ljava/util/function/Function;   map  v� Å%()Ljava/util/function/BinaryOperator;  reduceI(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object; U Y ONLY_FIRST ! "#join±(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/BooleanOp;)Lnet/minecraft/world/phys/shapes/VoxelShape; % &'closestPointTo5(Lnet/minecraft/world/phys/Vec3;)Ljava/util/Optional;@ + ,-toAabbs()Ljava/util/List; N/ ú0()Ljava/util/stream/Stream; Š2 �3"(Lnet/minecraft/world/phys/AABB;)ZÄ Á6 ¿7Ÿ(Lnet/minecraft/world/level/CollisionGetter;Lnet/minecraft/world/phys/shapes/CollisionContext;Lnet/minecraft/world/phys/AABB;ZLjava/util/function/BiFunction;)V9java/lang/Object;%net/minecraft/world/level/BlockGettergetChunkForCollisions+(II)Lnet/minecraft/world/level/BlockGetter;MethodParameterschunkXchunkZRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;CodeLineNumberTableLocalVariableTablethis+Lnet/minecraft/world/level/CollisionGetter;source#Lnet/minecraft/world/entity/Entity;shape,Lnet/minecraft/world/phys/shapes/VoxelShape;„(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/phys/shapes/CollisionContext;)Zstate2Lnet/minecraft/world/level/block/state/BlockState;posLnet/minecraft/core/BlockPos;context2Lnet/minecraft/world/phys/shapes/CollisionContext; StackMapTable&(Lnet/minecraft/world/entity/Entity;)ZignoreaabbLnet/minecraft/world/phys/AABB;entityalwaysCollideWithFluidsZblockCollisionblockCollisionsLjava/lang/Iterable;LocalVariableTypeTableBLjava/lang/Iterable; borderShapetestArea Signature‚(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Ljava/util/List; getCollisionsboxentityCollisionsLjava/util/List;>Ljava/util/List;†(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Ljava/lang/Iterable;getPreMoveCollisionsw(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;Lnet/minecraft/world/phys/Vec3;)Ljava/lang/Iterable;oldPosLnet/minecraft/world/phys/Vec3;¥(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;Lnet/minecraft/world/phys/Vec3;)Ljava/lang/Iterable;•(Lnet/minecraft/world/phys/shapes/CollisionContext;Lnet/minecraft/world/phys/AABB;)Ljava/lang/Iterable; worldBorder.Lnet/minecraft/world/level/border/WorldBorder;clipIncludingBorderdeltadeltaDirectionLnet/minecraft/core/Direction;hitc'Lnet/minecraft/world/level/ClipContext; hitResult)Lnet/minecraft/world/phys/BlockHitResult;collidesWithSuffocatingBlock+Lnet/minecraft/world/level/BlockCollisions;YLnet/minecraft/world/level/BlockCollisions;findSupportingBlockX(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Ljava/util/Optional;distance mainSupportmainSupportDistanceJLnet/minecraft/world/level/BlockCollisions;w(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/AABB;)Ljava/util/Optional;findFreePosition‡(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/Vec3;DDD)Ljava/util/Optional;allowedCenterspreferredCentersizeXsizeYsizeZ searchAreaexpandedCollisions freeSpots¨(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/Vec3;DDD)Ljava/util/Optional;lambda$findFreePosition$2C(DDDLnet/minecraft/world/phys/AABB;)Lnet/minecraft/world/phys/AABB;lambda$findFreePosition$1G(Lnet/minecraft/world/phys/shapes/VoxelShape;)Ljava/util/stream/Stream;lambda$findFreePosition$0/(Lnet/minecraft/world/phys/shapes/VoxelShape;)Zlambda$findSupportingBlock$0x(Lnet/minecraft/core/BlockPos$MutableBlockPos;Lnet/minecraft/world/phys/shapes/VoxelShape;)Lnet/minecraft/core/BlockPos;-Lnet/minecraft/core/BlockPos$MutableBlockPos;%lambda$collidesWithSuffocatingBlock$0‡(Lnet/minecraft/core/BlockPos$MutableBlockPos;Lnet/minecraft/world/phys/shapes/VoxelShape;)Lnet/minecraft/world/phys/shapes/VoxelShape;p&lambda$getBlockCollisionsFromContext$0g(Lnet/minecraft/world/phys/shapes/CollisionContext;Lnet/minecraft/world/phys/AABB;)Ljava/util/Iterator;&lambda$getBlockCollisionsFromContext$1 SourceFileCollisionGetter.javaBootstrapMethods? ¤ ¥ œ�§8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;© ª ™šš­ ® –——±(Ljava/lang/Object;)Z ³ ´ ”••·&(Ljava/lang/Object;)Ljava/lang/Object;¹ º ’““½ ¾ �‘À@(Lnet/minecraft/world/phys/AABB;)Lnet/minecraft/world/phys/AABB;"Ä Å ÆÇor†(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/VoxelShape;)Lnet/minecraft/world/phys/shapes/VoxelShape;ÇÊ Ë žšÍ ÎÏÐ ÑÒ"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Õ+net/minecraft/core/BlockPos$MutableBlockPosMutableBlockPosØ%java/lang/invoke/MethodHandles$LookupÚjava/lang/invoke/MethodHandlesLookup8:‡ˆ<=> ?@ABC@¬DE FGHIJK> HJA BLCŽ'+*,-¶:¶š*,¶ ¹™§¬D  !E4'FG'MN'OP'QR JKS ü!@> MOQTCC*++¶¸¹¬D%EFGUI>U%3C= *+¹#¬D)E FG VW>V%TC@ *++¶¹#¬D-E FG HI>H%&CH *+,¹'¬D1E  FG XI VW> XVA B%)C{(*+,¹*™*+,¹-™*+,¹0™§¬D6E*(FG(XI(VW(YZS&@> XVYA B,&CH *+,¹*¬D:E  FG XI VW> XVA B,)CãG™*+,¹3§ *+,¹7:¹::¹@™¹EÀ:¶š¬§ÿà¬D>?8@@ABCEDE>8 [KGFGGXIGVWGYZ.\]^ .\_SG;ý ;Aú> XVYA B/&CL*+,¹I¹M¬DHE FGXIVW> XVA B2&C�'+Æ$*+,¹PN-Æ-,¸²T¸Z𧬬DLM N%PE* `K'FG'XI'VWSü@ú> XVA BKL> HabcA Bd6C³(*+,¹IN*+,¹7:-¹M™§ -¸^°DV WXE4(FG(HI(eW fg\]^ fh\_Sý!N;E;> HebiA BjkCÇ2*+,¹I:*+-´d¸j,¹p:¹M™§ ¸^°D\ ]^E>2FG2HI2eW2lm (fg\]^ (fh\_Sý*N;F;> HelbnA B96Cv*+Ç ¸t§+¸x,¹p°DbE FGHIeWSKÿík> HebiA B56Cw*+Ç ¸|§+¸,¹p°DfE FGHIeWSKÿík> HebiA BrsCG *+,º‚°DjE  FG HR eW> HeboRSCw*¹…N-+,¶‰™ -¶Ž§°D noE*FGHIeWpqS üŠ@> HeABr”Cøe*+¹‘M*¹…N-+¶•¶›™L-,¶Ÿ¶›šA,¶Ÿ+¶•¶¤:´¨´d´«¸®:-,¶Ÿ¶´:» Y¸··½°,°D"stu%v2wFxPyc{EH21smFtuPvmeFGewx]yzVpqS ýc Š>w{&C¢)»ÁY*+,ºÃ·ÇN-¶Ê™-¶ËÀ¶šÿשּׁD€�%‚'…E*)FG)HI)eW\|^ \}S üÁ> HeA B~C, eNÎ9»ÁY*+,ºÐ·Ç:¶Ê™B¶ËÀ¸:+¶Ñ¶Ô9˜›—š-Æ -¶Øœ ¶ÜN9§ÿ¼-¸à°D. ‰Š‹Œ!�+Ž6�S�Y‘]“`”ER+2OP6'€ieFGeHIeeWc�P^‚iL\|^ L\ƒSþ¸Áý9¸ù > Heb„…†C0 ,¶™¸æ°,¶é¶ì: *+ ¹7¹ò¸ö*ºü¹º¹ º ¹º¹¸º¹À: , ²¸ :  -¶$°D* ›œ Ÿ 2¡<¢L¤V¥m¨xªEf FGHI‡Kˆm‰iŠi‹ieŒW m�K xŽK S >H‡ˆ‰Š‹b�A B �‘C^ &(o((o(o¶ì°D¤E*‰iŠi‹iVW ’“C4 *¶*¹.°D¢E  JK”•C_*¹…Æ*¹…+¶é¶1™§¬D¡EFGJKS@ –—C6*°D‹EO˜JK ™šC6+°DE›˜JKœ�CO»ÁY*+,º4·5°DjE FGHReW žšC6+°DjE›˜JKŸ ¡\ Ì¢£¢Ì¦¨«Ì¦¬¯Ì°²µÌ¶¸»Ì¶¼¿Ì¶ÁÂ̦ÃÈ̦ɫÓÔ¸Ö ×ÙÛ