Êþº¾EÆ  java/lang/Object()V+java/util/concurrent/atomic/AtomicReference   0net/minecraft/server/level/GenerationChunkHolder startedWork-Ljava/util/concurrent/atomic/AtomicReference;0java/util/concurrent/atomic/AtomicReferenceArray  CHUNK_STATUSESLjava/util/List;  java/util/Listsize()I  (I)V !"futures2Ljava/util/concurrent/atomic/AtomicReferenceArray; $ %task')java/util/concurrent/atomic/AtomicInteger & * +,generationRefCount+Ljava/util/concurrent/atomic/AtomicInteger; ./0 12&java/util/concurrent/CompletableFuturecompletedFuture<(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture; 4 56generationSaveSyncFuture(Ljava/util/concurrent/CompletableFuture; 8 9:pos$Lnet/minecraft/world/level/ChunkPos; <=> ?@"net/minecraft/world/level/ChunkPosisValid()ZBjava/lang/IllegalStateException DEF GHjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;J KLmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; AN O(Ljava/lang/String;)V Q RSisStatusDisallowed7(Lnet/minecraft/world/level/chunk/status/ChunkStatus;)Z U V6UNLOADED_CHUNK_FUTURE X YZgetOrCreateFuture^(Lnet/minecraft/world/level/chunk/status/ChunkStatus;)Ljava/util/concurrent/CompletableFuture; .\ ]@isDone _ `aget()Ljava/lang/Object;c.net/minecraft/server/level/ChunkGenerationTask be fg targetStatus4Lnet/minecraft/world/level/chunk/status/ChunkStatus; ijk lS2net/minecraft/world/level/chunk/status/ChunkStatusisAfter n oprescheduleChunkTask\(Lnet/minecraft/server/level/ChunkMap;Lnet/minecraft/world/level/chunk/status/ChunkStatus;)V rst fu0net/minecraft/world/level/chunk/status/ChunkStep6()Lnet/minecraft/world/level/chunk/status/ChunkStatus; w xSacquireStatusBump z{| }~-net/minecraft/server/level/GeneratingChunkMap applyStep°(Lnet/minecraft/server/level/GenerationChunkHolder;Lnet/minecraft/world/level/chunk/status/ChunkStep;Lnet/minecraft/util/StaticCache2D;)Ljava/util/concurrent/CompletableFuture;€ �‚apply…(Lnet/minecraft/server/level/GenerationChunkHolder;Lnet/minecraft/world/level/chunk/status/ChunkStep;)Ljava/util/function/BiFunction; .„ …†handleI(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture; ˆ ‰ghighestAllowedStatus ‹ ŒgetTicketLevel Ž�� ‘’%net/minecraft/server/level/ChunkLevelgenerationStatus7(I)Lnet/minecraft/world/level/chunk/status/ChunkStatus; i” •SisBefore — ˜™!failAndClearPendingFuturesBetweenk(Lnet/minecraft/world/level/chunk/status/ChunkStatus;Lnet/minecraft/world/level/chunk/status/ChunkStatus;)V › œ�"findHighestStatusWithPendingFuturej(Lnet/minecraft/world/level/chunk/status/ChunkStatus;)Lnet/minecraft/world/level/chunk/status/ChunkStatus; Ÿ ¡ ¢£&net/minecraft/server/level/ChunkResultof<(Ljava/lang/Object;)Lnet/minecraft/server/level/ChunkResult; ¥ ¦length ¨ `©(I)Ljava/lang/Object; «¬­ ®¯java/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object; ± ²³ NOT_DONE_YET(Lnet/minecraft/server/level/ChunkResult; .µ ¶¯getNow Ÿ¸ ¹¯orElse»+net/minecraft/world/level/chunk/ChunkAccess½*net/minecraft/world/level/chunk/ProtoChunk ¿ ÀÁ compareAndSet((ILjava/lang/Object;Ljava/lang/Object;)ZÃ9Future changed by other thread while trying to replace itJ Æ ÀÇ'(Ljava/lang/Object;Ljava/lang/Object;)Z É ÊËgetPos&()Lnet/minecraft/world/level/ChunkPos; ÍÎÏ ÐÑ#net/minecraft/server/level/ChunkMapscheduleGenerationTaskŠ(Lnet/minecraft/world/level/chunk/status/ChunkStatus;Lnet/minecraft/world/level/ChunkPos;)Lnet/minecraft/server/level/ChunkGenerationTask; Ó Ô¯ getAndSet bÖ ×markForCancellation iÙ ÚgetIndex . Ý ÞßcompareAndExchange9(ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; á âãfailAndClearPendingFuture,(ILjava/util/concurrent/CompletableFuture;)V å æ³UNLOADED_CHUNK .è éêcomplete(Ljava/lang/Object;)Zì+Nothing else should replace the future here Ÿî ï@ isSuccessñMTrying to complete a future but found it to be completed successfully already óôõ öjava/lang/Threadyield iø ùgEMPTY iû üu getParent þ Þÿ8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; K8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; & getAndIncrement   addSaveDependency+(Ljava/util/concurrent/CompletableFuture;)V &  decrementAndGet K(I)Ljava/lang/String;  getChunkIfPresentUncheckedc(Lnet/minecraft/world/level/chunk/status/ChunkStatus;)Lnet/minecraft/world/level/chunk/ChunkAccess; º ugetPersistedStatus Ž  fullStatus/(I)Lnet/minecraft/server/level/FullChunkStatus;java/util/ArrayList  ¨  !" ¢#com/mojang/datafixers/util/PairG(Ljava/lang/Object;Ljava/lang/Object;)Lcom/mojang/datafixers/util/Pair; % &êadd("Exception chunk generation/loading *+, -.net/minecraft/CrashReport forThrowableD(Ljava/lang/Throwable;Ljava/lang/String;)Lnet/minecraft/CrashReport; 012 34,net/minecraft/util/thread/BlockableEventLooprelayDelayCrash(Lnet/minecraft/CrashReport;)V 6 78completeFutured(Lnet/minecraft/world/level/chunk/status/ChunkStatus;Lnet/minecraft/world/level/chunk/ChunkAccess;)V i: ;< getStatusList()Ljava/util/List;> Not done yet Ÿ@ ABerror<(Ljava/lang/String;)Lnet/minecraft/server/level/ChunkResult;DUnloaded chunk SignatureFLjava/util/List;WLnet/minecraft/server/level/ChunkResult;�Ljava/util/concurrent/CompletableFuture;>;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;cLjava/util/concurrent/atomic/AtomicReference;µLjava/util/concurrent/atomic/AtomicReferenceArray;>;>;_Ljava/util/concurrent/atomic/AtomicReference;:Ljava/util/concurrent/CompletableFuture;'(Lnet/minecraft/world/level/ChunkPos;)VCodeLineNumberTableLocalVariableTablethis2Lnet/minecraft/server/level/GenerationChunkHolder; StackMapTableMethodParametersscheduleChunkGenerationTaskƒ(Lnet/minecraft/world/level/chunk/status/ChunkStatus;Lnet/minecraft/server/level/ChunkMap;)Ljava/util/concurrent/CompletableFuture;status scheduler%Lnet/minecraft/server/level/ChunkMap;future0Lnet/minecraft/server/level/ChunkGenerationTask;LocalVariableTypeTableÜ(Lnet/minecraft/world/level/chunk/status/ChunkStatus;Lnet/minecraft/server/level/ChunkMap;)Ljava/util/concurrent/CompletableFuture;>;­(Lnet/minecraft/world/level/chunk/status/ChunkStep;Lnet/minecraft/server/level/GeneratingChunkMap;Lnet/minecraft/util/StaticCache2D;)Ljava/util/concurrent/CompletableFuture;step2Lnet/minecraft/world/level/chunk/status/ChunkStep;chunkMap/Lnet/minecraft/server/level/GeneratingChunkMap;cache"Lnet/minecraft/util/StaticCache2D;VLnet/minecraft/util/StaticCache2D;:(Lnet/minecraft/world/level/chunk/status/ChunkStep;Lnet/minecraft/server/level/GeneratingChunkMap;Lnet/minecraft/util/StaticCache2D;)Ljava/util/concurrent/CompletableFuture;>;updateHighestAllowedStatus((Lnet/minecraft/server/level/ChunkMap;)V oldStatus newStatus statusDroppedZreplaceProtoChunk7(Lnet/minecraft/world/level/chunk/ImposterProtoChunk;)VmaybeProtoChunk-Lnet/minecraft/world/level/chunk/ChunkAccess;iIchunk4Lnet/minecraft/world/level/chunk/ImposterProtoChunk;imposterFuture removeTask3(Lnet/minecraft/server/level/ChunkGenerationTask;)VnewTaskoldTasknewValueindex·(Lnet/minecraft/world/level/chunk/status/ChunkStatus;)Ljava/util/concurrent/CompletableFuture;>;previous fromExclusive toInclusivestartend…(ILjava/util/concurrent/CompletableFuture;>;)Vresult highestStatusalreadyStartedparentpreviousStartedsync.(Ljava/util/concurrent/CompletableFuture<*>;)VincreaseGenerationRefCountdecreaseGenerationRefCountgetChunkIfPresentgetLatestChunk/()Lnet/minecraft/world/level/chunk/ChunkAccess; chunkAccess getFullStatus.()Lnet/minecraft/server/level/FullChunkStatus; getQueueLevel getAllFuturesêLjava/util/List;>;>;>;ì()Ljava/util/List;>;>;>;RuntimeInvisibleAnnotations$Lnet/minecraft/util/VisibleForDebug;getLatestStatuslambda$applyStep$0ž(Lnet/minecraft/world/level/chunk/status/ChunkStep;Lnet/minecraft/world/level/chunk/ChunkAccess;Ljava/lang/Throwable;)Lnet/minecraft/server/level/ChunkResult;reportLnet/minecraft/CrashReport; exceptionLjava/lang/Throwable; SourceFileGenerationChunkHolder.javaBootstrapMethods¦2Trying to create chunk out of reasonable bounds: ÿ© ª ›œ¬l(Lnet/minecraft/world/level/chunk/ChunkAccess;Ljava/lang/Throwable;)Lnet/minecraft/server/level/ChunkResult;®+Trying to replace a ProtoChunk, but found °>Unexpected last startedWork status:  while trying to start: ²#More releases than claims. Count: ´ µ¶· K¸$java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;º »¼½ ¾¿"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Â%java/lang/invoke/MethodHandles$LookupÄjava/lang/invoke/MethodHandlesLookup!  EF²³EGæ³EGV6EH9:B‰gIJEKI J!"ELI J%EMI J+,B56ENOPË^*·*»Y· µ *»Y²¹·µ*»Y· µ#*»&Y·(µ)*¸-µ3*+µ7+¶;š»AY+¸CºI·M¿±Q* 7%,"1-385@8E9L:]<R^ST^9:Uÿ] <V9WXPÚ@*+¶P™²T°*+¶WN-¶[™-°*´#¶^Àb:Æ+´d¶h™ *,+¶m-°Q& @A CDEG'H8I>KR4@ST@Yg@Z[.\6'%]^ .\HU ü.übV YZE_}`P«7*+¶q¶P™²T°*+¶q¶v™,*+-¹y*+º¶ƒ°*+¶q¶W°QQ RVW.bR*7ST7ab7cd7ef^ 7egUV aceEhijPÓI*´‡M*¶Š¸�N*-µ‡,Æ-Æ -,¶“™§6™*-,¶–*´#¶^Æ *+*-¶š¶m±Q& gh ij)k.l4n>oHrR4ISTIZ[Dkg <lg) mnUý"ii@ü VZopP7y+¸ž¸-M>*´¶¤d¢d*´¶§À.:¸ªW²°¶´ÀŸ¹·Àº:Á¼™*´,¶¾š»AY·M¿»AY¸CºÄ·M¿„§ÿ•±Q. vxy$z*|@}H~V`‚rxx…R>$N\6@2qr nstySTyuvqw6^$N\HqwHUý .ýU.ºùúVuxyPC *´#+¶ÅW±Q Š ‹R ST %]V%opP´+,Æ+,*¶È¶ÌN§N*´#-¶ÒÀb:ƶձQ�‘“• –%—*™R>z]+ST+Z[+Ygz] {]UübübV ZYI JYZPX*+¶P™²T°+¶Ø=*´¶§À.N-Ç8».Y·Û:*´¶ÜÀ.N-Ç*+¶P™*¶à²T°°§ÿÊ-°Q:�ž ¡¢£!¤*¥9¦=§E¨L©P«S­V®R4*)|6XSTXYgG}t;\6^*)|H;\HU ý.ü2.úVYE~˜™PùD+ǧ +¶Ø`>,¶Ø66£'*´¶§À.:ǧ *¶à„§ÿرQ& ³´µ¶-·2¸5º=µC¼RH-6+stDSTD€gD�g5‚t/ƒt^ -HUEþ ü.úúV €�I JâãP‡",²ä¶ç™*´,¶¾š »AYë·M¿±QÁ ÂÃ!ÆR "ST"}t"6^ "HU!V }E„78P],¸žN+¶Ø6*´¶§À.:Ç*´-¸-¶¾™.±-¶ç™±²°¶´ÀŸ¹í™ »AYð·M¿¸ò§ÿ±Q2 ÊË ÏÐÑ/Ò0Õ9Ö:ØMÙWÜZÞR>A\6]ST]Yg]urX…³ R}t^A\HX…GUý Ÿü$. úV Yuœ�PÉC+ǰ+M*´ ¶^ÀiN-Æ ,-¶h™%*´,¶Ø¶§Æ,°,²÷¦§ ,¶úM§ÿÕ°Q. ãäæçèê-ì/î6ï9ñAóR*CSTClg;†g0‡gUý ii  VlIJJxSP¿G+²÷¦§+¶úM*´ ,+¶ýÀiN-,¦¬-Æ +-¶h™»AY-¸C+¸Cº·M¿¬Qøúû"ü$ÿ0ER*GSTGYg7ˆg*‰gU Ciýii VYRSPj*´‡M,Æ +,¶h™§¬Q R STYg‰gU üi@VY VŠE‹ŒP]*´)¶š*».Y·Ûµ3**´3¶±Q R STU�P¢**´3L*´)¶ =š +¶çWœ»AYº ·M¿±Q )R *ST%\6 |t^ %\NU ý.P‘+*´+¶Ø¶§À.M,ǧ,²°¶´ÀŸ¹·Àº°Q "#R +ST+Yg\6^ \HU ü.RºVYIJŽPU*+¶P™°*+¶°Q'( *RSTYgU VYIJ��P�&*´ ¶^ÀiL+ǰ*+¶M,Æ,°*+¶ú¶°Q/ 013457R &ST YgurUüiü ºIJuP®:*´²÷¶Ø¶§À.L+ǧ+²°¶´ÀŸ¹·ÀºM,ǧ,¶°Q;<-=R :ST)\6- ‘r^ )\HUü.RºüºCiIJÊËP/*´7°QAR ST’“P2*¶Š¸°QER STŒ”•<P±?»Y·L=²¹¢*+²¹Ài*´¶§À.¸¹$W„§ÿÐ+°QOQR7Q=TR  3st?ST7…^ 7…–U ý ú2E—˜™I JšuPŒ"*´ ¶^ÀiL+ǰ*+¶M,Æ+°+¶ú°QZ [\^_`bR "ST Yg urUüiü º˜™IJ›œP“#-Æ-'¸):¸/§ *+¶q,¶5,¸ž°QXY Z[\^R4 �ž#ST#ab#ur#Ÿ U¡PF"¸9³=¸?³°C¸?³ä²ä¸-³T±Q¢£¤$³¥¹§¨«³­³¯³±À ÁÃÅ