From 4e265ee478f164d3c8e428c8f45e11058e525243 Mon Sep 17 00:00:00 2001 From: DaPigGuy Date: Sat, 25 Jan 2025 00:25:36 -0800 Subject: [PATCH] player/player.go: Attempt to collect item into offhand slot --- server/player/player.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/server/player/player.go b/server/player/player.go index 826386731..d5252609b 100644 --- a/server/player/player.go +++ b/server/player/player.go @@ -2158,8 +2158,15 @@ func (p *Player) Collect(s item.Stack) (int, bool) { if p.Handler().HandleItemPickup(ctx, &s); ctx.Cancelled() { return 0, false } - n, _ := p.Inventory().AddItem(s) - return n, true + var added int + if _, offHand := p.HeldItems(); !offHand.Empty() && offHand.Comparable(s) { + added, _ = p.offHand.AddItem(s) + } + if s.Count() != added { + n, _ := p.Inventory().AddItem(s.Grow(-added)) + added += n + } + return added, true } // Experience returns the amount of experience the player has.