Fix chunk lighting for deep water (no skylight data)

This commit is contained in:
Mike Primm 2020-01-23 23:38:09 -06:00
parent 69eb2e73c5
commit e74741b7bd
3 changed files with 12 additions and 6 deletions

View File

@ -85,7 +85,7 @@ public class MapChunkCache114_1 extends AbstractMapChunkCache {
public StdSection() { public StdSection() {
states = new DynmapBlockState[BLOCKS_PER_SECTION]; states = new DynmapBlockState[BLOCKS_PER_SECTION];
Arrays.fill(states, DynmapBlockState.AIR); Arrays.fill(states, DynmapBlockState.AIR);
skylight = fullData; skylight = emptyData;
emitlight = emptyData; emitlight = emptyData;
} }
@Override @Override
@ -209,7 +209,9 @@ public class MapChunkCache114_1 extends AbstractMapChunkCache {
} }
} }
} }
cursect.emitlight = sec.getByteArray("BlockLight"); if (sec.hasKey("BlockLight")) {
cursect.emitlight = sec.getByteArray("BlockLight");
}
if (sec.hasKey("SkyLight")) { if (sec.hasKey("SkyLight")) {
cursect.skylight = sec.getByteArray("SkyLight"); cursect.skylight = sec.getByteArray("SkyLight");
} }

View File

@ -85,7 +85,7 @@ public class MapChunkCache114 extends AbstractMapChunkCache {
public StdSection() { public StdSection() {
states = new DynmapBlockState[BLOCKS_PER_SECTION]; states = new DynmapBlockState[BLOCKS_PER_SECTION];
Arrays.fill(states, DynmapBlockState.AIR); Arrays.fill(states, DynmapBlockState.AIR);
skylight = fullData; skylight = emptyData;
emitlight = emptyData; emitlight = emptyData;
} }
@Override @Override
@ -209,7 +209,9 @@ public class MapChunkCache114 extends AbstractMapChunkCache {
} }
} }
} }
cursect.emitlight = sec.getByteArray("BlockLight"); if (sec.hasKey("BlockLight")) {
cursect.emitlight = sec.getByteArray("BlockLight");
}
if (sec.hasKey("SkyLight")) { if (sec.hasKey("SkyLight")) {
cursect.skylight = sec.getByteArray("SkyLight"); cursect.skylight = sec.getByteArray("SkyLight");
} }

View File

@ -88,7 +88,7 @@ public class MapChunkCache115 extends AbstractMapChunkCache {
public StdSection() { public StdSection() {
states = new DynmapBlockState[BLOCKS_PER_SECTION]; states = new DynmapBlockState[BLOCKS_PER_SECTION];
Arrays.fill(states, DynmapBlockState.AIR); Arrays.fill(states, DynmapBlockState.AIR);
skylight = fullData; skylight = emptyData;
emitlight = emptyData; emitlight = emptyData;
} }
@Override @Override
@ -212,7 +212,9 @@ public class MapChunkCache115 extends AbstractMapChunkCache {
} }
} }
} }
cursect.emitlight = sec.getByteArray("BlockLight"); if (sec.hasKey("BlockLight")) {
cursect.emitlight = sec.getByteArray("BlockLight");
}
if (sec.hasKey("SkyLight")) { if (sec.hasKey("SkyLight")) {
cursect.skylight = sec.getByteArray("SkyLight"); cursect.skylight = sec.getByteArray("SkyLight");
} }