diff --git a/chat/message.go b/chat/message.go index 85f0253f..183a0d7f 100644 --- a/chat/message.go +++ b/chat/message.go @@ -51,7 +51,7 @@ const ( // Message is a message sent by other type Message struct { - Text string `json:"text" nbt:"text"` + Text string `json:"text" nbt:"text,default"` Bold bool `json:"bold,omitempty" nbt:"bold,omitempty"` // 粗体 Italic bool `json:"italic,omitempty" nbt:"italic,omitempty"` // 斜体 diff --git a/chat/nbtmessage_test.go b/chat/nbtmessage_test.go new file mode 100644 index 00000000..d90b2774 --- /dev/null +++ b/chat/nbtmessage_test.go @@ -0,0 +1,21 @@ +package chat + +import ( + "github.com/Tnze/go-mc/nbt" + "os" + "testing" +) + +func TestNbtExtraText(t *testing.T) { + //SNBT: {extra: [{extra: [{color: "dark_gray",text: "> "},{: "test"}],text: ""}],text: ""} + f, _ := os.Open("testdata/chat.nbt") + d := nbt.NewDecoder(f) + var m Message + if _, err := d.Decode(&m); err != nil { + t.Fatal(err) + } + + if m.ClearString() != "> test" { + t.Fatalf("gets %q, wants %q", m.ClearString(), "> test") + } +} diff --git a/chat/testdata/chat.nbt b/chat/testdata/chat.nbt new file mode 100644 index 00000000..19f100d4 Binary files /dev/null and b/chat/testdata/chat.nbt differ