Applied Energistics 2

Applied Energistics 2

137M Downloads

Interface and Storage Bus interaction problem

CollinJ opened this issue ยท 9 comments

commented

In the wiki it states that:

if you you configure your interface to explicilty[sic] provide specific materials, the storage bus will behave as if the interface was a standard chest, disabling this advanced feature.

This interaction doesn't work when an interface on the same network as the storage bus wants to keep items stocked. Normally, an interface would pull from a chest a storage bus is attached to. But if the chest is an interface, nothing will happen.

For a visual description please see this image album: http://imgur.com/a/BXbZB

commented

As far as I can tell, your system only has 64 grass blocks in it. The interface on the right is trying to stock all 64, and does have all 64 in it. The interface on the left is trying to stock 1, but the interface on the right already has all 64; and they are probably the same priority so they can't steal from each other.

I also don't get the intent behind the system. What are you trying to do?

commented

I don't think that's the case because changing the priority doesn't affect the system. Also, the left and right interfaces are on different networks. In any case, the storage bus shouldn't care whether it's attached to a chest or an interface set to keep items stocked. The subnetwork shouldn't have a say as to whether or not to 'let' the supernetwork take an item.

The more complicated system is hard to explain: I have an interface attached to a molecular assembler with a pattern to craft BlockA. It's also set to keep 64 BlockA stocked, and has a crafting card, so it will use itself to craft. These stocked items aren't visible from the network, so I attach a storage bus the to the interface. Now I have 64 of BlockA always stocked, and will craft more if it ever goes below 64. All of this works perfectly. The problem arises when I want to have those items available for a machine. Normally I would have an interface set to keep 1 BlockA stocked, and the machine will pull from the interface. However, this machine interface is unable to 'pull' the from interface I use for crafting+stocking.
I did notice that I can work around this by have the machine's interface have a crafting card. That way it will completely ignore the already stocked items and craft enough BlockA for itself. However this is not an ideal solution because it takes up the single card slot of my interface.

commented

You said they were on the same network. If it is on a proper subnet, then the storage bus should be able to pull. If they are the same network, then the interface might be trying to stock from itself and causing issues. Make sure you are using a quartz cable to separate the networks and only transfer power.

From my experience, if machines are able to craft from crafting cards, then they have to be on the same network as the crafting interfaces; meaning your system is all 1 network; or at least your machines are on that sub-net and are playing priority issues again.

EDIT: actually, if it is a sub-net and the machines are on the network with the crafting interface, then they are not on the network with the Storage Bus (can't see those items, but do see the recipe to craft them).

You can get past this with an export bus and level emitter, but that's not as elegant as the solution you came up with.

commented

Sorry, I was a bit unclear initially. In the images, the network on the right is completely disconnected from the network on the left.

For the real case, it's odd because the interface next to the molecular assembler does the crafting+stocking of the items. However, that network cannot see items that are stocked in the interface, so my terminal would say there are 0 items. Notice in the images the network on the right says there are 0 grass blocks even though the interface it is directly attached to does contain 64 grass blocks.

Edit: The problem occurs whether theres a subnet or not, in the real case I have a subnet that the original network is attached to via a storagebus+interface so it has 'access but not crafting' access to the contents of my interface that keeps things stocked.

I'd make a video or attach a world download but I'm comfortable with just using a crafting card. Thanks for the help

commented

In this case, the interface is literally a 9 slot chest with a special, smart export bus on it to keep it stocked at a certain level.

The left network has the storage bus connected to this chest and thus can see its contents.

The right network is just exporting to the chest. The network has no idea what is in the chest besides the fact that it isn't accepting any more of that item.

I plan on playing with this myself after a good night of rest. I think you might be able to easily solve your issue by having storage buses on both networks, but it's also 1:30 am and I've had a long day.

commented

Ok, I got it working. Here is a 2-D network example with annotations. http://imgur.com/XVchQuU

Interface A is set to keep a stack of a resource crafted on the red subnet. In this specific case, I using FTB Infinity Evolved Skyblock (in a creative test world) and tested with 4 Broken Cobalt Ore -> Cobalt Gravel Ore. The Blue Network can only see the Cobalt Gravel Ore stored in that interface. That interface has a crafting card in it.

Interface B has nothing in it/no items to stock. This allows the red subnet to see all of the storage available on the blue network (including the green SSD subnet at the top).

If I wanted to keep a stack of cobalt ingots on hand, then I would need to add to the blue network another interface with a crafting card and a storage bus on it (to see the stored items). It's 2 more channels for up to 9 stacks of various items, a much more efficient setup than I have done in the past.

There is still the minor confusion of asking an interface on the blue subnet to keep the crafted item in interface A stocked. As CollinJ showed, this doesn't work. I can't explain why the interface is unable to stock from the sub-net. However, it is not interfering with anything else as machines can still craft with the 64 stored in Interface A. I can even ask an interface on the blue network to automatically craft and stock something crafted with the item from Interface A, as I tested with cobalt ingots.

commented

this is probably an special interaction problem since storage bus and interfaces already share subnetworks behaviour. Not sure if this is intended or not.

commented

I mark this as an enhancement either clarify the wiki or fix this

commented

Duplicate of #927, #329