internal static void WriteToStream(BlockData blockData, BinaryWriter writer) { byte[] bytes; using (var ms = new MemoryStream()) { using (var bw = new BinaryWriter(ms)) try { blockData.Serialize(bw); } catch (Exception e) { Logger.Error("Error during serialization of " + blockData); Logger.Exception(e); } bytes = ms.ToArray(); } writer.Write(GameRegistry.GetBlockDataRegistryKey(blockData)); writer.Write((ushort)bytes.Length); writer.Write(bytes); }