@@ -325,21 +325,28 @@ public void internalMarkBlockUpdate(int x1, int y1, int z1, int x2, int y2, int
325325 z += depth & (z >> 31 );
326326
327327 int k4 = (z * height + y ) * width + x ;
328- WorldRenderer worldrenderer = worldRenderers [k4 ];
329-
330- if (!worldrenderer .needsUpdate || (worldrenderer .isVisible && !((WorldRendererOcclusion ) worldrenderer ).ft$isInUpdateList ())) {
331- worldrenderer .markDirty ();
332- OcclusionCompat .DragonAPICompat .ChangePacketRenderer$onChunkRerender (x1 , y1 , z1 , x2 , y2 , z2 , worldrenderer );
328+ val wr = worldRenderers [k4 ];
329+ val wro = (WorldRendererOcclusion ) wr ;
330+
331+ val needsUpdate = wr .needsUpdate ;
332+ val isVisible = wr .isVisible ;
333+ val isInitialized = wr .isInitialized ;
334+ val isInUpdateList = wro .ft$isInUpdateList ();
335+ val isNonEmpty = wro .ft$isNonEmptyChunk ();
336+
337+ if (!needsUpdate || (isVisible && !isInUpdateList )) {
338+ wr .markDirty ();
339+ OcclusionCompat .DragonAPICompat .ChangePacketRenderer$onChunkRerender (x1 , y1 , z1 , x2 , y2 , z2 , wr );
333340 OcclusionHelpers .worker .dirty = true ;
334341 } else {
335342 int size = eventListeners .size ();
336343 for (int m = -1 ; ++m < size ; ) {
337- eventListeners .get (m ).onDirtyRendererChanged (worldrenderer );
344+ eventListeners .get (m ).onDirtyRendererChanged (wr );
338345 }
339346 }
340347
341- if ((worldrenderer . needsUpdate || !worldrenderer . isInitialized ) & (( WorldRendererOcclusion ) worldrenderer ). ft$isNonEmptyChunk () ) {
342- addRendererToUpdateQueue (worldrenderer );
348+ if ((needsUpdate || !isInitialized ) && isNonEmpty ) {
349+ addRendererToUpdateQueue (wr );
343350 }
344351 }
345352 }
0 commit comments