Applied Energistics 2 storage bus Interaction
Shatokan0 opened this issue ยท 4 comments
**** Issue type:
- mod interaction
Short description:
Each storage bus attached to a colossal chest will show the inventory to a network separately, 2 iron in the chest will show as 4 iron while 2 bus's are attached and 6 iron with 3 bus's attached etc.
Steps to reproduce the problem:
multiple storage buses on a chest using 1 applied energistics 2 network
- ...
Expected behavior:
only seeing what's in the chest accurately
Versions:
- This mod: 1.6.11
- Minecraft: 1.12.2
- Forge: 14.23.5.2768
Log file:
A related bug is McJtyMods/RFTools#1583. This could be either our fault or theirs. On their side, they need to not add two IItemHandler
s to their network if one equals()
the other. On our side, we need to make sure equals()
and hashCode()
indicate equality for all IItemHandler
s that refer to the same colossal chest.
Vanilla double chests handle this correctly, so we should test to see if AE2 does their end correctly by hooking a storage bus to both blocks of a double chest.
So this is broken everywhere. In AE2, they're not doing the necessary check, as you can confirm by hooking two storage buses up to both blocks of a vanilla double chest. In Colossal Chests, we're creating different capabilities for each interface block instead of just using the ones from the core, as you can confirm by using an RFTools Storage Scanner near a colossal chest with interfaces. In CyclopsCore, we're exposing different SidedInvWrapper
s for every side, even if every side just accesses the same inventory.
For the part that's AE2's fault, you (@Shatokan0) should open a bug on their tracker about this, but explain/demonstrate the problem with vanilla double chests rather than mentioning Colossal Chests.
For the part that's this mod's fault, I submitted PR #119 to fix it. It will make this bug not happen with RFTools' storage scanner, so it's worth doing even if AE2 doesn't care about this.
For the part that's CyclopsCore's fault, I can't think of any way to fix it that isn't rather messy/complicated, so I'm not going to start trying to do that unless/until AE2 fixes their end, since our fix for that won't matter at all without their fix.