diff --git a/src/main/java/mod/chiselsandbits/render/chiseledblock/ChiseledBlockSmartModel.java b/src/main/java/mod/chiselsandbits/render/chiseledblock/ChiseledBlockSmartModel.java index 49b63d6b..42fed132 100644 --- a/src/main/java/mod/chiselsandbits/render/chiseledblock/ChiseledBlockSmartModel.java +++ b/src/main/java/mod/chiselsandbits/render/chiseledblock/ChiseledBlockSmartModel.java @@ -317,6 +317,7 @@ public void clearCache() modelCache[l.ordinal()].clear(); } + sideCache.clear(); solidCache.clear(); itemToModel.clear(); } diff --git a/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java b/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java index 7a666145..80ae0c31 100644 --- a/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java +++ b/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java @@ -23,6 +23,7 @@ import mod.chiselsandbits.chiseledblock.EnumTESRRenderState; import mod.chiselsandbits.chiseledblock.TileEntityBlockChiseled; import mod.chiselsandbits.chiseledblock.TileEntityBlockChiseledTESR; +import mod.chiselsandbits.chiseledblock.data.VoxelBlob; import mod.chiselsandbits.core.ChiselsAndBits; import mod.chiselsandbits.core.ClientSide; import mod.chiselsandbits.core.Log; @@ -220,6 +221,8 @@ public void debugScreen( } } + int lastFancy = -1; + @SubscribeEvent public void nextFrame( final RenderWorldLastEvent e ) @@ -227,6 +230,15 @@ public void nextFrame( runJobs( getTracker().nextFrameTasks ); uploadDisplaylists(); + + // this seemingly stupid check fixes leaves, other wise we use fast + // until the atlas refreshes. + final int currentFancy = Minecraft.getMinecraft().gameSettings.fancyGraphics ? 1 : 0; + if ( currentFancy != lastFancy ) + { + lastFancy = currentFancy; + VoxelBlob.clearCache(); + } } private void uploadDisplaylists()