From c7c1b2b8c182865ce0d74f77ac3f5a7c40f9f104 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Sat, 31 Oct 2020 08:30:28 -0400 Subject: [PATCH] Parallax tweaks --- .../v2/scaffold/parallax/ParallaxAccess.java | 4 ++++ .../v2/scaffold/parallax/ParallaxRegion.java | 4 ++++ .../v2/scaffold/parallax/ParallaxWorld.java | 22 ++++++++++++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxAccess.java b/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxAccess.java index 7ee05afa6..6b8870c03 100644 --- a/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxAccess.java +++ b/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxAccess.java @@ -88,4 +88,8 @@ public interface ParallaxAccess public void saveAll(); public void saveAllNOW(); + + public int getRegionCount(); + + public int getChunkCount(); } diff --git a/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxRegion.java b/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxRegion.java index 9640514ab..adb142898 100644 --- a/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxRegion.java +++ b/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxRegion.java @@ -173,4 +173,8 @@ public class ParallaxRegion extends HunkRegion objectSlice.cleanup(c); updateSlice.cleanup(c); } + + public int getChunkCount() { + return blockSlice.getLoadCount() + objectSlice.getLoadCount() + updateSlice.getLoadCount(); + } } diff --git a/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxWorld.java b/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxWorld.java index c453e76e9..a82b2abfc 100644 --- a/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxWorld.java +++ b/src/main/java/com/volmit/iris/v2/scaffold/parallax/ParallaxWorld.java @@ -22,10 +22,30 @@ public class ParallaxWorld implements ParallaxAccess this.folder = folder; save = new KList<>(); loadedRegions = new KMap<>(); - cleanup = new ChronoLatch(10000); + cleanup = new ChronoLatch(5000); folder.mkdirs(); } + public int getRegionCount() + { + return loadedRegions.size(); + } + + public int getChunkCount() + { + int m = 0; + + synchronized (loadedRegions) + { + for(ParallaxRegion i : loadedRegions.values()) + { + m+= i.getChunkCount(); + } + } + + return m; + } + public synchronized void close() { for(ParallaxRegion i : loadedRegions.v())