Skip to content

Commit e3c36f3

Browse files
committed
Ignoring missing light data also ignores individual missing chunks
1 parent e84909a commit e3c36f3

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

common/src/main/java/de/bluecolored/bluemap/common/rendermanager/WorldRegionRenderTask.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,7 @@ private BoundsSituation checkTileBounds(Vector2i tile) {
329329
}
330330

331331
private @Nullable TileState checkTileRenderPreconditions(Vector2i tile) {
332+
boolean chunksAreGenerated = false;
332333
boolean chunksAreInhabited = false;
333334

334335
long minInhabitedTime = map.getMapSettings().getMinInhabitedTime();
@@ -344,12 +345,18 @@ private BoundsSituation checkTileBounds(Vector2i tile) {
344345
for (int chunkZ = minZ; chunkZ <= maxZ; chunkZ++) {
345346
Chunk chunk = map.getWorld().getChunk(chunkX, chunkZ);
346347
if (chunk == Chunk.ERRORED_CHUNK) return TileState.CHUNK_ERROR;
347-
if (!chunk.isGenerated()) return TileState.NOT_GENERATED;
348-
if (requireLight && !chunk.hasLightData()) return TileState.MISSING_LIGHT;
348+
if (requireLight) {
349+
if (!chunk.isGenerated()) return TileState.NOT_GENERATED;
350+
if (!chunk.hasLightData()) return TileState.MISSING_LIGHT;
351+
} else {
352+
if (chunk.isGenerated()) chunksAreGenerated = true;
353+
}
349354
if (chunk.getInhabitedTime() >= minInhabitedTime) chunksAreInhabited = true;
350355
}
351356
}
352357

358+
if (!chunksAreGenerated) return TileState.NOT_GENERATED;
359+
353360
// second pass for increased inhabited-time-radius
354361
if (!chunksAreInhabited && minInhabitedTimeRadius > 0) {
355362
inhabitedRadiusCheck:

0 commit comments

Comments
 (0)