Êþº¾EF testM(Lnet/minecraft/world/level/biome/BiomeSource;)Ljava/util/function/Predicate;  java/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;  toList()Ljava/util/List;–(Lnet/minecraft/world/level/levelgen/RandomState;Lnet/minecraft/world/level/biome/BiomeSource;JLnet/minecraft/world/level/ChunkPos;JLjava/util/List;)V  net/minecraft/core/HolderLookup listElements()Ljava/util/stream/Stream;  !java/util/stream/CollectorstoUnmodifiableList()Ljava/util/stream/Collector; # $%collect0(Ljava/util/stream/Collector;)Ljava/lang/Object;'java/util/List )*+ ,9net/minecraft/world/level/levelgen/structure/StructureSet structures &. /stream1 23apply()Ljava/util/function/Function; 5 67flatMap8(Ljava/util/function/Function;)Ljava/util/stream/Stream; 9:; <=+net/minecraft/world/level/biome/BiomeSourcepossibleBiomes()Ljava/util/Set; ?@A BCjava/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object;E F/(Ljava/util/Set;)Ljava/util/function/Predicate; H IJanyMatch!(Ljava/util/function/Predicate;)Z LMN Ojava/lang/Object()VQ6it/unimi/dsi/fastutil/objects/Object2ObjectOpenHashMap PM T UVplacementsForStructureLjava/util/Map;X3it/unimi/dsi/fastutil/objects/Object2ObjectArrayMap WM [ \V ringPositions ^ _` randomState0Lnet/minecraft/world/level/levelgen/RandomState; b cd levelSeedJ f ghorigin$Lnet/minecraft/world/level/ChunkPos; j kl biomeSource-Lnet/minecraft/world/level/biome/BiomeSource; n odconcentricRingsSeed q rspossibleStructureSetsLjava/util/List; u rw xyacceptl(Lnet/minecraft/world/level/chunk/ChunkGeneratorStructureState;Ljava/util/Set;)Ljava/util/function/Consumer; &{ |}forEach (Ljava/util/function/Consumer;)V €� ‚ƒXnet/minecraft/world/level/levelgen/structure/placement/ConcentricRingsStructurePlacementcount()I &… †of ˆ‰Š ‹Œ&java/util/concurrent/CompletableFuturecompletedFuture<(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture; Ž�� ‘’net/minecraft/util/UtilTICKERLcom/google/common/base/Ticker; ”•– —˜ com/google/common/base/Stopwatch createStartedC(Lcom/google/common/base/Ticker;)Lcom/google/common/base/Stopwatch; š ›ƒdistance�java/util/ArrayList œŸ  (I)V ¢ £ƒspread ¥ ¦§preferredBiomes ()Lnet/minecraft/core/HolderSet; ©ª« ¬­net/minecraft/util/RandomSourcecreate#()Lnet/minecraft/util/RandomSource; ©¯ °±setSeed(J)V ©³ ´µ nextDouble()D·java/lang/Math@ !ûTD-@?à@ ¶Á ÂÃcos(D)D ¶Å ÆÇround(D)J ¶É ÊÃsin ©Ì Í­forkÏ ÐÑgetž(Lnet/minecraft/world/level/chunk/ChunkGeneratorStructureState;IILnet/minecraft/core/HolderSet;Lnet/minecraft/util/RandomSource;)Ljava/util/function/Supplier; ŽÓ ÔÕbackgroundExecutor!()Lnet/minecraft/TracingExecutor;×structureRings ÙÚÛ ÜÝnet/minecraft/TracingExecutorforName3(Ljava/lang/String;)Ljava/util/concurrent/Executor; ˆß àá supplyAsyncf(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture; &ã äåadd(Ljava/lang/Object;)Z@!ûTD- ¶é êëmin(II)I Ží îïsequence:(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;ñ 2ò\(Lcom/google/common/base/Stopwatch;Lnet/minecraft/core/Holder;)Ljava/util/function/Function; ˆô õö thenApplyG(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture; ø ùúhasGeneratedPositionsZ ü ýOgeneratePositions ÿ OensureStructuresGenerated  ÐC java/util/Map ˆ join()Ljava/lang/Object;     net/minecraft/core/Holdervalue   getOrDefault8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; )  placementM()Lnet/minecraft/world/level/levelgen/structure/placement/StructurePlacement;  Inet/minecraft/world/level/levelgen/structure/placement/StructurePlacementisStructureChunkC(Lnet/minecraft/world/level/chunk/ChunkGeneratorStructureState;II)Z ” stop$()Lcom/google/common/base/Stopwatch; !"# $%java/util/concurrent/TimeUnit MILLISECONDSLjava/util/concurrent/TimeUnit; ”' ()elapsed"(Ljava/util/concurrent/TimeUnit;)J@�@ - ./LOGGERLorg/slf4j/Logger;1Calculation for {} took {}s 345 67java/lang/DoublevalueOf(D)Ljava/lang/Double; 9:; <=org/slf4j/Loggerdebug9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V ?@A Bënet/minecraft/core/SectionPossectionToBlockCoordD E>(Lnet/minecraft/core/HolderSet;)Ljava/util/function/Predicate; 9G HIfindBiomeHorizontal–(IIIILjava/util/function/Predicate;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/RandomState;)Lcom/mojang/datafixers/util/Pair; KLM Ncom/mojang/datafixers/util/PairgetFirstPnet/minecraft/core/BlockPosR"net/minecraft/world/level/ChunkPos OT UƒgetX ?W XYblockToSectionCoord(I)I O[ \ƒgetZ Q^ _(II)V &a bciterator()Ljava/util/Iterator; efg hijava/util/IteratorhasNext()Z ek lnextnQnet/minecraft/world/level/levelgen/structure/StructureSet$StructureSelectionEntry mp qr structure()Lnet/minecraft/core/Holder;t6net/minecraft/world/level/levelgen/structure/Structure sv w§biomes y.znet/minecraft/core/HolderSet1 } ~computeIfAbsentC(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; � ‚ƒgenerateRingPositionsŸ(Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/structure/placement/ConcentricRingsStructurePlacement;)Ljava/util/concurrent/CompletableFuture; … †put œM ‰ Š#net/minecraft/core/Holder$Reference Œ �ŽhasBiomesForStructureSetk(Lnet/minecraft/world/level/levelgen/structure/StructureSet;Lnet/minecraft/world/level/biome/BiomeSource;)Z �‘’ “”com/mojang/logging/LogUtils getLogger()Lorg/slf4j/Logger; Signature¦Ljava/util/Map;>;ËLjava/util/Map;>;>;jLjava/util/List;>; createForFlatÛ(Lnet/minecraft/world/level/levelgen/RandomState;JLnet/minecraft/world/level/ChunkPos;Lnet/minecraft/world/level/biome/BiomeSource;Ljava/util/stream/Stream;)Lnet/minecraft/world/level/chunk/ChunkGeneratorStructureState;CodeLineNumberTableLocalVariableTablestructureOverridesLjava/util/stream/Stream;LocalVariableTypeTablesLjava/util/stream/Stream;>;MethodParameters5(Lnet/minecraft/world/level/levelgen/RandomState;JLnet/minecraft/world/level/ChunkPos;Lnet/minecraft/world/level/biome/BiomeSource;Ljava/util/stream/Stream;>;)Lnet/minecraft/world/level/chunk/ChunkGeneratorStructureState;createForNormalã(Lnet/minecraft/world/level/levelgen/RandomState;JLnet/minecraft/world/level/ChunkPos;Lnet/minecraft/world/level/biome/BiomeSource;Lnet/minecraft/core/HolderLookup;)Lnet/minecraft/world/level/chunk/ChunkGeneratorStructureState; allStructures!Lnet/minecraft/core/HolderLookup;^Lnet/minecraft/core/HolderLookup; (Lnet/minecraft/world/level/levelgen/RandomState;JLnet/minecraft/world/level/ChunkPos;Lnet/minecraft/world/level/biome/BiomeSource;Lnet/minecraft/core/HolderLookup;)Lnet/minecraft/world/level/chunk/ChunkGeneratorStructureState; structureSet;Lnet/minecraft/world/level/levelgen/structure/StructureSet;structureBiomes_Ljava/util/stream/Stream;>;this>Lnet/minecraft/world/level/chunk/ChunkGeneratorStructureState;ð(Lnet/minecraft/world/level/levelgen/RandomState;Lnet/minecraft/world/level/biome/BiomeSource;JLnet/minecraft/world/level/ChunkPos;JLjava/util/List;>;)Vl()Ljava/util/List;>;Ljava/util/Set;ULjava/util/Set;>;distDinitialXIinitialZbiomeSearchGenerator!Lnet/minecraft/util/RandomSource;iLnet/minecraft/core/Holder;ZLnet/minecraft/world/level/levelgen/structure/placement/ConcentricRingsStructurePlacement; stopwatch"Lcom/google/common/base/Stopwatch;tasksLnet/minecraft/core/HolderSet;randomanglepositionInCirclecircleXLnet/minecraft/core/Holder;`Ljava/util/List;>;GLnet/minecraft/core/HolderSet; StackMapTable(Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/structure/placement/ConcentricRingsStructurePlacement;)Ljava/util/concurrent/CompletableFuture;>;getDimensionOrigin&()Lnet/minecraft/world/level/ChunkPos;getRingPositionsForl(Lnet/minecraft/world/level/levelgen/structure/placement/ConcentricRingsStructurePlacement;)Ljava/util/List;result(Ljava/util/concurrent/CompletableFuture;`Ljava/util/concurrent/CompletableFuture;>;’(Lnet/minecraft/world/level/levelgen/structure/placement/ConcentricRingsStructurePlacement;)Ljava/util/List;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;getPlacementsForStructure-(Lnet/minecraft/core/Holder;)Ljava/util/List;ULnet/minecraft/core/Holder;´(Lnet/minecraft/core/Holder;)Ljava/util/List;2()Lnet/minecraft/world/level/levelgen/RandomState;hasStructureChunkInRange!(Lnet/minecraft/core/Holder;III)ZtestZtestXsourceXsourceZrangeKLnet/minecraft/world/level/levelgen/structure/placement/StructurePlacement;^(Lnet/minecraft/core/Holder;III)Z getLevelSeed()Jlambda$generateRingPositions$1_(Lcom/google/common/base/Stopwatch;Lnet/minecraft/core/Holder;Ljava/util/List;)Ljava/util/List;elapsedSecondslambda$generateRingPositions$0g(IILnet/minecraft/core/HolderSet;Lnet/minecraft/util/RandomSource;)Lnet/minecraft/world/level/ChunkPos;positionLnet/minecraft/core/BlockPos; closestBiome!Lcom/mojang/datafixers/util/Pair;„Lcom/mojang/datafixers/util/Pair;>;lambda$generatePositions$0-(Ljava/util/Set;Lnet/minecraft/core/Holder;)V8Lnet/minecraft/world/level/levelgen/structure/Structure;entrySLnet/minecraft/world/level/levelgen/structure/StructureSet$StructureSelectionEntry;i$Ljava/util/Iterator; patt0$tempringsPlacement setHoldersethasAnyPlaceableStructureslambda$generatePositions$1J(Lnet/minecraft/world/level/levelgen/structure/Structure;)Ljava/util/List;s!lambda$hasBiomesForStructureSet$0n(Lnet/minecraft/world/level/levelgen/structure/StructureSet$StructureSelectionEntry;)Ljava/util/stream/Stream;lambda$createForNormal$0U(Lnet/minecraft/world/level/biome/BiomeSource;Lnet/minecraft/core/Holder$Reference;)Z%Lnet/minecraft/core/Holder$Reference;lambda$createForFlat$0K(Lnet/minecraft/world/level/biome/BiomeSource;Lnet/minecraft/core/Holder;)Z SourceFile!ChunkGeneratorStructureState.javaBootstrapMethodså  (Lnet/minecraft/core/Holder;)Z  ((Lnet/minecraft/core/Holder$Reference;)ZC  þÿÿ   å java/util/Setcontains (Ljava/lang/Object;)V" # ïð%(Lnet/minecraft/core/Holder;)V( ) èéÌ, - åæ/"(Ljava/util/List;)Ljava/util/List; 1 y2 4 5 ûüü8 9:; <="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; InnerClassesStructureSelectionEntry ReferenceB%java/lang/invoke/MethodHandles$LookupDjava/lang/invoke/MethodHandlesLookup!L ./_`klcdodUV•–\V•—ùúghrs•˜ ™š›© %º¹¹ :»Y*- ·°œ9 :;=�>%_`%cd%gh%kl%žŸ,s %ž¡,˜¢_cgkž•£ ¤¥›¸ 0¹º¹¸¹"À&:»Y*-·°œACDE G�>0_`0cd0gh0kl0¦§ ,s 0¦¨ ,˜¢_cgk¦•© �Ž›�)*¶(¹-º0¹4M,+¶8Y¸>WºD¹G¬œKLQ� )ª«)kl¬Ÿ  ¬­¢ ªk›Ø <*·K*»PY·RµS*»WY·YµZ*+µ]*!µa*µe*,µi*µm*µp±œ* T.0UV$W*X/Y5Z;[�H<®¯<_`<kl<cd<gh<od<rs  <r˜¢_kcgor•°r›/*´p°œ^� ®¯•±ýO›g*´i¶8L*¶t*+ºv¹z±œbcs�®¯<²  <³‚ƒ›Ó3,¶~𠏄¸‡°²�¸“N,¶™6,¶~6»œY·ž:,¶¡6,¶¤:¸¨:  *´m¹® ¹²¸kºk9 6 6 6¢½h hh`‡ ¹²¼g‡¾kkc9 ¸Àk¸Äˆ6 ¸Èk¸Äˆ6 ¹Ë:*ºÎ¸Òֶظ޹âW æ‡oc9 „   7„ 6 h `l`6d¸è6  ¹²¸kºkc9 „§ÿB¸ì-+ºð¶ó°œzvwz|}!,�2‚8„=‡H‰Y‹\Œ_�iŽ��›�©’²“šʓӜߞéŸì ï¡ý¢ £�#§�¶��´µ›‚¶·©t¸·²k¹ºbÁ»·3®¯3ª¼3½¾¿›·!‚·,Às2£·8û¦Á=öº YÚõ \×Ä· _ÔÅ·   3ªÆ,ÀÇ8û¦ÈÉ,ÿS ”&y©ûºú¢ ª•ÊËÌ›/*´e°œ¯� ®¯O›P*´÷š *¶û*µ÷±œ³´ µ·� ®¯ÉÍΛŒ"*¶þ*´Z+¹ÀˆM,Æ ,¶À&§°œº»¼� "®¯"½ÏР ÏÑÉ ü ˆ@&¢•ÒÓÔÕÖ›d*¶þ*´S+¹ ¸„¹À&°œ ÀÁ�®¯q¼  q×¢q•Ø_Ù›/*´]°œÅ� ®¯ÚÛ›K+¹ À)¶:d6`£/d6`£*¹™¬„§ÿã„§ÿάœ"ÉÊË,Ì;Í=ËCÊIÒ�R# Ü·5Ý·K®¯Kª¼KÞ·Kß·Kà·=á  KªÆÉýüúú¢ªÞßà•âãä›/*´a­œÖ� ®¯ åæ›r"*¶² ¶&Š*oJ²,0+)¸2¹8,°œ¨© ª�*"¾¿"ª¼"\sçµèé›ðZ*´i¸>¸>p-Y¸>WºC*´]¶F:Æ%¶JÀO:»QY¶S¸V¶Z¸V·]°»QY·]°œ”)•.–8—P™�H8êëZ®¯Z¶·Z¸·Z¦ÁZ¹º)1ìí  )1ìîÉüPKïð›p«,¹ À)N6-¶(¹`:¹d™^¹jÀm:¶o¹ Às:¶u¹x+Y¸>WºD¹G™#*´Sº{¹|À&-¶¹âW6§ÿž™+-¶:Á™À:*´Z*,¶€¹„W±œ. e f g.h=iZjwkzm}n—oªq�f ==qñ.Lòóeôõˆöá—÷½«®¯«<²«ø¼ ¡ù« žúúÉþ)eûaú, ûü›2»œY·‡°œj� ýñ þÿ›O*¶o¹ ÀsL+¶u¹x°œ M N�òó qñ ›@ +¶ˆÀ)*¸‹¬œD� kl ª ›B+¹ À)*¸‹¬œ:�klª¼O›¸�³,±œ$\ 7   7 77  7!$7&'*7+.7 0 736>m)?‰ @ ACE