mirror of
https://github.com/GTNewHorizons/ForgeRelocation.git
synced 2026-11-12 00:17:58 +00:00
Avoid structure snapshots while rendering
This commit is contained in:
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() = {
|
||||
|
||||
Reference in new issue
Block a user