Esempio n. 1
0
        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());
            }
        }
Esempio n. 2
0
        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());
            }
        }