From 7e5fc979cca8330fee9904b3828bc9c58d33d42a Mon Sep 17 00:00:00 2001 From: tom lee Date: Wed, 9 Feb 2022 18:46:37 +0800 Subject: [PATCH] Impl MEM LEAK fix from 1.16, though didn't think it was an issue before --- .../worldGeneration/BatchGenerationEnvironment.java | 3 +-- .../wrappers/worldGeneration/ThreadedParameters.java | 7 +++---- .../mimicObject/WorldGenStructFeatManager.java | 4 ++++ core | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/BatchGenerationEnvironment.java b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/BatchGenerationEnvironment.java index 129b6d537..4590cda2b 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/BatchGenerationEnvironment.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/BatchGenerationEnvironment.java @@ -330,8 +330,6 @@ public final class BatchGenerationEnvironment extends AbstractBatchGenerationEnv } - - public void generateLodFromList(GenerationEvent e) { if (ENABLE_EVENT_LOGGING) @@ -385,6 +383,7 @@ public final class BatchGenerationEnvironment extends AbstractBatchGenerationEnv e.refreshTimeout(); region = new LightedWorldGenRegion(params.level, lightEngine, e.tParam.structFeat, chunks, ChunkStatus.STRUCTURE_STARTS, rangeEmpty, e.lightMode, generator); adaptor.setRegion(region); + e.tParam.makeStructFeat(region); referencedChunks = chunks.subGrid(e.range); referencedChunks = generateDirect(e, referencedChunks, e.target, region); diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/ThreadedParameters.java b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/ThreadedParameters.java index 6255a5185..5c1cc82e1 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/ThreadedParameters.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/ThreadedParameters.java @@ -6,14 +6,13 @@ import com.seibel.lod.common.wrappers.worldGeneration.mimicObject.WorldGenStruct import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.levelgen.WorldGenSettings; import net.minecraft.world.level.levelgen.structure.StructureCheck; public final class ThreadedParameters { private static final ThreadLocal localParam = new ThreadLocal(); final ServerLevel level; - public WorldGenStructFeatManager structFeat; + public final WorldGenStructFeatManager structFeat; public final StructureCheck structCheck; boolean isValid = true; public final PerfCalculator perf = new PerfCalculator(); @@ -42,8 +41,8 @@ public final class ThreadedParameters structFeat = new WorldGenStructFeatManager(level, param.worldGenSettings, null, structCheck); } - public void makeStructFeat(WorldGenLevel genLevel, WorldGenSettings worldGenSettings) + public void makeStructFeat(WorldGenLevel genLevel) { - structFeat = new WorldGenStructFeatManager(level, worldGenSettings, genLevel, structCheck); + structFeat.setGenLevel(genLevel); } } \ No newline at end of file diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/mimicObject/WorldGenStructFeatManager.java b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/mimicObject/WorldGenStructFeatManager.java index dae4dfe95..61687a02b 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/mimicObject/WorldGenStructFeatManager.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/mimicObject/WorldGenStructFeatManager.java @@ -31,6 +31,10 @@ public class WorldGenStructFeatManager extends StructureFeatureManager { this.genLevel = genLevel; this.worldGenSettings = worldGenSettings; } + + public void setGenLevel(WorldGenLevel genLevel) { + this.genLevel = genLevel; + } @Override public WorldGenStructFeatManager forWorldGenRegion(WorldGenRegion worldGenRegion) { diff --git a/core b/core index 1b2716151..cbcb7ca6a 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 1b27161518b7e1bb36de0b1b33ce04eaa0f87e05 +Subproject commit cbcb7ca6ac6bce3c237a3ca0283d29228dacd0f0