From 966f50eb5327a57782871b581be078f78aad4dd3 Mon Sep 17 00:00:00 2001 From: Tnze Date: Sun, 28 Jul 2024 16:42:08 +0800 Subject: [PATCH] Fix bot screen item counts --- bot/screen/screen.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/bot/screen/screen.go b/bot/screen/screen.go index 7be47dd..fc1fe3a 100644 --- a/bot/screen/screen.go +++ b/bot/screen/screen.go @@ -191,7 +191,7 @@ func (m *Manager) onSetSlot(p pk.Packet) (err error) { type Slot struct { ID pk.VarInt - Count pk.Byte + Count pk.VarInt NBT nbt.RawMessage } @@ -208,12 +208,15 @@ func (s *Slot) WriteTo(w io.Writer) (n int64, err error) { } func (s *Slot) ReadFrom(r io.Reader) (n int64, err error) { - var present pk.Boolean + var componentsAdd, componentsRemove pk.VarInt return pk.Tuple{ - &present, pk.Opt{ - Has: &present, + &s.Count, pk.Opt{ + Has: func() bool { return s.Count > 0 }, Field: pk.Tuple{ - &s.ID, &s.Count, pk.NBT(&s.NBT), + &s.ID, + &componentsAdd, + &componentsRemove, + // TODO: Components Ignored }, }, }.ReadFrom(r)