codecs update

This commit is contained in:
2025-06-21 16:48:02 +08:00
parent eeaeff02c0
commit bec0a56a3d
23 changed files with 1233 additions and 10457 deletions

View File

@ -3602,138 +3602,6 @@ func (c WrittenBookPage) WriteTo(w io.Writer) (n int64, err error) {
return n, err
}
// Int32PrefixedArrayVarIntArray a utility type for encoding/decoding packet.Int -> int32[packet.VarInt] slice.
type Int32PrefixedArrayVarIntArray []int32
func (a Int32PrefixedArrayVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
} else {
n += nn
}
for i := 0; i < size; i++ {
nn, err := packet.Int(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int32PrefixedArrayVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
if nn, err := size.ReadFrom(r); err != nil {
return nn, err
} else {
n += nn
}
if size < 0 {
return n, errors.New("array length less than zero")
}
for i := 0; i < int(size); i++ {
var elem packet.Int
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int32(elem))
}
return n, err
}
// Float32VarIntArray a utility type for encoding/decoding packet.Float -> float32[packet.VarInt] slice.
type Float32VarIntArray []float32
func (a Float32VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
} else {
n += nn
}
for i := 0; i < size; i++ {
nn, err := packet.Float(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Float32VarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
if nn, err := size.ReadFrom(r); err != nil {
return nn, err
} else {
n += nn
}
if size < 0 {
return n, errors.New("array length less than zero")
}
for i := 0; i < int(size); i++ {
var elem packet.Float
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, float32(elem))
}
return n, err
}
// BoolVarIntArray a utility type for encoding/decoding packet.Boolean -> bool[packet.VarInt] slice.
type BoolVarIntArray []bool
func (a BoolVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
} else {
n += nn
}
for i := 0; i < size; i++ {
nn, err := packet.Boolean(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *BoolVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
if nn, err := size.ReadFrom(r); err != nil {
return nn, err
} else {
n += nn
}
if size < 0 {
return n, errors.New("array length less than zero")
}
for i := 0; i < int(size); i++ {
var elem packet.Boolean
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, bool(elem))
}
return n, err
}
// StringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice.
type StringVarIntArray []string
@ -3741,9 +3609,8 @@ func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
} else {
n += nn
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.String(a[i]).WriteTo(w)
n += nn
@ -3756,23 +3623,27 @@ func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
func (a *StringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
if nn, err := size.ReadFrom(r); err != nil {
return nn, err
} else {
n += nn
nn, err := size.ReadFrom(r)
n += nn
if err != nil {
return n, err
}
if size < 0 {
return n, errors.New("array length less than zero")
}
if cap(*a) >= int(size) {
*a = (*a)[:int(size)]
} else {
*a = make(StringVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
var elem packet.String
if nn, err := elem.ReadFrom(r); err != nil {
nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, string(elem))
}
return n, err
@ -3785,9 +3656,8 @@ func (a Int32VarIntVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
} else {
n += nn
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.VarInt(a[i]).WriteTo(w)
n += nn
@ -3800,23 +3670,121 @@ func (a Int32VarIntVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
func (a *Int32VarIntVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
if nn, err := size.ReadFrom(r); err != nil {
return nn, err
} else {
n += nn
nn, err := size.ReadFrom(r)
n += nn
if err != nil {
return n, err
}
if size < 0 {
return n, errors.New("array length less than zero")
}
if cap(*a) >= int(size) {
*a = (*a)[:int(size)]
} else {
*a = make(Int32VarIntVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
var elem packet.VarInt
if nn, err := elem.ReadFrom(r); err != nil {
nn, err = (*packet.VarInt)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
}
}
return n, err
}
// Float32VarIntArray a utility type for encoding/decoding packet.Float -> float32[packet.VarInt] slice.
type Float32VarIntArray []float32
func (a Float32VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.Float(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Float32VarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
nn, err := size.ReadFrom(r)
n += nn
if err != nil {
return n, err
}
if size < 0 {
return n, errors.New("array length less than zero")
}
if cap(*a) >= int(size) {
*a = (*a)[:int(size)]
} else {
*a = make(Float32VarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.Float)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
}
}
return n, err
}
// BoolVarIntArray a utility type for encoding/decoding packet.Boolean -> bool[packet.VarInt] slice.
type BoolVarIntArray []bool
func (a BoolVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.Boolean(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *BoolVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
nn, err := size.ReadFrom(r)
n += nn
if err != nil {
return n, err
}
if size < 0 {
return n, errors.New("array length less than zero")
}
if cap(*a) >= int(size) {
*a = (*a)[:int(size)]
} else {
*a = make(BoolVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.Boolean)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int32(elem))
}
return n, err
@ -3829,9 +3797,8 @@ func (a Int32VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
} else {
n += nn
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.Int(a[i]).WriteTo(w)
n += nn
@ -3844,23 +3811,74 @@ func (a Int32VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
func (a *Int32VarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
if nn, err := size.ReadFrom(r); err != nil {
return nn, err
} else {
n += nn
nn, err := size.ReadFrom(r)
n += nn
if err != nil {
return n, err
}
if size < 0 {
return n, errors.New("array length less than zero")
}
if cap(*a) >= int(size) {
*a = (*a)[:int(size)]
} else {
*a = make(Int32VarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
var elem packet.Int
if nn, err := elem.ReadFrom(r); err != nil {
nn, err = (*packet.Int)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
}
}
return n, err
}
// Int32PrefixedArrayVarIntArray a utility type for encoding/decoding packet.Int -> int32[packet.VarInt] slice.
type Int32PrefixedArrayVarIntArray []int32
func (a Int32PrefixedArrayVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
if nn, err := packet.VarInt(size).WriteTo(w); err != nil {
return n, err
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.Int(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int32PrefixedArrayVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
nn, err := size.ReadFrom(r)
n += nn
if err != nil {
return n, err
}
if size < 0 {
return n, errors.New("array length less than zero")
}
if cap(*a) >= int(size) {
*a = (*a)[:int(size)]
} else {
*a = make(Int32PrefixedArrayVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.Int)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int32(elem))
}
return n, err