Empty Canisters Don't Stack Sometimes
random51 opened this issue ยท 4 comments
Versions
- Silent's Mechanisms: 1.15.2-0.7.050
- Silent Lib: 1.15.2-4.6.048
- Forge: 31.1.18
- Modpack: FTB Origins (beta testing)
Expected Behavior
All empty canisters to stack up to item stack limit.
Actual Behavior
Some stack and some don't. It appears one or more of the machines that can empty them aren't setting the data right on the canister.
Links/Images
- (Link)
Steps to Reproduce the Problem
Process oil all the way to plastic reusing your empty canisters as you go along and sooner or later you'll get one or more canisters that won't stack with the rest.
FWIW, it's not just emptied canisters. While making the Refinery in a normal crafting bench, I pressed "+" in JEI to move the items into the crafting grid, and took out the Refinery. Afterwards, I had 2 canisters that wouldn't stack with the other 6. And as you say, no NBT data; with F3+H on, I can see other items have NBT, like the Silent Gear sword with 4 tags.
While writing this up, it occurred to me that getting the canisters back really didn't make sense, so I had a look and indeed, the recipe JSON seems to show a standard "here's a grid of inputs, and here's the output", so I presume it should have been consumed.
...and now I've done a little testing; still in Survival, used /give to give myself lots of ingredients, and every time I craft the refinery I get the canisters back. However, the canisters I get back are stacking fine now, so I suppose that fits with the "sooner or later" of the original report.
Possibly fixed in version 0.8.0 by dcb6a49. Old empty canisters can be converted into the new item by placing them in a crafting grid.
I can confirm this bug also happens on the 1.14.4 latest version (0.6.13+49) as well. (Do note that I'm playing ATM4, but I've double checked to make sure this is the latest mod version) https://www.youtube.com/watch?v=SBKcI78t138
Still have no idea why this happens. It almost seems like newly emptied canisters are still retaining NBT on the server side, but I don't know how. Trying to use the /sl_nbt item
command on unruly canisters will just report "no NBT on item", but strangely it also fixes them in the process, allowing stacks to be merged.
If anyone wants to take a look at this, I recommend looking at these classes:
net.silentchaos512.mechanisms.block.AbstractFluidMachineTileEntity
(and the classes that inherit from it)net.silentchaos512.mechanisms.item.CanisterItem