From 271f128de63daeef55b84621147f11a074608daf Mon Sep 17 00:00:00 2001 From: s809 <43530948+s809@users.noreply.github.com> Date: Sun, 20 Oct 2024 15:15:04 +0500 Subject: [PATCH] Make sure data source received from file handler is fully generated before sending to client --- .../distanthorizons/core/level/AbstractDhServerLevel.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/seibel/distanthorizons/core/level/AbstractDhServerLevel.java b/core/src/main/java/com/seibel/distanthorizons/core/level/AbstractDhServerLevel.java index 9644fcd70..db3d7de4f 100644 --- a/core/src/main/java/com/seibel/distanthorizons/core/level/AbstractDhServerLevel.java +++ b/core/src/main/java/com/seibel/distanthorizons/core/level/AbstractDhServerLevel.java @@ -387,10 +387,15 @@ public abstract class AbstractDhServerLevel extends AbstractDhLevel implements I { this.serverside.fullDataFileHandler.getAsync(pos).thenAccept(fullDataSource -> { - if (requestGroup.worldGenTaskComplete || this.serverside.fullDataFileHandler.isFullyGenerated(fullDataSource.columnGenerationSteps)) + if (this.serverside.fullDataFileHandler.isFullyGenerated(fullDataSource.columnGenerationSteps)) { requestGroup.fullDataSource = fullDataSource; } + else if (requestGroup.worldGenTaskComplete) + { + // If the returned data source is not fully generated, try reading it again + this.tryFulfillDataSourceRequestGroup(requestGroup, pos); + } else { this.serverside.fullDataFileHandler.queuePositionForRetrieval(pos);