From 168eb537cb520f87394acd9c075ae0093720f634 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Sat, 21 Aug 2021 22:21:41 +0200 Subject: [PATCH] Improved generation --- .../seibel/lod/builders/LodBufferBuilder.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/seibel/lod/builders/LodBufferBuilder.java b/src/main/java/com/seibel/lod/builders/LodBufferBuilder.java index f38a4ed21..84e5f7d55 100644 --- a/src/main/java/com/seibel/lod/builders/LodBufferBuilder.java +++ b/src/main/java/com/seibel/lod/builders/LodBufferBuilder.java @@ -281,9 +281,23 @@ public class LodBufferBuilder } } */ + int requesting = maxChunkGenRequests; for (byte detailGen = LodUtil.BLOCK_DETAIL_LEVEL; detailGen <= LodUtil.REGION_DETAIL_LEVEL; detailGen++) { - if (!posListToGenerate.isEmpty()) break; + if (requesting == 0) break; + posListToGenerate.addAll(lodDim.getDataToGenerate( + playerBlockPosRounded.getX(), + playerBlockPosRounded.getZ(), + (int) (distancesLinear[detailGen] * 1.5), + (int) (distancesLinear[detailGen + 1] * 1.5), + (byte) distancesGenerators[detailGen].complexity, + (byte) 8, + requesting)); + requesting = maxChunkGenRequests - posListToGenerate.size(); + } + for (byte detailGen = LodUtil.BLOCK_DETAIL_LEVEL; detailGen <= LodUtil.REGION_DETAIL_LEVEL; detailGen++) + { + if (requesting == 0) break; posListToGenerate.addAll(lodDim.getDataToGenerate( playerBlockPosRounded.getX(), playerBlockPosRounded.getZ(), @@ -292,6 +306,7 @@ public class LodBufferBuilder (byte) distancesGenerators[detailGen].complexity, (byte) 0, maxChunkGenRequests)); + requesting = maxChunkGenRequests - posListToGenerate.size(); }