Êþº¾Eã-net/minecraft/world/level/portal/PortalForcer  java/lang/Object()V  level(Lnet/minecraft/server/level/ServerLevel;  &net/minecraft/server/level/ServerLevel getPoiManager8()Lnet/minecraft/world/entity/ai/village/poi/PoiManager;  4net/minecraft/world/entity/ai/village/poi/PoiManagerensureLoadedAndValidH(Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;I)V test ()Ljava/util/function/Predicate;  !">net/minecraft/world/entity/ai/village/poi/PoiManager$OccupancyANY@Lnet/minecraft/world/entity/ai/village/poi/PoiManager$Occupancy; $ %& getInSquare—(Ljava/util/function/Predicate;Lnet/minecraft/core/BlockPos;ILnet/minecraft/world/entity/ai/village/poi/PoiManager$Occupancy;)Ljava/util/stream/Stream;( )*apply()Ljava/util/function/Function; ,-. /0java/util/stream/Streammap8(Ljava/util/function/Function;)Ljava/util/stream/Stream; 234 56java/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object;8 9N(Lnet/minecraft/world/level/border/WorldBorder;)Ljava/util/function/Predicate; ,; <=filter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;? @O(Lnet/minecraft/world/level/portal/PortalForcer;)Ljava/util/function/Predicate;B CD applyAsDoubleD(Lnet/minecraft/core/BlockPos;)Ljava/util/function/ToDoubleFunction; FGH IJjava/util/ComparatorcomparingDouble=(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;L MN applyAsInt$()Ljava/util/function/ToIntFunction; FP QRthenComparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator; ,T UVmin,(Ljava/util/Comparator;)Ljava/util/Optional; XYZ [\*net/minecraft/core/Direction$AxisDirectionPOSITIVE,Lnet/minecraft/core/Direction$AxisDirection; ^_` abnet/minecraft/core/Directiongeto(Lnet/minecraft/core/Direction$AxisDirection;Lnet/minecraft/core/Direction$Axis;)Lnet/minecraft/core/Direction;¿ð f ghgetWorldBorder0()Lnet/minecraft/world/level/border/WorldBorder; j klgetMaxY()I n olgetMinY q rlgetLogicalHeight tuv Uwjava/lang/Math(II)I yz{ |}net/minecraft/core/BlockPosmutable/()Lnet/minecraft/core/BlockPos$MutableBlockPos; ^ €�EASTLnet/minecraft/core/Direction; ^ƒ „�SOUTH y† ‡ˆ spiralAroundp(Lnet/minecraft/core/BlockPos;ILnet/minecraft/core/Direction;Lnet/minecraft/core/Direction;)Ljava/lang/Iterable; Š‹Œ �Žjava/lang/Iterableiterator()Ljava/util/Iterator; �‘’ “”java/util/IteratorhasNext()Z �– —˜next()Ljava/lang/Object;š+net/minecraft/core/BlockPos$MutableBlockPos œ�ž Ÿ 2net/minecraft/world/level/levelgen/Heightmap$TypesMOTION_BLOCKING4Lnet/minecraft/world/level/levelgen/Heightmap$Types; ™¢ £lgetX ™¥ ¦lgetZ ¨ ©ª getHeight9(Lnet/minecraft/world/level/levelgen/Heightmap$Types;II)I ¬­® ¯°,net/minecraft/world/level/border/WorldBorderisWithinBounds (Lnet/minecraft/core/BlockPos;)Z ™² ³´moveN(Lnet/minecraft/core/Direction;I)Lnet/minecraft/core/BlockPos$MutableBlockPos; ^¶ ·¸ getOpposite ()Lnet/minecraft/core/Direction; ™º »¼setY0(I)Lnet/minecraft/core/BlockPos$MutableBlockPos; ¾ ¿ÀcanPortalReplaceBlock0(Lnet/minecraft/core/BlockPos$MutableBlockPos;)Z ^ Ã�DOWN ™Å ³ÆM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; È ÉÊ canHostFramel(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos$MutableBlockPos;Lnet/minecraft/core/Direction;I)Z yÌ ÍÎdistSqr(Lnet/minecraft/core/Vec3i;)D ™Ð ÑÒ immutable()Lnet/minecraft/core/BlockPos; tÔ Õwmax רÙ ÚÛjava/util/Optionalempty()Ljava/util/Optional; y¢ ^Þ ßlgetStepX yá âlgetY äåæ çènet/minecraft/util/Mthclamp(III)I y¥ ^ë ìlgetStepZ yî ï(III)V yÐ ¬ò óô clampToBounds<(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/core/BlockPos; ^ö ÷¸ getClockWise ùúû üý&net/minecraft/world/level/block/BlocksOBSIDIAN'Lnet/minecraft/world/level/block/Block; ÿ %net/minecraft/world/level/block/BlockdefaultBlockState4()Lnet/minecraft/world/level/block/state/BlockState; ù ýAIR ™    setWithOffsetL(Lnet/minecraft/core/Vec3i;III)Lnet/minecraft/core/BlockPos$MutableBlockPos;   setBlockAndUpdateR(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Z ù ý NETHER_PORTAL  1net/minecraft/world/level/block/NetherPortalBlockAXIS?Lnet/minecraft/world/level/block/state/properties/EnumProperty;  0net/minecraft/world/level/block/state/BlockStatesetValuee(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object;   !setBlockS(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z#+net/minecraft/util/BlockUtil$FoundRectangle "% &"(Lnet/minecraft/core/BlockPos;II)V ×( )*of((Ljava/lang/Object;)Ljava/util/Optional; , -. getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; 0 1” canBeReplaced 3 45 getFluidState1()Lnet/minecraft/world/level/material/FluidState; 789 :”-net/minecraft/world/level/material/FluidStateisEmpty < =”isSolid ?@A BEnet/minecraft/world/level/block/state/properties/BlockStatePropertiesHORIZONTAL_AXIS D EF hasProperty>(Lnet/minecraft/world/level/block/state/properties/Property;)Z HIJ K2net/minecraft/world/entity/ai/village/poi/PoiTypes%Lnet/minecraft/resources/ResourceKey; MNO PQnet/minecraft/core/Holderis((Lnet/minecraft/resources/ResourceKey;)Z TICKET_RADIUSI ConstantValueNETHER_PORTAL_RADIUSOVERWORLD_PORTAL_RADIUS€ FRAME_HEIGHT FRAME_WIDTH FRAME_BOXFRAME_HEIGHT_STARTÿÿÿÿFRAME_HEIGHT_ENDFRAME_WIDTH_STARTFRAME_WIDTH_ENDFRAME_BOX_START FRAME_BOX_END NOTHING_FOUND+(Lnet/minecraft/server/level/ServerLevel;)VCodeLineNumberTableLocalVariableTablethis/Lnet/minecraft/world/level/portal/PortalForcer;MethodParametersfindClosestPortalPositionb(Lnet/minecraft/core/BlockPos;ZLnet/minecraft/world/level/border/WorldBorder;)Ljava/util/Optional;approximateExitPosLnet/minecraft/core/BlockPos;toNetherZ worldBorder.Lnet/minecraft/world/level/border/WorldBorder; poiManager6Lnet/minecraft/world/entity/ai/village/poi/PoiManager;radius StackMapTable Signature�(Lnet/minecraft/core/BlockPos;ZLnet/minecraft/world/level/border/WorldBorder;)Ljava/util/Optional; createPortalV(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction$Axis;)Ljava/util/Optional;distanceD firstEmptyYdeltaYyheight columnPos-Lnet/minecraft/core/BlockPos$MutableBlockPos; blockState2Lnet/minecraft/world/level/block/state/BlockState;widthbox minStartY maxStartY clockWiseorigin portalAxis#Lnet/minecraft/core/Direction$Axis; directionclosestFullDistanceSqrclosestFullPositionclosestPartialDistanceSqrclosestPartialPosition maxPlaceableY edgeDistanceportalBlockStateš!net/minecraft/core/Direction$Axis…(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction$Axis;)Ljava/util/Optional;posoffset"lambda$findClosestPortalPosition$2=(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Dp"lambda$findClosestPortalPosition$1"lambda$findClosestPortalPosition$0(Lnet/minecraft/core/Holder;)ZtypeLnet/minecraft/core/Holder; SourceFilePortalForcer.javaBootstrapMethodsª(Ljava/lang/Object;)Z¬ ­ ¢££6± ²³´ µÒ3net/minecraft/world/entity/ai/village/poi/PoiRecordgetPos·T(Lnet/minecraft/world/entity/ai/village/poi/PoiRecord;)Lnet/minecraft/core/BlockPos;«°» ¼ ¡°¾(Ljava/lang/Object;)DÀ Á žŸÃ (Lnet/minecraft/core/BlockPos;)DÅ(Ljava/lang/Object;)IÇ ÈáÉnet/minecraft/core/Vec3iË (Lnet/minecraft/core/BlockPos;)IÍ ÎÏÐ ÑÒ"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 Occupancy AxisDirectionAxisMutableBlockPosÙ,net/minecraft/world/level/levelgen/HeightmapTypesÜnet/minecraft/util/BlockUtilFoundRectangleß%java/lang/invoke/MethodHandles$Lookupájava/lang/invoke/MethodHandlesLookup!RSTUVSTWXSTYZST[\ST]^STU_ST`aST]bST`cSTUdST`eSTfgST` hiF *·*+µ ±j,- .k lm n opiýq*´ ¶ :™§€6*´ +¶º+²¶#º'¹+-Y¸1Wº7¹:*º>¹:+ºA¸EºK¹O¹S°j& 1 23#586?7S8^9p5k>qlmqqrqstquv hwxZySz üBn qsu{|}~i¸]²W,¸]Nc9:c9: *´ ¶e: *´ ¶i*´ ¶m*´ ¶p`d¸s6 6 +¶x: +²~²‚¸…¹‰:¹�™<¹•À™: *´ ²›¶¡¶¤¶§¸s6 ¶«™ÿÈ -¶±¶«š§ÿ¶-¶µ¶±W6*´ ¶m¡Û¶¹W*¶½š§Á6*´ ¶m¤*²Á¶Ä¶½™ „ÿ§ÿâ` ¤§�d6ž ¢§{¶¹W* -¶Ç™f+¶Ë9* -¶Ç™,* -¶Ç™c—™ —ž9¶Ï:c—šc—™ —ž9¶Ï: „ÿ§ÿ§þÀc—šc—™  :9c—šÚ*´ ¶mdF¸Ó6  d6¢¸Ö°»yY+¶Ü-¶Ýhd+¶à¸ã+¶é-¶êhd·í¶ð: ¶ñ:-¶õ:6¢s6¢d6¢Uœ ²ø¶þ§ ²¶þ: -¶Ýh¶Ýh`-¶êh¶êh`¶W*´  ¶ W„§ÿ«„§ÿœ„§ÿ�6¢X6¢IŸŸŸ  + -¶Ýh-¶êh¶W*´  ²ø¶þ¶ W„§ÿ·„§ÿ¨²¶þ²,¶À:6¢>6¢/ -¶Ýh-¶êh¶W*´  ¶W„§ÿÑ„§ÿ»"Y¶ð·$¸'°j^W=? @ABD!E>GAIGJpK‹N¤O§Q²SÂTÊUÓVÖYÚ[õ\û`aefgj$l1n9qMrSudvhwo|‰}�~”Sš‚�…¯†³‡·ŠÀ�ÐŽ×�Þ�â“ç”ò•ý– —˜™œ'�0Ÿ9 O¢V¤h¦u¢y¨…Ÿ‹�‘œ—¯ °©²Á³ȵÑ·Õ³Ù¹é°ï¯õ¿ÁÂà Å)Ç-Ã1É?ÂEÁKÍk.9[€Úº�S†‚S¶äƒS‹„Sp*…†O6‡ˆ3X„S*g‰S!vŠSÐÇ‹S×ÀŒSy��£L„Sš[‰S2„S A‰S]lm]Žr]��U‘� P’€M“rH”€E•r !<uv >–S A—S G|† V˜ˆz±"ÿZ y™^yy¬™�ýL™üü üüG ø øúý*ý>^üüEú=úÿ y™^yy¬™üü'úúýüú1ún Ž�{›¿Àir *´ +¶+M,¶/™,¶2¶6™§¬j Ñ Òk  lm œ† ‡ˆz ü@nœÉÊi3r-¶õ:6¢d6¢U,+-¶Ýh¶Ýh`-¶êh¶êh`¶Wœ*´ ,¶+¶;𬛠*,¶½š¬„§ÿ«„§ÿœ¬j:ÖØÙÚÜ-Þ<Ú@áSâUäbådÙjØpêkRX„S g‰SrlmrŽrr|†r‘�r�Sl��zý ^üûBúúnŽ|‘� žŸi:+*¶Ë¯j9kqr r¡°iC*´ +¶+²>¶C¬j8klmœr ¢£i4 *²G¹L¬j5k  ¤¥¦§¨>Ì©«®Ì¯°¶Ì©¸¹Ì©º¹Ì½¿ÂÌÄÆÊÓ:Ô@X^Õ@™^Ö@™y× œØÚ@"ÛÝ Þàâ