FoundationGames / Sandwichable

Customizable Sandwich mod for Minecraft
MIT License
32 stars 28 forks source link

[Gameplay Bug] Unstackable Pop-off Items #84

Closed DarkYuan closed 2 years ago

DarkYuan commented 3 years ago

Description When popping items off the top of a sandwich on a sandwich table, the item entities it creates are temporarily "unstackable" with otherwise identical items. Only after manually combining the stacks, or dropping the item again do they stack with existing inventory slots.

How To Reproduce Hold 64 bread slices, place one onto a sandwich table, right click with an empty hand to pop it off. You now have 63 + 1 bread slices. Optionally, place more than one bread slice and pop them off in succession. You now have (for example) 61 + 1 + 1 + 1 bread slices.

Expected Behavior Popped off items should stack with existing inventory.

Media 2021-02-26_18 28 00

FoundationGames commented 3 years ago

Normally, items are unstackable when there is attached nbt data. Could you do the following for me?:

I will also try to reproduce the bug.

DarkYuan commented 3 years ago

I'll do you one better, here's the text of a popped-off slice:

{
  Motion: [-3.7382166915914028E-6d, -0.08d, 0.0d]
  Health: 5s
  Invulnerable: 0b
  Air: 300s
  OnGround: 1b
  PortalCooldown: 0
  Rotation: [88.002075f, 0.0f]
  FallDistance: 0.0f
  Item: {
    id: "sandwichable:toasted_bread_slice", 
    Count: 1b
    tag: {}
  }
  Pos: [-65.1558140833184d, 65.0625d, 74.125d]
  PickupDelay: 0s
  Fire: -1s
  UUID: [I; 1401529491, -1824963262, -1859857557, -1497228573]
  Age: 62s
}

And of a thrown slice:

{
  Motion: [-1.4673649256214538E-5d, -0.08d, -3.636762365511668E-5d]
  Health: 5s
  Invulnerable: 0b
  Air: 300s
  OnGround: 1b
  PortalCooldown: 0
  Rotation: [346.50122f, 0.0f]
  Thrower: [I; 2096817864, 639584258, -1587546494, 1412064183]
  FallDistance: 0.0f
  Item: {
    id: "sandwichable:toasted_bread_slice"
    Count: 1b
  }
  Pos: [-64.8385973473544d, 65.0d, 74.25058163231789d]
  PickupDelay: 0s
  Fire: -1s
  UUID: [I; -349952681, -1978709165, -1762110449, 1418146011]
  Age: 43s
}

It looks like there's an empty tag: {} on the popped-off ones

DarkYuan commented 3 years ago

FYI - it stacks once you've got it in your inventory, just not right as you pick it up. Once you throw the item or move it around in your inventory it's normal again.

TBiscuit1 commented 3 years ago

the empty tag is what's causing the problem, the game look for the item and see that there is a tag on it, so it won't stack with the other items, they are not identical, but when in the inventory, the game finally realised that the tag is empty and removes it, but since it's AFTER you picked it up, well it doesn't stack with the tag-less items

FoundationGames commented 2 years ago

Should be fixed in 1.2-rc1 although previously unstackable items won't become stackable