diff --git a/nbt/nbt.go b/nbt/nbt.go index 15682f5..ad30cc2 100644 --- a/nbt/nbt.go +++ b/nbt/nbt.go @@ -3,7 +3,6 @@ package nbt import ( - "bufio" "io" ) @@ -42,7 +41,17 @@ func NewDecoder(r io.Reader) *Decoder { if br, ok := r.(DecoderReader); ok { d.r = br } else { - d.r = bufio.NewReaderSize(r, 0) + d.r = reader{r} } return d } + +type reader struct { + io.Reader +} + +func (r reader) ReadByte() (byte, error) { + var b [1]byte + _, err := r.Read(b[:]) + return b[0], err +} diff --git a/net/packet/packet.go b/net/packet/packet.go index 8d37a24..0e6598c 100644 --- a/net/packet/packet.go +++ b/net/packet/packet.go @@ -3,10 +3,8 @@ package packet import ( "bytes" "compress/zlib" - "encoding/hex" "fmt" "io" - "os" ) // Packet define a net data package @@ -27,9 +25,8 @@ func Marshal(id int32, fields ...FieldEncoder) (pk Packet) { //Scan decode the packet and fill data into fields func (p Packet) Scan(fields ...FieldDecoder) error { r := bytes.NewReader(p.Data) - rr := io.TeeReader(r, hex.Dumper(os.Stdout)) for _, v := range fields { - _, err := v.ReadFrom(rr) + _, err := v.ReadFrom(r) if err != nil { return err }