fix codecs

This commit is contained in:
2026-02-21 21:02:48 +08:00
parent da87c54494
commit b47183ba63
8 changed files with 181 additions and 178 deletions
+114 -114
View File
@@ -3407,12 +3407,12 @@ func (c *PlayerPosition) ReadFrom(r io.Reader) (n int64, err error) {
if err != nil {
return n, err
}
temp, err = (*packet.Float)(&c.YRot).ReadFrom(r)
temp, err = (*packet.Float)(&c.XRot).ReadFrom(r)
n += temp
if err != nil {
return n, err
}
temp, err = (*packet.Float)(&c.XRot).ReadFrom(r)
temp, err = (*packet.Float)(&c.YRot).ReadFrom(r)
n += temp
if err != nil {
return n, err
@@ -3462,12 +3462,12 @@ func (c PlayerPosition) WriteTo(w io.Writer) (n int64, err error) {
if err != nil {
return n, err
}
temp, err = (*packet.Float)(&c.YRot).WriteTo(w)
temp, err = (*packet.Float)(&c.XRot).WriteTo(w)
n += temp
if err != nil {
return n, err
}
temp, err = (*packet.Float)(&c.XRot).WriteTo(w)
temp, err = (*packet.Float)(&c.YRot).WriteTo(w)
n += temp
if err != nil {
return n, err
@@ -7067,102 +7067,6 @@ func (c Waypoint) WriteTo(w io.Writer) (n int64, err error) {
return n, err
}
// Int64VarLongVarIntArray a utility type for encoding/decoding packet.VarLong -> int64[packet.VarInt] slice.
type Int64VarLongVarIntArray []int64
func (a Int64VarLongVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
nn, err := packet.VarInt(size).WriteTo(w)
if err != nil {
return n, err
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.VarLong(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int64VarLongVarIntArray) 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(Int64VarLongVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.VarLong)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
}
}
return n, err
}
// StringStringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice.
type StringStringVarIntArray []string
func (a StringStringVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
nn, err := packet.VarInt(size).WriteTo(w)
if err != nil {
return n, err
}
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 *StringStringVarIntArray) 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(StringStringVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
}
}
return n, err
}
// Int8VarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice.
type Int8VarIntArray []int8
@@ -7211,10 +7115,10 @@ func (a *Int8VarIntArray) 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
// Int64VarIntArray a utility type for encoding/decoding packet.Long -> int64[packet.VarInt] slice.
type Int64VarIntArray []int64
func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
func (a Int64VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
nn, err := packet.VarInt(size).WriteTo(w)
if err != nil {
@@ -7222,7 +7126,7 @@ func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.String(a[i]).WriteTo(w)
nn, err := packet.Long(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
@@ -7231,7 +7135,7 @@ func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
return n, nil
}
func (a *StringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
func (a *Int64VarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
nn, err := size.ReadFrom(r)
n += nn
@@ -7245,11 +7149,11 @@ func (a *StringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
if cap(*a) >= int(size) {
*a = (*a)[:int(size)]
} else {
*a = make(StringVarIntArray, int(size))
*a = make(Int64VarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r)
nn, err = (*packet.Long)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
@@ -7307,6 +7211,54 @@ func (a *StringIdentifierVarIntArray) ReadFrom(r io.Reader) (n int64, err error)
return n, err
}
// StringStringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice.
type StringStringVarIntArray []string
func (a StringStringVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
nn, err := packet.VarInt(size).WriteTo(w)
if err != nil {
return n, err
}
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 *StringStringVarIntArray) 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(StringStringVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
}
}
return n, err
}
// Int8ByteVarIntArray a utility type for encoding/decoding packet.Byte -> int8[packet.VarInt] slice.
type Int8ByteVarIntArray []int8
@@ -7355,10 +7307,10 @@ func (a *Int8ByteVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
return n, err
}
// Int64VarIntArray a utility type for encoding/decoding packet.Long -> int64[packet.VarInt] slice.
type Int64VarIntArray []int64
// StringVarIntArray a utility type for encoding/decoding packet.String -> string[packet.VarInt] slice.
type StringVarIntArray []string
func (a Int64VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
func (a StringVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
nn, err := packet.VarInt(size).WriteTo(w)
if err != nil {
@@ -7366,7 +7318,7 @@ func (a Int64VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.Long(a[i]).WriteTo(w)
nn, err := packet.String(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
@@ -7375,7 +7327,7 @@ func (a Int64VarIntArray) WriteTo(w io.Writer) (n int64, err error) {
return n, nil
}
func (a *Int64VarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
func (a *StringVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
var size packet.VarInt
nn, err := size.ReadFrom(r)
n += nn
@@ -7389,11 +7341,11 @@ func (a *Int64VarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
if cap(*a) >= int(size) {
*a = (*a)[:int(size)]
} else {
*a = make(Int64VarIntArray, int(size))
*a = make(StringVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.Long)(&(*a)[i]).ReadFrom(r)
nn, err = (*packet.String)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
@@ -7498,3 +7450,51 @@ func (a *Int32VarIntVarIntArray) ReadFrom(r io.Reader) (n int64, err error) {
return n, err
}
// Int64VarLongVarIntArray a utility type for encoding/decoding packet.VarLong -> int64[packet.VarInt] slice.
type Int64VarLongVarIntArray []int64
func (a Int64VarLongVarIntArray) WriteTo(w io.Writer) (n int64, err error) {
size := len(a)
nn, err := packet.VarInt(size).WriteTo(w)
if err != nil {
return n, err
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.VarLong(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int64VarLongVarIntArray) 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(Int64VarLongVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.VarLong)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
}
}
return n, err
}
@@ -11,7 +11,7 @@ type PlayerPosition struct {
ID int32 `mc:"VarInt"`
X, Y, Z float64
VelocityX, VelocityY, VelocityZ float64
YRot, XRot float32
XRot, YRot float32
Flags int32
}