Helfima / helmod

Factorio Mod
149 stars 64 forks source link

A linked block set to ingredient input doesn't see other blocks' outputs #514

Open Helfima opened 3 months ago

Helfima commented 3 months ago

source: https://mods.factorio.com/mod/helmod/discussion/65f0a2aa611a7e491d2258c5

The above is the link to my stream where the issue happened. What I am trying to do is "consume" the stone produced by block A, by using block B in ingredient mode, and linked. It SHOULD see the 1.5 stone that the other block is producing, and then set its own ingredient input to match that 1.5. However, it doesn't see anything at all. I tried the block being on the same level "level 1", as well as making the block B a sub-block under block A, at "level 2". Neither way worked.

Helfima commented 3 months ago

need test to confirm fix image v1.0.7

ph-gaming commented 3 months ago

I seem to have similar problems. Please see the attachment below.

Using Linked Block

The bottom product block is configured to produce creosote (the brown liquid), however it doesn't linked properly to cover the 66.67 needed. helmod-line-vew-linked

For the creosote product block, it's configured to use input ingredient, since the two by-products of the main recipe can both be converted to creosote - a diamond shape dependency from creosote to tar (the green liquid).
helmod-block-vew-linked

Using Unlinked Block

So I tried to unlink the block and manually configure the input tar (green liquid) amount such that the creosote output match the parent product line requirement. helmod-block-vew-unlinked

However, in the parent product line view, this block produces at 0. When I click the green liquid icon to manually set the amount in the product line view, the pop-up window is empty without an input box helmod-line-vew-unlinked

The game is on Py mod pack with Helmod 1.0.7. The recipe used in the report is Simple circuit board.

ph-gaming commented 3 months ago

And it seems link and unlink a sub block corrupts the memory. When unlink a block, and manually change the output, a different block (happens to be the first block) output will be changed instead.