diff options
author | Léa Gris <lea.gris@noiraude.net> | 2021-03-03 19:55:11 +0100 |
---|---|---|
committer | Léa Gris <lea.gris@noiraude.net> | 2021-03-03 19:55:11 +0100 |
commit | c684b3830bf6eaa96e2abf2f0b9d4895f9afe764 (patch) | |
tree | 39fcfe403fe65f539b42e7a781e21e9ae3027ed0 | |
parent | 437d41dfd788584d0d9afab8565a5de96957cd34 (diff) | |
download | GT5-Unofficial-c684b3830bf6eaa96e2abf2f0b9d4895f9afe764.tar.gz GT5-Unofficial-c684b3830bf6eaa96e2abf2f0b9d4895f9afe764.tar.bz2 GT5-Unofficial-c684b3830bf6eaa96e2abf2f0b9d4895f9afe764.zip |
quickfix(ao): reset ao state after rendering tileblock
Reset RenderBlock.enableAO to false after rendering Gregtech tile blocks.
Minecraft makes assumption that enableAO is false when it renders a lower door panel.
Leaving enableAO to true in the RenderBlock instance after rendering gregtech tile
blocks caused lower door panels to randomply pick some remanent ambient occlusion
colour values it should not.
-rw-r--r-- | src/main/java/gregtech/common/render/GT_Renderer_Block.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/gregtech/common/render/GT_Renderer_Block.java b/src/main/java/gregtech/common/render/GT_Renderer_Block.java index 6cb161fcb8..5265be43e1 100644 --- a/src/main/java/gregtech/common/render/GT_Renderer_Block.java +++ b/src/main/java/gregtech/common/render/GT_Renderer_Block.java @@ -558,13 +558,20 @@ public class GT_Renderer_Block implements ISimpleBlockRenderingHandler { IMetaTileEntity metaTileEntity; if ((metaTileEntity = ((IGregTechTileEntity) tileEntity).getMetaTileEntity()) != null && metaTileEntity.renderInWorld(aWorld, aX, aY, aZ, aBlock, aRenderer)) { + aRenderer.enableAO = false; return true; } } - if ((tileEntity instanceof IPipeRenderedTileEntity)) { - return renderPipeBlock(aWorld, aX, aY, aZ, aBlock, (IPipeRenderedTileEntity) tileEntity, aRenderer); + if (tileEntity instanceof IPipeRenderedTileEntity && + renderPipeBlock(aWorld, aX, aY, aZ, aBlock, (IPipeRenderedTileEntity) tileEntity, aRenderer)) { + aRenderer.enableAO = false; + return true; } - return renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer); + if (renderStandardBlock(aWorld, aX, aY, aZ, aBlock, aRenderer)) { + aRenderer.enableAO = false; + return true; + } + return false; } public boolean shouldRender3DInInventory(int aModel) { |