From 7f69b11ae474da1fbb246f4c034e5589c65a3755 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Sat, 21 Aug 2021 12:43:38 +0200 Subject: [PATCH] minor fixes --- .../java/com/seibel/lod/builders/LodBufferBuilder.java | 9 ++++++++- src/main/java/com/seibel/lod/objects/LodDimension.java | 2 +- src/main/java/com/seibel/lod/objects/LodRegion.java | 6 +++--- src/main/java/com/seibel/lod/proxy/ClientProxy.java | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/seibel/lod/builders/LodBufferBuilder.java b/src/main/java/com/seibel/lod/builders/LodBufferBuilder.java index fde56b04d..232259431 100644 --- a/src/main/java/com/seibel/lod/builders/LodBufferBuilder.java +++ b/src/main/java/com/seibel/lod/builders/LodBufferBuilder.java @@ -233,7 +233,14 @@ public class LodBufferBuilder List posListToGenerate = new ArrayList<>(); - posListToGenerate.addAll(lodDim.getDataToGenerate( playerBlockPosRounded.getX(), playerBlockPosRounded.getZ(), 0, 10000000, (byte) DistanceGenerationMode.SURFACE.complexity, (byte) 0, 12 - posListToGenerate.size())); + posListToGenerate.addAll(lodDim.getDataToGenerate( playerBlockPosRounded.getX(), playerBlockPosRounded.getZ(), 0, 10000000, (byte) DistanceGenerationMode.SURFACE.complexity, (byte) 9, 2)); + if(posListToGenerate.isEmpty()) + { + posListToGenerate.addAll(lodDim.getDataToGenerate(playerBlockPosRounded.getX(), playerBlockPosRounded.getZ(), 0, 400, (byte) DistanceGenerationMode.SURFACE.complexity, (byte) 0, 2)); + } + if(posListToGenerate.isEmpty()){ + posListToGenerate.addAll(lodDim.getDataToGenerate( playerBlockPosRounded.getX(), playerBlockPosRounded.getZ(), 0, 10000000, (byte) DistanceGenerationMode.SURFACE.complexity, (byte) 0, 2)); + } for(LevelPos levelPos : posListToGenerate){ LevelPos chunkLevelPos = levelPos.convert((byte) 3); diff --git a/src/main/java/com/seibel/lod/objects/LodDimension.java b/src/main/java/com/seibel/lod/objects/LodDimension.java index 62169fc54..0a9812196 100644 --- a/src/main/java/com/seibel/lod/objects/LodDimension.java +++ b/src/main/java/com/seibel/lod/objects/LodDimension.java @@ -383,7 +383,7 @@ public class LodDimension listOfData.addAll(region.getDataToGenerate(playerPosX, playerPosZ, start, end, generation, detailLevel, dataNumber)); } } - Collections.sort(listOfData, LevelPos.getPosComparator()); + Collections.sort(listOfData, LevelPos.getPosAndDetailComparator()); dataNumber = Math.min(dataNumber, listOfData.size()); return listOfData.stream().map(entry -> entry.getKey()).collect(Collectors.toList()).subList(0, dataNumber); } diff --git a/src/main/java/com/seibel/lod/objects/LodRegion.java b/src/main/java/com/seibel/lod/objects/LodRegion.java index bbe495127..e3c72077d 100644 --- a/src/main/java/com/seibel/lod/objects/LodRegion.java +++ b/src/main/java/com/seibel/lod/objects/LodRegion.java @@ -211,7 +211,7 @@ public class LodRegion implements Serializable { LevelPos levelPos = new LevelPos(LodUtil.REGION_DETAIL_LEVEL, 0, 0); List> listOfPos = getDataToGenerate(levelPos, playerPosX, playerPosZ, start, end, generation, detailLevel); - Collections.sort(listOfPos, LevelPos.getPosComparator()); + Collections.sort(listOfPos, LevelPos.getPosAndDetailComparator()); dataNumber = Math.min(dataNumber, listOfPos.size()); return listOfPos.subList(0,dataNumber); @@ -229,7 +229,7 @@ public class LodRegion implements Serializable int maxDistance = levelPos.maxDistance(playerPosX,playerPosZ,regionPosX,regionPosZ); int minDistance = levelPos.minDistance(playerPosX,playerPosZ,regionPosX,regionPosZ); - if (!(start <= maxDistance && minDistance <= end) || levelPos.detailLevel < detailLevel) + if (!(start <= maxDistance && minDistance < end) || levelPos.detailLevel < detailLevel) { return levelPosList; } @@ -334,7 +334,7 @@ public class LodRegion implements Serializable int minDistance = levelPos.minDistance(playerPosX,playerPosZ,regionPosX,regionPosZ); - if (!(start <= maxDistance && minDistance <= end) || levelPos.detailLevel < detailLevel) + if (!(start <= maxDistance && minDistance < end) || levelPos.detailLevel < detailLevel) { return levelPosList; } diff --git a/src/main/java/com/seibel/lod/proxy/ClientProxy.java b/src/main/java/com/seibel/lod/proxy/ClientProxy.java index c46f3acfc..6845eb1bb 100644 --- a/src/main/java/com/seibel/lod/proxy/ClientProxy.java +++ b/src/main/java/com/seibel/lod/proxy/ClientProxy.java @@ -152,7 +152,7 @@ public class ClientProxy LodConfig.CLIENT.distanceGenerationMode.set(DistanceGenerationMode.FEATURES); LodConfig.CLIENT.allowUnstableFeatureGeneration.set(false); - LodConfig.CLIENT.numberOfWorldGenerationThreads.set(16); + LodConfig.CLIENT.numberOfWorldGenerationThreads.set(2); }