summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ChunkRegionLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/ChunkRegionLoader.java')
-rw-r--r--src/main/java/net/minecraft/server/ChunkRegionLoader.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 7926c1dc..88c33d06 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -194,6 +194,7 @@ public class ChunkRegionLoader implements IAsyncChunkSaver, IChunkLoader {
nbttagcompound.setBoolean("TerrainPopulated", chunk.done);
ChunkSection[] achunksection = chunk.i();
NBTTagList nbttaglist = new NBTTagList("Sections");
+ boolean flag = !world.worldProvider.f;
ChunkSection[] achunksection1 = achunksection;
int i = achunksection.length;
@@ -211,8 +212,13 @@ public class ChunkRegionLoader implements IAsyncChunkSaver, IChunkLoader {
}
nbttagcompound1.setByteArray("Data", chunksection.j().a);
- nbttagcompound1.setByteArray("SkyLight", chunksection.l().a);
nbttagcompound1.setByteArray("BlockLight", chunksection.k().a);
+ if (flag) {
+ nbttagcompound1.setByteArray("SkyLight", chunksection.l().a);
+ } else {
+ nbttagcompound1.setByteArray("SkyLight", new byte[chunksection.k().a.length]);
+ }
+
nbttaglist.add(nbttagcompound1);
}
}
@@ -285,11 +291,12 @@ public class ChunkRegionLoader implements IAsyncChunkSaver, IChunkLoader {
NBTTagList nbttaglist = nbttagcompound.getList("Sections");
byte b0 = 16;
ChunkSection[] achunksection = new ChunkSection[b0];
+ boolean flag = !world.worldProvider.f;
for (int k = 0; k < nbttaglist.size(); ++k) {
NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.get(k);
byte b1 = nbttagcompound1.getByte("Y");
- ChunkSection chunksection = new ChunkSection(b1 << 4);
+ ChunkSection chunksection = new ChunkSection(b1 << 4, flag);
chunksection.a(nbttagcompound1.getByteArray("Blocks"));
if (nbttagcompound1.hasKey("Add")) {
@@ -297,8 +304,11 @@ public class ChunkRegionLoader implements IAsyncChunkSaver, IChunkLoader {
}
chunksection.b(new NibbleArray(nbttagcompound1.getByteArray("Data"), 4));
- chunksection.d(new NibbleArray(nbttagcompound1.getByteArray("SkyLight"), 4));
chunksection.c(new NibbleArray(nbttagcompound1.getByteArray("BlockLight"), 4));
+ if (flag) {
+ chunksection.d(new NibbleArray(nbttagcompound1.getByteArray("SkyLight"), 4));
+ }
+
chunksection.recalcBlockCounts();
achunksection[b1] = chunksection;
}