diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/BlockState.kt b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/BlockState.kt index 4d7b31b36..5a61c0d97 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/BlockState.kt +++ b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/BlockState.kt @@ -111,7 +111,7 @@ data class BlockState( if (renderers.isEmpty()) { throw IllegalArgumentException("$this has not renderer!") } - if (renderers.size == 1 || Minosoft.getConfig().config.game.other.antiMoirePattern) { + if (renderers.size == 1 || !Minosoft.getConfig().config.game.other.antiMoirePattern) { return renderers[0] } // ToDo: Support weight attribute diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/WorldRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/WorldRenderer.kt index 5948b8b96..6b11534c0 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/WorldRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/WorldRenderer.kt @@ -55,6 +55,8 @@ class WorldRenderer( val visibleChunks: MutableMap> = Collections.synchronizedMap(ConcurrentHashMap()) val queuedChunks: MutableSet = Collections.synchronizedSet(mutableSetOf()) + private var allBlocks: Collection? = null + var meshes = 0 private set var triangles = 0 @@ -106,7 +108,8 @@ class WorldRenderer( } override fun init() { - renderWindow.textures.allTextures.addAll(resolveBlockTextureIds(getAllBlocks(connection.version.mapping))) + allBlocks = getAllBlocks(connection.version.mapping) + renderWindow.textures.allTextures.addAll(resolveBlockTextureIds(allBlocks!!)) // register keybindings @@ -129,11 +132,12 @@ class WorldRenderer( renderWindow.textures.use(chunkShader, "textureArray") renderWindow.textures.animator.use(chunkShader, "AnimatedDataBuffer") - for (block in connection.version.mapping.blockStateIdMap.values) { + for (block in allBlocks!!) { for (model in block.renderers) { model.postInit() } } + allBlocks = null } override fun draw() { diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/MultipartRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/MultipartRenderer.kt index f6bd50c17..6a0d1340a 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/MultipartRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/MultipartRenderer.kt @@ -26,7 +26,6 @@ import glm_.vec3.Vec3i class MultipartRenderer( val models: List, ) : BlockLikeRenderer { - override val faceBorderSizes: Array?> override val transparentFaces: BooleanArray = BooleanArray(Directions.DIRECTIONS.size)