Minecraft Username: Skylexia Brief Description: Using a boost 3 raw iron or raw copper piece for autopickup + associated boost 3 ores for increased drops + L3 Magic Pickaxe is allowing pickup of stacks over 64 due to the very high drop rate per block broken. In theory, any boost 2+ mineral piece + boosted associated ore with L3 Magic Pickaxe leading to a drop of over 64 could cause this, but I have only confirmed it for iron and copper. Instructions: 1. Have a boost 2+ raw iron or raw copper piece to activate autopickup, plus associated boost 3 ore for increased drops, in inventory. 2. Mine iron or copper with L3 magic pick. 3. View inventory. Moving the stacks to/from the hotbar breaks them up, i.e., moving a stack of 72 from hotbar to inventory with shift-click breaks the stack into 64 and 8. This is also true for picking them up in the inventory interface with a single left click and placing them back down with another single left click; putting them down in inventory sets down 64, leaving the remainder still picked up and placeable into another slot. How many times did you recreate this?: 3 times with iron, once with copper to see how widespread the problem was. Did not work with coal due to the same setup with coal not producing enough drops per block to create the issue. Issue appears slightly sporadic, due to not every block mined producing a drop of over 64, but happens more often than not. Drops under 64 do not trigger the issue and stack as expected, and do not stack on the bugged stacks over 64. For a drop over 99, 99 appear in 1 stack and remainder starts a new stack. May require a few tries to recreate due to the rng of drop amounts. This issue does not occur with only having the boosted ore, the autopickup from the boosted mineral pieces seems to be necessary to create it. (Edited to add: I am on 1.20.6) Result: Stacks of over 64 appearing in inventory, based on drop amount. Expected Result: Stacks of up to 64 appearing in inventory, with overflow creating a separate stack. Evidence:
I did some more testing, also on 1.20.6. The setup with boost III ore and raw boost III copper/iron always produces a stack of 72 if there are no partial raw copper/iron stacks in your inventory. If there are (e.g. from a 99+45 stack from a double drop), there is only a medium chance to create a 72 stack instead of 64+8.
Spigot made it so that their addItem method uses the inventories max stack size to determine the split. (No idea why they'd do something like that.) We can fix this with a bunch of code, but without a whole metric bunch of testing it's not something we want to do as it's asking for trouble since we would basically be manually adding stuff to the inventory. The stack is fine, eh, consider it free inventory space lol. Perhaps in the future Spigot will revert this, or Paper will change/fix it.