Mod Interaction - arcane pedestal corrupts TE satchel, sometimes results in crash
quietust opened this issue ยท 5 comments
FTB Infinity 1.10.1
- Minecraft 1.7.10
- Forge 10.13.4.1448
- Blood Magic 1.3.3-11
- Thermal Expansion 4.0.3B1-218
Placing a Resonant Satchel on an Arcane Pedestal has a tendency to destroy the item's contents and revert it to a brand new, unenchanted, empty container. This seems to happen more reliably if I remove it to a different inventory slot from which I placed it, and the effect is more noticeable if the satchel is enchanted (since it stops glowing once being returned to your inventory). Additionally, opening the resulting satchel has a tendency to crash the game with an IndexOutOfBoundsException within net.minecraft.inventory.Container.func_75139_a, likely an indirect result of the way the item was corrupted.
Steps to reproduce:
- Place an Arcane Pedestal
- Make a Thermal Expansion Satchel, enchant it, and place some items in it
- Place the satchel on the pedestal
- Remove the satchel from the pedestal
- Attempt to open the satchel
Crash dump, if relevant: http://pastebin.com/aBN3dxXk
Because the 1.7.10 build of BM is no longer being worked on, we are clearing out non-critical issues for that version. Please let us know if the issue is persistent in the 1.8 releases.
By comparison, Thaumcraft's Arcane Pedestals, which work mostly the same way, do not exhibit this issue.
Just because a block functions similarly to another doesn't mean it's the same. I'll take a look at it once I have some more free time.
My point was that Thaumcraft might be doing the inventory->pedestal transfer in a different way. Of course, I forgot that Thaumcraft is one of the closed-source Minecraft mods, so exactly how it works is unknown.
Looking at the pedestal code, it looks like it's always cloning the inventory item, placing the copy on the pedestal, then decrementing the stack size of the item in your inventory. My guess is that this doesn't work very well with containers - perhaps special logic for stack size 1 (e.g. move the item instead of copying/deleting it) would work better.