Files
minego/codec/slot/codecs.go
2025-06-21 16:48:02 +08:00

163 lines
3.1 KiB
Go

// Code generated by github.com/go-mc/packetizer; DO NOT EDIT.
package slot
import (
"errors"
"io"
"github.com/Tnze/go-mc/net/packet"
)
func (c *AddedHashedComponent) ReadFrom(r io.Reader) (n int64, err error) {
var temp int64
temp, err = (*packet.VarInt)(&c.Type).ReadFrom(r)
n += temp
if err != nil {
return n, err
}
temp, err = (*packet.Int)(&c.DataHash).ReadFrom(r)
n += temp
if err != nil {
return n, err
}
return n, err
}
func (c AddedHashedComponent) WriteTo(w io.Writer) (n int64, err error) {
var temp int64
temp, err = (*packet.VarInt)(&c.Type).WriteTo(w)
n += temp
if err != nil {
return n, err
}
temp, err = (*packet.Int)(&c.DataHash).WriteTo(w)
n += temp
if err != nil {
return n, err
}
return n, err
}
func (c *HashedSlot) ReadFrom(r io.Reader) (n int64, err error) {
var temp int64
temp, err = (*packet.Boolean)(&c.HasItem).ReadFrom(r)
n += temp
if err != nil {
return n, err
}
if c.HasItem {
temp, err = (*packet.VarInt)(&c.ItemID).ReadFrom(r)
n += temp
if err != nil {
return n, err
}
}
if c.HasItem {
temp, err = (*packet.VarInt)(&c.ItemCount).ReadFrom(r)
n += temp
if err != nil {
return n, err
}
}
if c.HasItem {
temp, err = (&c.AddComponents).ReadFrom(r)
n += temp
if err != nil {
return n, err
}
}
if c.HasItem {
temp, err = (*Int32VarIntVarIntArray)(&c.RemovedComponents).ReadFrom(r)
n += temp
if err != nil {
return n, err
}
}
return n, err
}
func (c HashedSlot) WriteTo(w io.Writer) (n int64, err error) {
var temp int64
temp, err = (*packet.Boolean)(&c.HasItem).WriteTo(w)
n += temp
if err != nil {
return n, err
}
if c.HasItem {
temp, err = (*packet.VarInt)(&c.ItemID).WriteTo(w)
n += temp
if err != nil {
return n, err
}
}
if c.HasItem {
temp, err = (*packet.VarInt)(&c.ItemCount).WriteTo(w)
n += temp
if err != nil {
return n, err
}
}
if c.HasItem {
temp, err = (&c.AddComponents).WriteTo(w)
n += temp
if err != nil {
return n, err
}
}
if c.HasItem {
temp, err = (*Int32VarIntVarIntArray)(&c.RemovedComponents).WriteTo(w)
n += temp
if err != nil {
return n, err
}
}
return n, err
}
// Int32VarIntVarIntArray a utility type for encoding/decoding packet.VarInt -> int32[packet.VarInt] slice.
type Int32VarIntVarIntArray []int32
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
}
n += nn
for i := 0; i < size; i++ {
nn, err := packet.VarInt(a[i]).WriteTo(w)
n += nn
if err != nil {
return n, err
}
}
return n, nil
}
func (a *Int32VarIntVarIntArray) 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(Int32VarIntVarIntArray, int(size))
}
for i := 0; i < int(size); i++ {
nn, err = (*packet.VarInt)(&(*a)[i]).ReadFrom(r)
n += nn
if err != nil {
return n, err
}
}
return n, err
}