public static TagCompound FromStream(Stream stream, bool compressing) { Stream newStream = stream; if (compressing) { newStream = new GZipStream(stream, CompressionMode.Decompress); } TagBase baseTag; using (NBTBinaryReader br = new NBTBinaryReader(newStream)) { baseTag = TagBase.ReadNamedTag(br); br.Dispose(); } return(baseTag as TagCompound); }