Blood Magic

Blood Magic

90M Downloads

Mod Interaction - arcane pedestal corrupts TE satchel, sometimes results in crash

quietust opened this issue ยท 5 comments

commented

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:

  1. Place an Arcane Pedestal
  2. Make a Thermal Expansion Satchel, enchant it, and place some items in it
  3. Place the satchel on the pedestal
  4. Remove the satchel from the pedestal
  5. Attempt to open the satchel

Crash dump, if relevant: http://pastebin.com/aBN3dxXk

commented

Did some testing. It appears that the Arcane Pedestal completely removes the NBT data on ItemStacks. The Arcane Plinth, however, retains the data correctly. This will happen to all and any items. Looking into a fix.

Edit: And now I'm magically unable to reproduce without making any changes.

pls

commented

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.

commented

By comparison, Thaumcraft's Arcane Pedestals, which work mostly the same way, do not exhibit this issue.

commented

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.

commented

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.