public byte[] GetBytes() { using (var stream = new MemoryStream()) { using (var writer = new NbtBinaryWriter(stream, true)) { writer.Write(IPAddress.HostToNetworkOrder(X)); writer.Write(IPAddress.HostToNetworkOrder(Y)); writer.Write(true); writer.Write((ushort)0xffff); // bitmap writer.WriteVarInt(Blocks.Length + Skylight.Length + 33024 + 32768); writer.Write(Blocks); writer.Write(Blocklight); writer.Write(Skylight); writer.Write(BiomeId); //OK writer.Flush(); writer.Close(); } return(stream.ToArray()); } }
public byte[] GetChunkData() { using (var stream = new MemoryStream()) { using (var writer = new NbtBinaryWriter(stream, true)) { writer.WriteVarInt((Blocks.Length * 2) + Skylight.Data.Length + Blocklight.Data.Length + BiomeId.Length); for (var i = 0; i < Blocks.Length; i++) { writer.Write((ushort)((Blocks[i] << 4) | Metadata[i])); } writer.Write(Blocklight.Data); writer.Write(Skylight.Data); writer.Write(BiomeId); writer.Flush(); writer.Close(); } return(stream.ToArray()); } }