Êþº¾Eé  java/lang/Object()V   net/minecraft/core/BlockPosgetX()I  java/lang/Mathmin(II)I   getY   getZ  max  !2net/minecraft/world/level/blockscan/BlockScanUtilssectionBasedScan†(Lnet/minecraft/world/level/LevelReader;IIIIIILjava/util/function/Predicate;Lnet/minecraft/world/level/blockscan/BlockStateConsumer;)Z #$% &'net/minecraft/core/SectionPosblockToSectionCoord(I)I )*+ , %net/minecraft/world/level/LevelReadergetMinSectionY ). / getMaxSectionY )1 23getChunk1(II)Lnet/minecraft/world/level/chunk/ChunkAccess; 567 8'+net/minecraft/world/level/chunk/ChunkAccessgetSectionIndexFromSectionY 5: ;< getSection6(I)Lnet/minecraft/world/level/chunk/LevelChunkSection; >?@ AB1net/minecraft/world/level/chunk/LevelChunkSectionmaybeHas!(Ljava/util/function/Predicate;)Z #D E'sectionToBlockCoord #G H'sectionRelative #J E L M(III)V O PQfindBlocksInSection¯(Lnet/minecraft/world/level/chunk/LevelChunkSection;Lnet/minecraft/core/BlockPos;IIIIIILjava/util/function/Predicate;Lnet/minecraft/world/level/blockscan/BlockStateConsumer;)Z )S T getMinY )V W getMaxY YZ[ \]&net/minecraft/world/level/block/BlocksAIR'Lnet/minecraft/world/level/block/Block; _`a bc%net/minecraft/world/level/block/BlockdefaultBlockState4()Lnet/minecraft/world/level/block/state/BlockState; efg hijava/util/function/Predicatetest(Ljava/lang/Object;)Z k lm betweenClosed(IIIIII)Ljava/lang/Iterable; opq rsjava/lang/Iterableiterator()Ljava/util/Iterator; uvw xyjava/util/IteratorhasNext()Z u{ |}next()Ljava/lang/Object; €� ‚ƒ6net/minecraft/world/level/blockscan/BlockStateConsumerapplyr(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/util/Continuation; …†‡ ˆynet/minecraft/util/Continuation shouldAbortŠ+net/minecraft/core/BlockPos$MutableBlockPos ‰ >� Ž� getBlockState7(III)Lnet/minecraft/world/level/block/state/BlockState; ‰‘ ’“ setWithOffsetL(Lnet/minecraft/core/Vec3i;III)Lnet/minecraft/core/BlockPos$MutableBlockPos;•8net/minecraft/world/level/blockscan/FilteredSectionCache ”— ˜H(Lnet/minecraft/world/level/LevelReader;Ljava/util/function/Predicate;)V ”š Ž›Q(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;CodeLineNumberTableLocalVariableTablethis4Lnet/minecraft/world/level/blockscan/BlockScanUtils; findBlocksº(Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;Ljava/util/function/Predicate;Lnet/minecraft/world/level/blockscan/BlockStateConsumer;)Zlevel'Lnet/minecraft/world/level/LevelReader;fromLnet/minecraft/core/BlockPos;to predicateLjava/util/function/Predicate;consumer8Lnet/minecraft/world/level/blockscan/BlockStateConsumer;minXIminYminZmaxXmaxYmaxZLocalVariableTypeTableRLjava/util/function/Predicate;MethodParameters Signatureî(Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;Ljava/util/function/Predicate;Lnet/minecraft/world/level/blockscan/BlockStateConsumer;)Zsection3Lnet/minecraft/world/level/chunk/LevelChunkSection;sectionOriginXsectionOriginYsectionOriginZfromXfromYfromZtoXtoYtoZoriginychunk-Lnet/minecraft/world/level/chunk/ChunkAccess;zxpos minSectionX minSectionY minSectionZ maxSectionX maxSectionY maxSectionZ belowWorldZ aboveWorld StackMapTableº(Lnet/minecraft/world/level/LevelReader;IIIIIILjava/util/function/Predicate;Lnet/minecraft/world/level/blockscan/BlockStateConsumer;)Z blockState2Lnet/minecraft/world/level/block/state/BlockState; mutablePos-Lnet/minecraft/core/BlockPos$MutableBlockPos;ã(Lnet/minecraft/world/level/chunk/LevelChunkSection;Lnet/minecraft/core/BlockPos;IIIIIILjava/util/function/Predicate;Lnet/minecraft/world/level/blockscan/BlockStateConsumer;)ZfindBlocksWithCache”(Lnet/minecraft/world/level/LevelReader;Ljava/lang/Iterable;Ljava/util/function/Predicate;Lnet/minecraft/world/level/blockscan/BlockStateConsumer;)Zstate positionsLjava/lang/Iterable; sectionCache:Lnet/minecraft/world/level/blockscan/FilteredSectionCache;3Ljava/lang/Iterable;ã0net/minecraft/world/level/block/state/BlockStateç(Lnet/minecraft/world/level/LevelReader;Ljava/lang/Iterable;Ljava/util/function/Predicate;Lnet/minecraft/world/level/blockscan/BlockStateConsumer;)Z SourceFileBlockScanUtils.java InnerClassesMutableBlockPos!œ/*·±�ž Ÿ ¡¢œ b+¶,¶¸ 6+¶,¶¸ 6+¶,¶¸ 6+¶,¶¸6+¶,¶¸6 +¶,¶¸6 *  -¸¬� '4ANžp b£¤b¥¦b§¦b¨©bª« U¬­H®­';¯­4.°­A!±­ N²­ ³ b¨´µ£¥§¨ª¶· !œ� ¸"6 *¹(¸"¸6 ¸"6 ¸"6 *¹-¸"¸ 6 ¸"6 6 £æ 6£Õ*¹0: 6 £¸¶4¶9:¶=š§—¸C6¸C6¸C6¸¸F6¸¸F6¸¸F6¸I¸ ¸F6¸I¸ ¸F6¸I¸ ¸F6»Y·K:¸N™¬„§ÿG„§ÿ*„§ÿ*¹R¢§6*¹U¤§6š™°²X¶^¹d™ ™L*¹Rd¸j¹n:¹t™)¹zÀ:²X¶^¹~¶„™¬§ÿÓ™M*¹U`¸j¹n:¹t™)¹zÀ:²X¶^¹~¶„™¬§ÿÓ¬�ª*"2 9!D"O#[$f%t&~'�)ˆ*�+–,¡-¬.·/È0Ù1ê2ù34$"!!'98:J;d<i=˜>­?¯A²C·DçEüFþHKžV"t¡¸¹ˆ�º­�†»­–¼­¡t½­¬i¾­·^¿­ÈMÀ­Ù<Á­ê+­ùæ_¼Ä­[ÀÅÆHÙÇ­=êÈ­˜ɦçɦ£¤¬­®­¯­°­±­²­¨©ª«ýÊ­ îË­ èÌ­ "áÍ­ 2Ñέ 9ÊÏ­8ËÐÑJ¹Òѳ ¨´Ó]ÿ=)eü ý5ü!>ú“ùúú @ü@ü ü-u,úüu,úµ% £¬®¯°±²¨ª¶Ô PQœ�t»‰Y·‹: 6  £b6  £Q6  £A*   ¶Œ:¹d™# +   ¶�W  ¹~¶„™¬„ §ÿ¾„ §ÿ®„ §ÿ�¬�6 O PQR(S4T@UMV^W`RfQlPr]ž˜4,ÕÖ!EÈ­ UÇ­ fÄ­ t¸¹tæt½­t¾­t¿­tÀ­tÁ­t­t¨©tª« kר ³ t¨´Óý ‰ü ü >úúúµ) ¸Ã½¾¿ÀÁ¨ª¶ÙÚÛœQ»”Y*,·–:+¹n:¹t™5¹zÀ:¶™:ǧÿÜ-¹~¶„™¬§ÿǬ�& b c)d2e7f:hJiLkOlžH2ÜÖ)#ɦQ£¤QÝÞQ¨©Qª« Fßà³QÝáQ¨´Óý”uý&âùúµ£Ý¨ª¶äåæç ‰è