From ec90ce2d44c6c6d83f241c620d9e87f38578cdb2 Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Sat, 25 Mar 2017 17:02:15 -0500 Subject: [PATCH] Fix Model Cache Clearing, and Leaves Fancy/Fast Code, #251 --- .../render/SmartModelManager.java | 19 +++---------------- .../tesr/ChisledBlockRenderChunkTESR.java | 10 ++++++++-- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/main/java/mod/chiselsandbits/render/SmartModelManager.java b/src/main/java/mod/chiselsandbits/render/SmartModelManager.java index bd21db06..ccb538a4 100644 --- a/src/main/java/mod/chiselsandbits/render/SmartModelManager.java +++ b/src/main/java/mod/chiselsandbits/render/SmartModelManager.java @@ -26,22 +26,9 @@ public class SmartModelManager public SmartModelManager() { - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_iron" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_clay" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_cloth" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_packedIce" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_ice" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_wood" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_rock" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_glass" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_ground" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_sand" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_grass" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_fluid" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_snow" ), new ChiseledBlockSmartModel() ); - add( new ResourceLocation( ChiselsAndBits.MODID, "chiseled_leaves" ), new ChiseledBlockSmartModel() ); - - add( new ResourceLocation( ChiselsAndBits.MODID, "models/item/block_chiseled" ), new ChiseledBlockSmartModel() ); + ChiseledBlockSmartModel smartModel = new ChiseledBlockSmartModel(); + add( new ResourceLocation( ChiselsAndBits.MODID, "models/item/block_chiseled" ), smartModel ); + ChiselsAndBits.getInstance().addClearable( smartModel ); add( new ResourceLocation( ChiselsAndBits.MODID, "models/item/block_bit" ), new BitItemSmartModel() ); add( new ResourceLocation( ChiselsAndBits.MODID, "models/item/positiveprint_written_preview" ), new PrintSmartModel( "positiveprint", ChiselsAndBits.getItems().itemPositiveprint ) ); 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 e3fd9f89..e547f83d 100644 --- a/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java +++ b/src/main/java/mod/chiselsandbits/render/chiseledblock/tesr/ChisledBlockRenderChunkTESR.java @@ -23,7 +23,6 @@ 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; @@ -237,7 +236,14 @@ public void nextFrame( if ( currentFancy != lastFancy ) { lastFancy = currentFancy; - VoxelBlob.clearCache(); + + // destroy the cache, and start over. + ChiselsAndBits.getInstance().clearCache(); + + // another dumb thing, MC has probobly already tried reloading + // things, so we need to tell it to start that over again. + Minecraft mc = Minecraft.getMinecraft(); + mc.renderGlobal.loadRenderers(); } }