small movements will no longer trigger buffer regen

This commit is contained in:
cola98765
2021-12-02 10:24:14 +01:00
parent f2fc669b37
commit 7a94db77ef
2 changed files with 8 additions and 6 deletions
@@ -31,20 +31,22 @@ package com.seibel.lod.core.enums.config;
*/
public enum BufferRebuildTimes
{
FREQUENT(1000, 500, 2500),
FREQUENT(1000, 500, 2500, 1),
NORMAL(2000, 1000, 5000),
NORMAL(2000, 1000, 5000, 4),
RARE(5000, 2000, 10000);
RARE(5000, 2000, 10000, 16);
public final int playerMoveTimeout;
public final int renderedChunkTimeout;
public final int chunkChangeTimeout;
public final int playerMoveDistance;
BufferRebuildTimes(int playerMoveTimeout, int renderedChunkTimeout, int chunkChangeTimeout)
BufferRebuildTimes(int playerMoveTimeout, int renderedChunkTimeout, int chunkChangeTimeout, int playerMoveDistance)
{
this.playerMoveTimeout = playerMoveTimeout;
this.renderedChunkTimeout = renderedChunkTimeout;
this.chunkChangeTimeout = chunkChangeTimeout;
this.playerMoveDistance = playerMoveDistance;
}
}
@@ -651,8 +651,8 @@ public class LodRenderer
if (newTime - prevPlayerPosTime > CONFIG.client().advanced().buffers().getRebuildTimes().playerMoveTimeout)
{
if (LevelPosUtil.getDetailLevel(previousPos) == 0
|| MC.getPlayerChunkPos().getX() != LevelPosUtil.getPosX(previousPos)
|| MC.getPlayerChunkPos().getZ() != LevelPosUtil.getPosZ(previousPos))
|| Math.abs(MC.getPlayerChunkPos().getX() - LevelPosUtil.getPosX(previousPos)) > CONFIG.client().advanced().buffers().getRebuildTimes().playerMoveDistance
|| Math.abs(MC.getPlayerChunkPos().getZ() - LevelPosUtil.getPosZ(previousPos)) > CONFIG.client().advanced().buffers().getRebuildTimes().playerMoveDistance)
{
vanillaRenderedChunks = new boolean[vanillaRenderedChunksWidth][vanillaRenderedChunksWidth];
fullRegen = true;