Impl MEM LEAK fix from 1.16, though didn't think it was an issue before

This commit is contained in:
tom lee
2022-02-09 18:46:37 +08:00
parent 7ebb555b94
commit 7e5fc979cc
4 changed files with 9 additions and 7 deletions
@@ -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);
@@ -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<ThreadedParameters> localParam = new ThreadLocal<ThreadedParameters>();
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);
}
}
@@ -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) {
+1 -1
Submodule core updated: 1b27161518...cbcb7ca6ac