diff --git a/chat/message.go b/chat/message.go index 78abd30..6a4061e 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,omitempty"` Bold bool `json:"bold,omitempty" nbt:"bold,omitempty"` // 粗体 Italic bool `json:"italic,omitempty" nbt:"italic,omitempty"` // 斜体 diff --git a/level/bitstorage.go b/level/bitstorage.go index 715ad04..be6e644 100644 --- a/level/bitstorage.go +++ b/level/bitstorage.go @@ -153,17 +153,7 @@ func (b *BitStorage) Raw() []uint64 { return b.data } -func (b *BitStorage) ReadFrom(r io.Reader) (int64, error) { - var Len pk.VarInt - n, err := Len.ReadFrom(r) - if err != nil { - return n, err - } - if cap(b.data) >= int(Len) { - b.data = b.data[:Len] - } else { - b.data = make([]uint64, Len) - } +func (b *BitStorage) ReadFrom(r io.Reader) (n int64, err error) { var v pk.Long for i := range b.data { nn, err := v.ReadFrom(r) @@ -213,3 +203,19 @@ func (b *BitStorage) Fix(bits int) error { } return nil } + +func (b *BitStorage) Expand(bits int) error { + if bits == 0 { + b.mask = 0 + b.bits = 0 + b.valuesPerLong = 0 + return nil + } + b.mask = 1<