diff --git a/src/MiNET/MiNET/Worlds/AnvilWorldProvider.cs b/src/MiNET/MiNET/Worlds/AnvilWorldProvider.cs index 47dc080b8..bdb041da7 100644 --- a/src/MiNET/MiNET/Worlds/AnvilWorldProvider.cs +++ b/src/MiNET/MiNET/Worlds/AnvilWorldProvider.cs @@ -1011,7 +1011,17 @@ public static NbtFile CreateNbtFromChunkColumn(ChunkColumn chunk) int anvilIndex = y * 16 * 16 + z * 16 + x; byte blockId = (byte) subChunk.GetBlockId(x, y, z); blocks[anvilIndex] = blockId; - //SetNibble4(data, anvilIndex, section.GetMetadata(x, y, z)); + int index = subChunk.Blocks[(x << 8) | (z << 4) | y]; + if (subChunk.RuntimeIds.Contains(index)) + { + int runtimeId = subChunk.RuntimeIds[index]; + BlockStateContainer blockState = BlockFactory.BlockPalette[runtimeId == -1 ? 0 : runtimeId]; + SetNibble4(data, anvilIndex, (byte) blockState.Data); + } + else + { + SetNibble4(data, anvilIndex, 0); + } SetNibble4(blockLight, anvilIndex, subChunk.GetBlocklight(x, y, z)); SetNibble4(skyLight, anvilIndex, subChunk.GetSkylight(x, y, z)); }