public override object ParsePayload(Stream stream, INamedBinaryTag tagBase) { byte datum = stream.ReadSingleByte(); sbyte val = (sbyte)datum; TagByte tag = tagBase as TagByte; if (tag == null) { throw new InvalidCastException("Wrong NBT type! Expected TagByte, found " + tagBase.GetType().Name); } tag.Value = val; return val; }
public override object ParsePayload(Stream stream, INamedBinaryTag tagBase) { byte[] data = new byte[4]; if (stream.Read(data, 0, 4) < 4) { throw new EndOfStreamException("End of stream reached inside of tag. Put those bytes back!"); } data = data.ReverseIfLittleEndian(); int val = BitConverter.ToInt32(data, 0); TagInt tag = tagBase as TagInt; if (tag == null) { throw new InvalidCastException("Wrong NBT type! Expected TagInt, found " + tagBase.GetType().Name); } tag.Value = val; return val; }
public override object ParsePayload(Stream stream, INamedBinaryTag tagBase) { byte[] data = new byte[2]; if (stream.Read(data, 0, 2) < 2) { throw new EndOfStreamException("End of stream reached inside of tag. Put those bytes back!"); } data = data.ReverseIfLittleEndian(); short val = BitConverter.ToInt16(data, 0); TagShort tag = tagBase as TagShort; if (tag == null) { throw new InvalidCastException("Wrong NBT type! Expected TagShort, found " + tagBase.GetType().Name); } tag.Value = val; return(val); }
public override object ParsePayload(Stream stream, INamedBinaryTag tagBase) { byte datum = stream.ReadSingleByte(); sbyte val = (sbyte)datum; TagByte tag = tagBase as TagByte; if (tag == null) { throw new InvalidCastException("Wrong NBT type! Expected TagByte, found " + tagBase.GetType().Name); } tag.Value = val; return(val); }