Refined Storage

Refined Storage

77M Downloads

[1.10.2] Immersive Engineering silos

SlimF opened this issue ยท 8 comments

commented

Issue description:

When a silo is connected to the system via "External Storage" only 65 items are shown in the grid and you can't take more than 4 at a time. Second bug is that if you connect a second silo to the system, the items from both silos are shown, but you can only take items from one of the silos (again, not more than 4 items at a time)

Steps to reproduce:

  1. Place a controller (can be creative too) and a grid.
  2. Create two Immersive Engineering silos and fill them with more than 65 of whatever item.
  3. Connect one of the silos with an "External Storage" and check what's shown in the grid, try to take a stack.
  4. Connect the second silo and again check the grid and try to take items from both silos, you won't be able to take anything from one of them.

Version (Make sure you are on the latest version before reporting):

  • Minecraft: 1.10.2
  • Forge: 12.18.3.2185
  • Refined Storage: 1.2.21
  • Server[yes/no]: No
commented

Part of this is due to bad code in the silo's IItemhandler (I've fixed most (all?) of that, I'll push it soon), part is probably due to expectations of RS's caching system and part is just due to how things work:
The silo has 2 slots in code, one for input and one for output. The first slot is always empty (Stack of 1 in the current version, that is causing the 65). The second slot is for output, it contains up to a full stack of the stored item (all stored items if there is less than one stack). This causes external systems to see no more than one stack of the stored item.
The limited output is our (IE's) fault, I fixed that.
Connecting more than one silo to the network: This is probably on RS's side, may be related to some sort of caching. I've seen the same thing happen with a single silo: Put in 32 something into the silo using RS (shows 64 in RS), put in another 64 (shows 96, should be 64 since the silo shows no more than 64). Then pull out a stack of that something. The system will not show the remaining 32 something. Breaking the connection from the controller to the ext. storage (not the ext. storage itself) fixes this.

I glanced over the code for external storage and I don't see a way to make all stored items visible from IE's side without either making gigantic ItemStack's or adding a lot of slots. The silo currently isn't accessible using the API, but we can make it accessible if you need that (you probably will if you add support for it).

commented

Personally I don't want all the items shown. I actually quite like that my silo only appears as one stack in RS. So long as I can pull a stack out at a time that's good.

My reasoning is if I have both RS and IE, then RS Silo's are for the 'junk' items like cobble or dirt. So long as I can get it a stack at a time I don't need to know how much there is because the answer is "Too Much" and if I really care I can go look at the Silo, which feels much more in keeping with IE.

Obviously others may feel differently, but I'd leave this one as 'won't fix' if it was me.

commented
commented

No, StorageDrawers doesn't do it. RS has explicit compatibility as far as I can see.

commented

Well Malte already replied, didn't he?
He addressed compat as far as was possible. Unless RS adds specific compat, that's how far we get.

commented

@BluSunrize maybe you might have a solution to this?

commented

Same goes to Thermal Expansion caches in 1.12
2017-07-31_13 29 12
2017-07-31_13 29 15

commented

Unfortunately, there is no easy way to fix this. Just the nature of the item handler.