mirror of
https://github.com/42wim/matterbridge.git
synced 2024-12-24 20:22:39 +01:00
52 lines
977 B
Go
52 lines
977 B
Go
|
package protocol
|
||
|
|
||
|
import (
|
||
|
"encoding/binary"
|
||
|
"io"
|
||
|
)
|
||
|
|
||
|
type MsgGCSetItemPosition struct {
|
||
|
AssetId, Position uint64
|
||
|
}
|
||
|
|
||
|
func (m *MsgGCSetItemPosition) Serialize(w io.Writer) error {
|
||
|
return binary.Write(w, binary.LittleEndian, m)
|
||
|
}
|
||
|
|
||
|
type MsgGCCraft struct {
|
||
|
Recipe int16 // -2 = wildcard
|
||
|
numItems int16
|
||
|
Items []uint64
|
||
|
}
|
||
|
|
||
|
func (m *MsgGCCraft) Serialize(w io.Writer) error {
|
||
|
m.numItems = int16(len(m.Items))
|
||
|
return binary.Write(w, binary.LittleEndian, m)
|
||
|
}
|
||
|
|
||
|
type MsgGCDeleteItem struct {
|
||
|
ItemId uint64
|
||
|
}
|
||
|
|
||
|
func (m *MsgGCDeleteItem) Serialize(w io.Writer) error {
|
||
|
return binary.Write(w, binary.LittleEndian, m.ItemId)
|
||
|
}
|
||
|
|
||
|
type MsgGCNameItem struct {
|
||
|
Tool, Target uint64
|
||
|
Name string
|
||
|
}
|
||
|
|
||
|
func (m *MsgGCNameItem) Serialize(w io.Writer) error {
|
||
|
err := binary.Write(w, binary.LittleEndian, m.Tool)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
err = binary.Write(w, binary.LittleEndian, m.Target)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
_, err = w.Write([]byte(m.Name))
|
||
|
return err
|
||
|
}
|