diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/models/block/state/apply/SingleBlockStateApply.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/models/block/state/apply/SingleBlockStateApply.kt index d97f4d443..3868fba5e 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/models/block/state/apply/SingleBlockStateApply.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/models/block/state/apply/SingleBlockStateApply.kt @@ -24,6 +24,7 @@ import de.bixilon.minosoft.gui.rendering.models.block.BlockModel import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakedFace import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakedModel import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakingUtil.compact +import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakingUtil.compactSize import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakingUtil.positions import de.bixilon.minosoft.gui.rendering.models.block.state.baked.BakingUtil.pushRight import de.bixilon.minosoft.gui.rendering.models.block.state.baked.SideSize @@ -147,7 +148,7 @@ data class SingleBlockStateApply( } } - return BakedModel(bakedFaces.compact(), emptyArray(), null) // TODO + return BakedModel(bakedFaces.compact(), sizes.compactSize(), null) // TODO } companion object { diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/models/block/state/baked/BakingUtil.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/models/block/state/baked/BakingUtil.kt index 6c3c54c0d..b525628e5 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/models/block/state/baked/BakingUtil.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/models/block/state/baked/BakingUtil.kt @@ -42,6 +42,18 @@ object BakingUtil { return array.cast() } + fun Array>.compactSize(): Array { + val array: Array = arrayOfNulls(size) + + for ((index, entries) in this.withIndex()) { + val size = entries.toTypedArray() + if (size.isEmpty()) continue + array[index] = SideSize(size) + } + + return array + } + fun FloatArray.pushRight(components: Int, steps: Int): FloatArray { if (this.size % components != 0) throw IllegalArgumentException("Size mismatch!")