codecs update

This commit is contained in:
2025-06-20 20:58:31 +08:00
parent 20c2d11bde
commit eeaeff02c0
5 changed files with 360 additions and 474 deletions

View File

@ -343,50 +343,6 @@ func (c ConfigUpdateEnabledFeatures) WriteTo(w io.Writer) (n int64, err error) {
return n, err
}
// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice.
type Int8VarIntArray []int8
func (a Int8VarIntArray) 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.Byte(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int8VarIntArray) 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.Byte
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int8(elem))
}
return n, err
}
// StringIdentifierVarIntArray a utility type for encoding/decoding packet.Identifier -> string[packet.VarInt] slice.
type StringIdentifierVarIntArray []string
@ -430,3 +386,47 @@ func (a *StringIdentifierVarIntArray) ReadFrom(r io.Reader) (n int64, err error)
return n, err
}
// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice.
type Int8VarIntArray []int8
func (a Int8VarIntArray) 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.Byte(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int8VarIntArray) 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.Byte
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int8(elem))
}
return n, err
}

View File

@ -7157,138 +7157,6 @@ func (c Waypoint) WriteTo(w io.Writer) (n int64, err error) {
return n, err
}
// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice.
type Int8VarIntArray []int8
func (a Int8VarIntArray) 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.Byte(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int8VarIntArray) 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.Byte
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int8(elem))
}
return n, err
}
// StringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice.
type StringVarIntArray []string
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
}
for i := 0; i < size; i++ {
nn, err := packet.String(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
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
}
if size < 0 {
return n, errors.New("array length less than zero")
}
for i := 0; i < int(size); i++ {
var elem packet.String
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, string(elem))
}
return n, err
}
// StringIdentifierVarIntArray a utility type for encoding/decoding packet.Identifier -> string[packet.VarInt] slice.
type StringIdentifierVarIntArray []string
func (a StringIdentifierVarIntArray) 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.Identifier(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *StringIdentifierVarIntArray) 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.Identifier
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, string(elem))
}
return n, err
}
// Int32VarIntVarIntArray a utility type for encoding/decoding packet.VarInt -> int32[packet.VarInt] slice.
type Int32VarIntVarIntArray []int32
@ -7333,138 +7201,6 @@ func (a *Int32VarIntVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
return n, err
}
// Int8ByteVarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice.
type Int8ByteVarIntArray []int8
func (a Int8ByteVarIntArray) 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.Byte(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int8ByteVarIntArray) 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.Byte
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int8(elem))
}
return n, err
}
// Int64VarIntArray a utility type for encoding/decoding packet.Long -> int64[packet.VarInt] slice.
type Int64VarIntArray []int64
func (a Int64VarIntArray) 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.Long(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int64VarIntArray) 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.Long
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int64(elem))
}
return n, err
}
// UuidUUIDUUIDVarIntArray a utility type for encoding/decoding packet.UUID -> uuid.UUID[packet.VarInt] slice.
type UuidUUIDUUIDVarIntArray []uuid.UUID
func (a UuidUUIDUUIDVarIntArray) 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.UUID(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *UuidUUIDUUIDVarIntArray) 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.UUID
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, uuid.UUID(elem))
}
return n, err
}
// Int64VarLongVarIntArray a utility type for encoding/decoding packet.VarLong -> int64[packet.VarInt] slice.
type Int64VarLongVarIntArray []int64
@ -7552,3 +7288,267 @@ func (a *StringStringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
return n, err
}
// StringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice.
type StringVarIntArray []string
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
}
for i := 0; i < size; i++ {
nn, err := packet.String(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
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
}
if size < 0 {
return n, errors.New("array length less than zero")
}
for i := 0; i < int(size); i++ {
var elem packet.String
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, string(elem))
}
return n, err
}
// Int8ByteVarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice.
type Int8ByteVarIntArray []int8
func (a Int8ByteVarIntArray) 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.Byte(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int8ByteVarIntArray) 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.Byte
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int8(elem))
}
return n, err
}
// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice.
type Int8VarIntArray []int8
func (a Int8VarIntArray) 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.Byte(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int8VarIntArray) 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.Byte
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int8(elem))
}
return n, err
}
// Int64VarIntArray a utility type for encoding/decoding packet.Long -> int64[packet.VarInt] slice.
type Int64VarIntArray []int64
func (a Int64VarIntArray) 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.Long(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int64VarIntArray) 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.Long
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, int64(elem))
}
return n, err
}
// StringIdentifierVarIntArray a utility type for encoding/decoding packet.Identifier -> string[packet.VarInt] slice.
type StringIdentifierVarIntArray []string
func (a StringIdentifierVarIntArray) 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.Identifier(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *StringIdentifierVarIntArray) 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.Identifier
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, string(elem))
}
return n, err
}
// UuidUUIDUUIDVarIntArray a utility type for encoding/decoding packet.UUID -> uuid.UUID[packet.VarInt] slice.
type UuidUUIDUUIDVarIntArray []uuid.UUID
func (a UuidUUIDUUIDVarIntArray) 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.UUID(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *UuidUUIDUUIDVarIntArray) 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.UUID
if nn, err := elem.ReadFrom(r); err != nil {
return n, err
} else {
n += nn
}
*a = append(*a, uuid.UUID(elem))
}
return n, err
}

View File

@ -17,7 +17,7 @@ type SetStructureBlock struct {
Rotation int32 `mc:"VarInt"`
Metadata string
Integrity float32
Seed int32 `mc:"VarLong"`
Seed int64 `mc:"VarLong"`
Flags int8
}