Avoid structure snapshots while rendering

This commit is contained in:
Algent committed 2026-08-03 17:29:26 +02:00
1 parent ad25d59d47
commit d28cf7cad4
2 files changed
+9 -8

No files matched your search

@@ -356,11 +356,10 @@ class WorldStructs {
numStructs = 0
}
def foreachStruct(f: BlockStruct => Unit) {
val arr = synchronized { java.util.Arrays.copyOf(structsArr, numStructs) }
def foreachStruct(f: BlockStruct => Unit) = synchronized {
var i = 0
while (i < arr.length) {
f(arr(i))
while (i < numStructs) {
f(structsArr(i))
i += 1
}
}
@@ -30,6 +30,11 @@ object MovingRenderer {
private var frame = 0.0f
private var renderBlocks: RenderBlocks = null
private val renderStruct: BlockStruct => Unit = { s =>
for (b <- s.preMoveBlocks)
render(b.x, b.y, b.z, renderPos(s, frame))
}
private def mc = Minecraft.getMinecraft
private def world = mc.theWorld
@@ -101,10 +106,7 @@ object MovingRenderer {
renderBlocks.renderAllFaces = true
}
MovementManager2.getWorldStructs(world).foreachStruct { s =>
for (b <- s.preMoveBlocks)
render(b.x, b.y, b.z, renderPos(s, frame))
}
MovementManager2.getWorldStructs(world).foreachStruct(renderStruct)
}
def onTick() = {