Record TagType when decoding RawMessage.
Display item's NBT in example/daze. Upgrade data/item to 1.17
This commit is contained in:
@ -3,6 +3,7 @@ package nbt
|
||||
import (
|
||||
"bytes"
|
||||
"io"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type RawMessage struct {
|
||||
@ -29,6 +30,22 @@ func (m *RawMessage) Decode(tagType byte, r DecoderReader) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m.Type = tagType
|
||||
m.Data = buf.Bytes()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m RawMessage) String() string {
|
||||
if m.Type == TagEnd {
|
||||
return "TagEnd"
|
||||
}
|
||||
var snbt StringifiedMessage
|
||||
var sb strings.Builder
|
||||
r := bytes.NewReader(m.Data)
|
||||
d := NewDecoder(r)
|
||||
err := snbt.encode(d, &sb, m.Type)
|
||||
if err != nil {
|
||||
return "Invalid"
|
||||
}
|
||||
return sb.String()
|
||||
}
|
||||
|
Reference in New Issue
Block a user