Villagers aren't generating trades properly
belathus opened this issue ยท 3 comments
Minecraft Version
1.18
Immersive Engineering Version
8.2.2-154
Expected Behavior
Villagers should have offers that don't include "minecraft:air" in the first slot.
Actual Behavior
I know this issue is similar to #5252 but I'm playing on 1.18.2.
Looks like the villagers I have is failing on trades like this one:
Also, I grabbed the NBT data of the villager's trade and this is what I see:
{maxUses: 12 as int, buyB: {id: "minecraft:air" as string, Count: 1 as byte, tag: {Charged: 0 as byte}}, buy: {id: "minecraft:air" as string, Count: 1 as byte, tag: {Charged: 0 as byte}}, sell: {id: "minecraft:emerald" as string, Count: 1 as byte}, xp: 6 as int, uses: 0 as int, priceMultiplier: 0.05 as float, specialPrice: 0 as int, demand: 0 as int, rewardExp: 1 as byte}
I'm guessing it failed to translate the tag into an item? I thought it might've been because I have multiple mods that add rods, but the treated wood and steel rods are alone in their tag list.
Steps to reproduce
- spawn villager
- give villager work station like the Engineer's Crafting Table
- If the villager buys treated sticks, it shows as an empty slot for emeralds
Debug Crash Log
https://gist.github.com/belathus/3f29d14667f17962b13787d411578570
I'm also having this issue, here's an additional log that might help.
I want to note it's definitely a compatibility issue.(some other mod is playing around with something it shouldn't)
I started a fresh install with the same version of forge, IE and a few mods I thought would be the culprit, but the trades worked correctly and I experienced no "air" trades.
Edit:It's PneumaticCraft or Patchouli. Issue re-appeared in the fresh install after adding PneumaticrCaft.
It's likely a combination of mods that is breaking tags in some fashion.
As investigated by @desht in the linked issue, neither Pneumatricraft nor IE seem to be directly affecting eachother when uesd in an instance together.
Y'all are welcome to keep experiment, but I don't believe there's much that we can do from our end either.