diff --git a/src/main/java/com/seibel/lod/proxy/ClientProxy.java b/src/main/java/com/seibel/lod/proxy/ClientProxy.java index 001ce2f2b..3284d1c6e 100644 --- a/src/main/java/com/seibel/lod/proxy/ClientProxy.java +++ b/src/main/java/com/seibel/lod/proxy/ClientProxy.java @@ -258,6 +258,7 @@ public class ClientProxy // update the dimensions to fit the new width lodWorld.resizeDimensionRegionWidth(newWidth); lodNodeBuilder.defaultDimensionWidthInRegions = newWidth; + renderer.setupBuffers(newWidth); //LOGGER.info("new dimension width in regions: " + newWidth + "\t potential: " + newWidth ); } diff --git a/src/main/java/com/seibel/lod/render/LodNodeRenderer.java b/src/main/java/com/seibel/lod/render/LodNodeRenderer.java index 1e2b741de..955e05269 100644 --- a/src/main/java/com/seibel/lod/render/LodNodeRenderer.java +++ b/src/main/java/com/seibel/lod/render/LodNodeRenderer.java @@ -246,13 +246,6 @@ public class LodNodeRenderer // (this is to prevent thread conflicts) if (regen && !lodNodeBufferBuilder.generatingBuffers && !lodNodeBufferBuilder.newBuffersAvaliable()) { - // this will mainly happen when the view distance is changed - int renderDistance = mc.options.renderDistance; - int lodMultiplier = LodConfig.CLIENT.lodChunkRadiusMultiplier.get(); - if (renderDistance != ClientProxy.previousChunkRenderDistance || - lodMultiplier != ClientProxy.previousLodMultiplierDistance) - setupBuffers(lodDim.getWidth()); - // generate the LODs on a separate thread to prevent stuttering or freezing lodNodeBufferBuilder.generateLodBuffersAsync(this, lodDim, player.blockPosition(), numbChunksWide); @@ -610,7 +603,7 @@ public class LodNodeRenderer /** * Create all buffers that will be used. */ - private void setupBuffers(int numbRegionsWide) + public void setupBuffers(int numbRegionsWide) { // calculate the max amount of memory needed (in bytes) int bufferMemory = RenderUtil.getBufferMemoryForRegion();