rendering: don't force draw transparent faces

This commit is contained in:
Bixilon 2021-04-04 21:52:27 +02:00
parent ef990159e7
commit 6ab06cbdfd
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -141,11 +141,6 @@ class BlockRenderer : BlockRenderInterface {
var drawElementFace = true
neighbourFaceSize?.let {
// force draw transparent faces
if (transparentFaces[direction.ordinal] || isNeighbourTransparent) {
return@let
}
val elementFaceBorderSize = element.faceBorderSize[rotatedDirection.ordinal] ?: return@let
for (size in it) {
if (elementFaceBorderSize.start.x < size.start.x || elementFaceBorderSize.start.y < size.start.y) {
@ -158,6 +153,15 @@ class BlockRenderer : BlockRenderInterface {
drawElementFace = false
}
if (!drawElementFace) {
// force draw transparent faces
if (isNeighbourTransparent && !transparentFaces[direction.ordinal]) {
drawElementFace = true
} else if (isNeighbourTransparent && transparentFaces[direction.ordinal] && neighbourBlock != blockState) {
drawElementFace = true
}
}
if (!drawElementFace) {
continue
}