From 5182651947833320a50529cc65a853c9480088ba Mon Sep 17 00:00:00 2001 From: dfsek Date: Thu, 18 Mar 2021 17:31:36 -0700 Subject: [PATCH] multithreaded chunk gen --- .../world/generator/FabricChunkGeneratorWrapper.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/generator/FabricChunkGeneratorWrapper.java b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/generator/FabricChunkGeneratorWrapper.java index 0469ab506..658e8b799 100644 --- a/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/generator/FabricChunkGeneratorWrapper.java +++ b/platforms/fabric/src/main/java/com/dfsek/terra/fabric/world/generator/FabricChunkGeneratorWrapper.java @@ -34,6 +34,7 @@ import net.minecraft.world.gen.chunk.VerticalBlockSample; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; +import java.util.concurrent.Executors; public class FabricChunkGeneratorWrapper extends ChunkGenerator implements GeneratorWrapper { private final long seed; @@ -123,9 +124,11 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener @Override public CompletableFuture populateNoise(Executor executor, StructureAccessor accessor, Chunk chunk) { - FabricSeededWorldAccess worldAccess = new FabricSeededWorldAccess(((StructureAccessorAccessor) accessor).getWorld(), seed, this); - delegate.generateChunkData(worldAccess, new FastRandom(), chunk.getPos().x, chunk.getPos().z, new FabricChunkData(chunk)); - return CompletableFuture.completedFuture(chunk); + return CompletableFuture.supplyAsync(() -> { + FabricSeededWorldAccess worldAccess = new FabricSeededWorldAccess(((StructureAccessorAccessor) accessor).getWorld(), seed, this); + delegate.generateChunkData(worldAccess, new FastRandom(), chunk.getPos().x, chunk.getPos().z, new FabricChunkData(chunk)); + return chunk; + }, executor); } @Override