Helfima / helmod

Factorio Mod
149 stars 64 forks source link

Production line broken ? #511

Open Paraplegix opened 3 months ago

Paraplegix commented 3 months ago

Using helmod 1.0.4 coming from helmod 0.12.19

The production line have a weird behavior when having many sub block that share product/input between or in them.

I'm playing with Pyanodon, so I need quite a lot of blocks with many product and byproduct. I originally used production line as "group" of blocks, like all the plants in a line, all the animals in a line etc... And within this line there was many unlinked production block for most item I had unlocked. The block can either be as "By factory" or "Matrix solver". This is quite mandatory for me because I can quickly glance at how much of certain items I can make, and grossly estimate if I have enough or not, but I cannot do the same with current version.

For example, in my production line for plants, I have wood and moss. Moss is quite straight forward but wood require many things including moss at some point.

Here how to reproduce on a new game of helmod with full pyanodon suite.

  1. Starting with this moss recipe in "by factory" mode image And with this wood recipe matrix solver mode (further down the line, wood is required for two other things) image This gives me the following production line view image Which has 1800 wood and 240 moss, the same as inside the production blocks. (1 min base time)

  2. However if I add the recipe for tree seedlings in the wood block like so, requiring 257.2 moss:
    image It adds moss to the recipe, and now in the production line view the moss act like it's linked and should make 257.2 moss while it's not marked as linked (and shouldn' be able because it's in by factory) image Changing the production line "computing" mode to matrix solver keep the same values in the view, and by factory turn it to 0. (should you be able to do by factory in a Line/block that has sub blocks ?) The moss block itself doesn't change the values and inside it's still in By factory producing 240 moss.

  3. Now on the wood production I add the seed recipe which consume woods image As you can see the matrix solving computes correctly, the block now requires 267.1 moss, produce 1870 wood to ouptut 1800, great ! However the production line view now show 0 on every recipes.... image

I can manually request 1800 wood on the line, but the moss will still show as producing only what's needed for moss...

Paraplegix commented 3 months ago

Just tested with helmod v1.0.7. First step is now broken too ?

With both line set up the same, in the "main block"/"line" view as configured in step 1, the moss is now shown a 0 image I expect the total input/output inside block to be visible in the recap line of the main block (like it was before)

Step 2 and 3 are the same as before (still not what is expected?)

Helfima commented 1 month ago

can you try V1.0.10

Paraplegix commented 1 month ago

Quick update right now,

The production link / unlink seem to be fixed. But there are some step that need to be manually done to avoid some quack appearing

Starting with same setup as last step of last screenshot. (IE step 2 of first report) Moss block is configured inside as 240 image

The unlinked block is now shown as 240 so good ✅ image

But if I toggle linked block on moss, I still see the "1.1" factory?. image

In the moss block the block is still configured as 240. image

It seems there is new behaviors : Linked or unlinked, a block can still define its own output targets ? From memory, when a block was linked, the output where completely controlled by the other lines. Ie in there if moss was linked, it's output would be force set to 257. image On this screenshot, this shouldn't this not be 240 "*" with green background and forced to 257 and blue background? This indeed give some flexibility and is nice to have the option, I don't know what would be preferable, but could be confusing if not understood correctly? (and maybe i didn't understand either)

Other little problem that is probably easy to fix: If you have a block in compute by elements that is already linked, and you switch the block to compute by factory, the "link/unlink" button is disabled, but the block stay linked image

There are still is weird behavior with "looping" recipes (might be related to the amount defined etc): This block on matrix solver or compute by element "should" output 1800 wood (but it's in red background?) image

And in the block above it's shown as 0 image

But if I manually ask for the volume in the above block (see 1800 "*" wood), the number becomes correct. (this wasn't possible when i tested with version 1.0.4/1.0.7 i think) image

You do need to have 1800 setup in both block. If I remove the 1800 from the sub block and keeping it in the top block, it goes back to nothing image

But with the same setting if i remove the last product (tree seed) that make the recipe "looping", the number becomes correct without having the 1800 defined inside de sub block image Edit: The screenshot above has the sublock "linked" from the top block but appear as unlinked when viewing the block itself. I'll create another issue for that

I've tried replicating the problem by adding a top recipe on the top block that required 1800 wood input, but it was not showing the correct number either.

Paraplegix commented 1 month ago

Et question à part, tu préfères des bugs report en français ou anglais ?

Helfima commented 1 month ago

non ca ira, c'est plus du temps qu'il me faudrait :) globalement je corrige au fur et à mesure. la solution du problème hiérarchique est un vrai casse tête, entre les valeurs définies ou pas ect... ce qui faut bien comprendre c'est que dès qu'on met une valeur en input dans le block lié ou pas ca défini la valeur de base, en gros tu défini ta macro recette (le block) le block étant considéré comme une recette dans son block parent. alors parfois faut bidouiller pour ajuster les valeurs. moi je multiplie/divise souvent mes inputs pour ajuster mes calculs.