From e154f552c7578d08ee79aa922326dc4ddb9cb280 Mon Sep 17 00:00:00 2001 From: cola98765 Date: Wed, 6 Oct 2021 10:36:37 +0200 Subject: [PATCH] fixed bug where only some regions were saved when player was not moving --- .../seibel/lod/handlers/LodDimensionFileHandler.java | 6 +++--- src/main/java/com/seibel/lod/objects/LodDimension.java | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/seibel/lod/handlers/LodDimensionFileHandler.java b/src/main/java/com/seibel/lod/handlers/LodDimensionFileHandler.java index 9d41b4baf..97c293fc4 100644 --- a/src/main/java/com/seibel/lod/handlers/LodDimensionFileHandler.java +++ b/src/main/java/com/seibel/lod/handlers/LodDimensionFileHandler.java @@ -239,10 +239,10 @@ public class LodDimensionFileHandler for (int j = 0; j < lodDimension.getWidth(); j++) { // TODO shouldn't this use lodDimension.isRegionDirty? - if (lodDimension.doesRegionNeedBufferRegen(i,j) && lodDimension.getRegionByArrayIndex(i,j) != null) + if (lodDimension.GetIsRegionDirty(i,j) && lodDimension.getRegionByArrayIndex(i,j) != null) { saveRegionToFile(lodDimension.getRegionByArrayIndex(i,j)); - lodDimension.setRegenRegionBufferByArrayIndex(i, j,false); + lodDimension.SetIsRegionDirty(i, j, false); } } } @@ -275,7 +275,7 @@ public class LodDimensionFileHandler ClientProxy.LOGGER.warn("Unable to save region [" + region.regionPosX + ", " + region.regionPosZ + "] to file, file is inaccessible."); return; } - + ClientProxy.LOGGER.info("saving region [" + region.regionPosX + ", " + region.regionPosZ + "] to file."); try { diff --git a/src/main/java/com/seibel/lod/objects/LodDimension.java b/src/main/java/com/seibel/lod/objects/LodDimension.java index 4dca1dc54..13f1d1dae 100644 --- a/src/main/java/com/seibel/lod/objects/LodDimension.java +++ b/src/main/java/com/seibel/lod/objects/LodDimension.java @@ -906,4 +906,14 @@ public class LodDimension return memoryUse; //return memoryUse; } + + public boolean GetIsRegionDirty(int i , int j) + { + return isRegionDirty[i][j]; + } + + public void SetIsRegionDirty(int i, int j, boolean val) + { + isRegionDirty[i][j] = val; + } }