update chat.Message to 1.20.4 format

This commit is contained in:
SushiLeader
2024-04-27 19:06:01 +08:00
parent eca78280cc
commit 903d585177

View File

@ -20,6 +20,7 @@ import (
"strings" "strings"
en_us "github.com/Tnze/go-mc/data/lang/en-us" en_us "github.com/Tnze/go-mc/data/lang/en-us"
"github.com/Tnze/go-mc/nbt"
pk "github.com/Tnze/go-mc/net/packet" pk "github.com/Tnze/go-mc/net/packet"
) )
@ -133,13 +134,26 @@ func (m *Message) UnmarshalJSON(raw []byte) (err error) {
} }
// ReadFrom decode Message in a ChatMsg packet // ReadFrom decode Message in a ChatMsg packet
func (m *Message) ReadFrom(r io.Reader) (int64, error) { func (m *Message) ReadFrom(r io.Reader) (n int64, err error) {
var code pk.String var msgType pk.Byte
n, err := code.ReadFrom(r) n, err = msgType.ReadFrom(r)
if err != nil { if err != nil {
return n, err return n, err
} }
err = json.Unmarshal([]byte(code), m) io.CopyN(io.Discard, r, 1)
var code pk.String
n, err = code.ReadFrom(r)
if err != nil {
return n, err
}
if byte(msgType) == nbt.TagString {
m.Text = string(code)
} else if byte(msgType) == nbt.TagCompound {
fmt.Printf("a: %+v\n", []byte(code))
err = json.Unmarshal([]byte(code), m)
}
return n, err return n, err
} }