Êþº¾EÌ  java/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object;   Inet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSectionthis$0=Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher;  java/lang/Object()V+java/util/concurrent/atomic/AtomicReference  7net/minecraft/client/renderer/chunk/CompiledSectionMesh UNCOMPILED1Lnet/minecraft/client/renderer/chunk/SectionMesh;  (Ljava/lang/Object;)V  ! sectionMesh-Ljava/util/concurrent/atomic/AtomicReference; #$% &'net/minecraft/core/SectionPosasLong(III)J ) *+ sectionNodeJ-+net/minecraft/core/BlockPos$MutableBlockPos ,/ 0(III)V 2 34 renderOrigin-Lnet/minecraft/core/BlockPos$MutableBlockPos; 6 78indexI : ;<setSectionNode(J)V > ?+ uploadedTime A BCbbLnet/minecraft/world/phys/AABB; E Freset #H IJx(J)I #L MNsectionToBlockCoord(I)I #P QJy #S TJz ,V WXset2(III)Lnet/minecraft/core/BlockPos$MutableBlockPos;Znet/minecraft/world/phys/AABB Y\ ] (DDDDDD)V _ `aget()Ljava/lang/Object;c/net/minecraft/client/renderer/chunk/SectionMesh e f cancelTasks h i getAndSet klm no;net/minecraft/client/renderer/chunk/SectionRenderDispatchercopyLock*Ljava/util/concurrent/locks/ReentrantLock; qrs t(java/util/concurrent/locks/ReentrantLocklock v wxreleaseSectionMesh4(Lnet/minecraft/client/renderer/chunk/SectionMesh;)V qz {unlock #} ~offset"(JLnet/minecraft/core/Direction;)J � ‚ƒgetSectionMesh3()Lnet/minecraft/client/renderer/chunk/SectionMesh;…`net/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$ResortTransparencyTask „‡ ˆ‡(Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection;Lnet/minecraft/client/renderer/chunk/CompiledSectionMesh;)V Š ‹ŒlastResortTransparencyTaskbLnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$ResortTransparencyTask; kŽ ��scheduleZ(Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$SectionTask;)V b’ “”hasTranslucentGeometry()Z „– —˜ isCompleted+Ljava/util/concurrent/atomic/AtomicBoolean; š›œ `”)java/util/concurrent/atomic/AtomicBoolean ž Ÿ lastCompileTaskWLnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$CompileTask; ¢£¤ ¥Unet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$CompileTaskcancel „£ ¢¨ ©ˆ(Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection;Lnet/minecraft/client/renderer/chunk/RenderSectionRegion;Z)V « ¬­createCompileTask’(Lnet/minecraft/client/renderer/chunk/RenderSectionRegion;)Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$SectionTask; k¯ °± fixedBuffers8Lnet/minecraft/client/renderer/SectionBufferBuilderPack; ³´µ ¶·Unet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$SectionTaskdoTask£(Lnet/minecraft/client/renderer/SectionBufferBuilderPack;)Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$SectionTask$SectionTaskResult; k¹ º»onSectionMeshUpdateLjava/util/function/Consumer; ½¾¿ Àjava/util/function/Consumeraccept  ÃupdateUploadTime ÅÆÇ ÈÉnet/minecraft/util/Util getMillis()J bË Ìclose kÎ ÏÐchunkUberBuffersLjava/util/Map; ÒÓÔ ÕÖ java/util/Mapvalues()Ljava/util/Collection; ØÙÚ ÛÜjava/util/Collectioniterator()Ljava/util/Iterator; Þßà á”java/util/IteratorhasNext Þã äanextæNnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$SectionUberBuffers åè éê vertexBuffer)Lcom/mojang/blaze3d/vertex/UberGpuBuffer; ìíî ï'com/mojang/blaze3d/vertex/UberGpuBufferremoveAllocation åñ òê indexBuffer ôõö I÷net/minecraft/world/phys/Vec3D #ù úû minBlockX()I ôý Q÷ #ÿ û minBlockY ô T÷ # û minBlockZ    'com/mojang/blaze3d/vertex/VertexSorting byDistance.(FFF)Lcom/mojang/blaze3d/vertex/VertexSorting;   Õ5net/minecraft/client/renderer/chunk/ChunkSectionLayer:()[Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;  getSectionDrawv(Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;)Lnet/minecraft/client/renderer/chunk/SectionMesh$SectionDraw;  isIndexBufferUploaded:(Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;)Z  isVertexBufferUploaded  setSectionMeshd(Lnet/minecraft/client/renderer/chunk/SectionMesh;)Lnet/minecraft/client/renderer/chunk/SectionMesh; ! "#setVertexBufferUploaded:(Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;)V % &'checkSectionMesh<(Lnet/minecraft/client/renderer/chunk/CompiledSectionMesh;)V ) *#setIndexBufferUploaded Ò, ` . /0$assertionsDisabledZ2java/lang/AssertionError 15 67bufferHasBeenUploaded¼(Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection;Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;)Lcom/mojang/blaze3d/vertex/UberGpuBuffer$UploadCallback; ì9 :; addAllocationb(Ljava/lang/Object;Lcom/mojang/blaze3d/vertex/UberGpuBuffer$UploadCallback;Ljava/nio/ByteBuffer;)Z= 6>½(Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection;Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;Z)Lcom/mojang/blaze3d/vertex/UberGpuBuffer$UploadCallback; @AB C”'com/mojang/blaze3d/systems/RenderSystemisOnRenderThread kE FuploadTerrainBuffersToGpu H IJindexBufferUploadCallbackt(Lnet/minecraft/client/renderer/chunk/CompiledSectionMesh;Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;Z)V L MNvertexBufferUploadCallbacks(Lnet/minecraft/client/renderer/chunk/CompiledSectionMesh;Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;)V PQR S”java/lang/ClassdesiredAssertionStatusU1net/minecraft/client/RotatingSectionStorage$Value Signature`Ljava/util/concurrent/atomic/AtomicReference;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;B(Lnet/minecraft/client/renderer/chunk/SectionRenderDispatcher;IJ)VCodeLineNumberTableLocalVariableTablethisKLnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection;MethodParameters getVisibility(JJ)Fnow fadeDurationelapsed StackMapTablegetBoundingBox!()Lnet/minecraft/world/phys/AABB;meshkjava/lang/ThrowablegetRenderOrigin()Lnet/minecraft/core/BlockPos;getSectionNodegetNeighborSectionNode!(Lnet/minecraft/core/Direction;)J directionLnet/minecraft/core/Direction;resortTransparency9Lnet/minecraft/client/renderer/chunk/CompiledSectionMesh;transparencyResortingScheduledregion9Lnet/minecraft/client/renderer/chunk/RenderSectionRegion; isRecompile compileAsync<(Lnet/minecraft/client/renderer/chunk/RenderSectionRegion;)VtaskWLnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$SectionTask; compileSyncoldMeshbuffersPLnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$SectionUberBuffers;createVertexSortingi(Lnet/minecraft/core/SectionPos;Lnet/minecraft/world/phys/Vec3;)Lcom/mojang/blaze3d/vertex/VertexSorting; sectionPosLnet/minecraft/core/SectionPos; cameraPosLnet/minecraft/world/phys/Vec3;draw=Lnet/minecraft/client/renderer/chunk/SectionMesh$SectionDraw;layer7Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;compiledSectionMeshallBuffersUpdatedŽ8[Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;sortedIndexBufferaddSectionBuffersToUberBuffer�(Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;Lnet/minecraft/client/renderer/chunk/CompiledSectionMesh;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Zcallback8Lcom/mojang/blaze3d/vertex/UberGpuBuffer$UploadCallback;sectionBufferskeyLjava/nio/ByteBuffer;successLocalVariableTypeTablesLcom/mojang/blaze3d/vertex/UberGpuBuffer$UploadCallback;›;net/minecraft/client/renderer/chunk/SectionMesh$SectionDraw&lambda$addSectionBuffersToUberBuffer$1t(Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;ZLnet/minecraft/client/renderer/chunk/CompiledSectionMesh;)V&lambda$addSectionBuffersToUberBuffer$0s(Lnet/minecraft/client/renderer/chunk/ChunkSectionLayer;Lnet/minecraft/client/renderer/chunk/CompiledSectionMesh;)V SourceFileSectionRenderDispatcher.javaNestHostBootstrapMethods§ ¨ žŸ'« ¬ œ�® ¯°± ²³"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 RenderSection·net/minecraft/core/BlockPosMutableBlockPosResortTransparencyTask SectionTask CompileTask½gnet/minecraft/client/renderer/chunk/SectionRenderDispatcher$RenderSection$SectionTask$SectionTaskResultSectionTaskResultSectionUberBuffers SectionDrawÂ6com/mojang/blaze3d/vertex/UberGpuBuffer$UploadCallbackUploadCallbackÅ+net/minecraft/client/RotatingSectionStorageValueÈ%java/lang/invoke/MethodHandles$LookupÊjava/lang/invoke/MethodHandlesLookup!T 78 !VWŸ X Y‹ŒX YBCB*+34?+/0 Z[Ÿ?*+Y¸Wµ*· *»Y²·µ*¸"µ(*»,Y·.µ1*µ5*!¶9±\ëàæ&ç4ì9í>î]*?^_? ?78?*+`  €7*ab[x*´=e7!”› ®‰!‰n®\ñòóõ]*^_c+d+e+fü` cdgh[/*´@°\ù] ^_;<[ÃU*¶D*µ(¸G¸K>¸O¸K6¸R¸K6*´1¶UW*»YY‡‡‡`‡`‡`‡·[µ@±\"þÿ #0T]4U^_U*+DI8;Q8#2T8`*‚ƒ[5 *´¶^Àb°\]  ^_F[ºA*¶d*´²¶gÀbL*´´j¶p*+¶u*´´j¶y§M*´´j¶y,¿* µ=±!.\*   !+.9;@]A^_/ifÿ.bj lm[/*´1°\] ^_nÉ[/*´(­\] ^_op[= *´(+¸|­\"] ^_ qr`qs[s**¶€M,Á™ ,ÀL*»„Y*+·†µ‰*´*´‰¶�±\&'()*]it*^_f)“”[4 *¶€¹‘¬\-]  ^_u”[O*´‰Æ*´‰´•¶™š§¬\1] ^_f@f[s'*´�Æ*´�¶¡*µ�*´‰Æ*´‰¶¦*µ‰±\5679:!;&=] '^_f¬­[**¶d*´¶^²¥§=*»¢Y*+·§µ�*´�°\@AB%C] *^_*vwx0f@`vyz[U*+¶ªM*´,¶�±\GHI] ^_vw {|`v}z[Y*+¶ªM,*´´®¶²W±\LMN] ^_vw {|`v[i*´+¶gÀbM*´´¸*¹¼*¶Á,°\Q STV] ^_  ~` Ã[L*´= ”š *¸Äµ=±\Z []] ^_fwx[¢?+¹Ê*´´Í¹Ñ¹×M,¹Ý™ ,¹âÀåN-´ç+¶ë-´ð+¶ë§ÿݱ\`a+b3c;d>e] +€?^_?~f üÞú%`~�‚[s%,´ó+¶ø‡g�,´ü+¶þ‡g�,´+¶‡g�¸°\hijk!h] %^_%ƒ„%…†` ƒ…&'[þZ=¸ N-¾66¢.-2:+¶:Æ+¶~=+¶~=„§ÿÑ™*´¶^+¥*+¶N*-¶u±\. qrs"t'u0v9r?zN{T~Y€]>"‡ˆ‰ŠT~Z^_Z‹tXŒ0fÿ �+ø`‹MN[Q +,¶ *+¶$±\ƒ„ …]  ^_ t ‰Š`  ‰IJ[l+,¶(š*+¶$±\ˆ‰ ŠŒ]*^_ t‰Š�0f`  ‰��‘[ò Â6*´´j¶p,+¶:Æ{*´´Í+¹+Àå:²-šÇ »1Y·3¿-Æ*+º4:´ç,-¶8~6Æ.-ǧ6*+º<: ´ð, ¶8~6§,+¶(š¸?™ *´¶D*´´j¶y§: *´´j¶y ¿¬ £°°²°\Z�� ’“”+•>—B˜K™\œa�lžwŸ‰ Œ¢‘¦œª£­­®°­¼®¿°]p K’“l�0w’“ +f”€�‡ˆÂ^_‰ŠÂ•tÂé–Âò–¿—0˜K’™w’™ f þ>šå @!úúLj`‰•éòXYYœ�[P*-+¶G±\ž]*^_‰Š�0itžŸ[E*,+¶K±\˜] ^_‰Šit [4k¶Oš§³-±\Þf @¡¢£k¤­¥¦©­¥ª©´Z kµ,¶¸ „¹³º¢»¼³¾@åk¿šbÀÁìà TÄÆ ÇÉË