update protocol codecs: refine type definitions, fix inconsistent naming, and enhance component handling
This commit is contained in:
@ -72,12 +72,12 @@ func (c *SmithingTrim) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (&c.Trim).ReadFrom(r)
|
||||
temp, err = (&c.Material).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (&c.Remainder).ReadFrom(r)
|
||||
temp, err = (*packet.VarInt)(&c.Pattern).ReadFrom(r)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
@ -92,12 +92,12 @@ func (c SmithingTrim) WriteTo(w io.Writer) (n int64, err error) {
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (&c.Trim).WriteTo(w)
|
||||
temp, err = (&c.Material).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
}
|
||||
temp, err = (&c.Remainder).WriteTo(w)
|
||||
temp, err = (*packet.VarInt)(&c.Pattern).WriteTo(w)
|
||||
n += temp
|
||||
if err != nil {
|
||||
return n, err
|
||||
|
@ -1,6 +1,7 @@
|
||||
package slot
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
"git.konjactw.dev/patyhank/minego/pkg/protocol/slot"
|
||||
@ -11,6 +12,7 @@ type DisplayType int32
|
||||
|
||||
const (
|
||||
DisplayEmpty DisplayType = iota
|
||||
DisplayAnyFuel
|
||||
DisplayItem
|
||||
DisplayItemStack
|
||||
DisplayTag
|
||||
@ -38,37 +40,46 @@ func (s *Display) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
switch displayType {
|
||||
case DisplayEmpty:
|
||||
return
|
||||
case DisplayAnyFuel:
|
||||
return
|
||||
case DisplayItem:
|
||||
var item Item
|
||||
if _, err = item.ReadFrom(r); err != nil {
|
||||
return
|
||||
}
|
||||
s.SlotDisplay = &item
|
||||
case DisplayItemStack:
|
||||
var itemStack ItemStack
|
||||
if _, err = itemStack.ReadFrom(r); err != nil {
|
||||
return
|
||||
}
|
||||
s.SlotDisplay = &itemStack
|
||||
case DisplayTag:
|
||||
var tag Tag
|
||||
if _, err = tag.ReadFrom(r); err != nil {
|
||||
return
|
||||
}
|
||||
s.SlotDisplay = &tag
|
||||
case DisplaySmithingTrim:
|
||||
var trim SmithingTrim
|
||||
if _, err = trim.ReadFrom(r); err != nil {
|
||||
return
|
||||
}
|
||||
s.SlotDisplay = &trim
|
||||
case DisplayWithRemainder:
|
||||
var remainder WithRemainder
|
||||
if _, err = remainder.ReadFrom(r); err != nil {
|
||||
return
|
||||
}
|
||||
s.SlotDisplay = &remainder
|
||||
case DisplayComposite:
|
||||
var composite Composite
|
||||
if _, err = composite.ReadFrom(r); err != nil {
|
||||
return
|
||||
}
|
||||
s.SlotDisplay = &composite
|
||||
}
|
||||
fmt.Println(s.SlotDisplay)
|
||||
return
|
||||
}
|
||||
|
||||
@ -106,9 +117,9 @@ func (i Tag) SlotDisplayType() DisplayType {
|
||||
|
||||
//codec:gen
|
||||
type SmithingTrim struct {
|
||||
Base Display
|
||||
Trim Display
|
||||
Remainder Display
|
||||
Base Display
|
||||
Material Display
|
||||
Pattern int32 `mc:"VarInt"`
|
||||
}
|
||||
|
||||
func (i SmithingTrim) SlotDisplayType() DisplayType {
|
||||
|
@ -103,6 +103,7 @@ func (s *Slot) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
if err != nil {
|
||||
return temp, err
|
||||
}
|
||||
s.AddComponent = append(s.AddComponent, c)
|
||||
}
|
||||
|
||||
for i := int32(0); i < removeLens; i++ {
|
||||
@ -111,7 +112,7 @@ func (s *Slot) ReadFrom(r io.Reader) (n int64, err error) {
|
||||
if err != nil {
|
||||
return temp, err
|
||||
}
|
||||
s.RemoveComponent = append(s.RemoveComponent, ComponentID(id))
|
||||
}
|
||||
|
||||
return n, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user