reobf / Programmable-Hatches-Mod

An addon for GTNH modpack(2.5.1+)
MIT License
83 stars 3 forks source link

Advanced assembly line bug #153

Closed evgengoldwar closed 1 month ago

evgengoldwar commented 1 month ago

Image

Image

Image

Advanced assembly line doesn't want to do recipes through priority filtering stocking bus. Infinity coil example As I understand it items where there are the same items in different slots are not made even if they are renamed

reobf commented 1 month ago

Cannot reproduce, need more details.

Image Image

Image

Image

Image
reobf commented 1 month ago

tested on both 2.7.0&2.7.2

reobf commented 1 month ago

What about the fluid input? How do you input the fluid? Normal Hatch/ME Hatch?

reobf commented 1 month ago

https://github.com/user-attachments/assets/0eda5b07-128d-4ad5-8c15-a4ed11fa5efc

reobf commented 1 month ago

Or you can consider uploading your game savefile for easier check for what's wrong.

evgengoldwar commented 1 month ago

What about the fluid input? How do you input the fluid? Normal Hatch/ME Hatch?

Remote input hatch

reobf commented 1 month ago

Did you check its GUI to make sure that the fluid is on the first slot?

reobf commented 1 month ago

Hold on I will retry with remote hatch.

evgengoldwar commented 1 month ago

Did you check its GUI to make sure that the fluid is on the first slot?

It works on other recipes, but it won't work on this

reobf commented 1 month ago

Did you check its GUI to make sure that the fluid is on the first slot?

It works on other recipes, but it won't work on this

Even those with same items in different slots? like rocket plates?

reobf commented 1 month ago

by the way, your pack version?

reobf commented 1 month ago

Are you sure that you have the valid datastick? I mean, if you upgrade the pack, the recipe might vary. So the old datasticks will be invalid.

evgengoldwar commented 1 month ago

Are you sure that you have the valid datastick? I mean, if you upgrade the pack, the recipe might vary. So the old datasticks will be invalid.

I didn't change anything other than changing the normal assembly line to advanced

evgengoldwar commented 1 month ago

Did you check its GUI to make sure that the fluid is on the first slot?

It works on other recipes, but it won't work on this

Even those with same items in different slots? like rocket plates?

Checked the rocket plates and everything was fine but the infinity coils don't craft

reobf commented 1 month ago

No clues... Still cannot reproduce. Can you upload your game savefile?

evgengoldwar commented 1 month ago

No clues... Still cannot reproduce. Can you upload your game savefile?

https://drive.google.com/file/d/1fUTutSJmVSopDvO2yCSw2KOyoXDpVY4e/view?usp=sharing

Here's a world and twist mod to make the save playable.

use cofh tpx nickname 180 if spawn in Overworld

reobf commented 1 month ago

thanks a lot I will investigate.

reobf commented 1 month ago

You packed a TST v0.5.11 in that zip archive, which should be for GTNH2.6.1? Or it's just a build from your private fork?

Nevermind, it loads.

evgengoldwar commented 1 month ago

You packed a TST v0.5.11 in that zip archive, which should be for GTNH2.6.1? Or it's just a build from your private fork?

Nevermind, it loads.

twist for 2 7 1 +

reobf commented 1 month ago

After painful debugging, the truth turns out that: Everything is fine except your Energy Hatch is not enough for that Coil. It should be a "insufficient power" check result, but AAL's horrible code overwrite it with "no recipe".

MTE_AAL.java
for (ItemStack stack : tDataStickList) {
            GTRecipe.RecipeAssemblyLine recipe = findRecipe(stack);
            if (recipe == null) {
                result = CheckRecipeResultRegistry.NO_RECIPE;
             //result is "insufficient power"? AAL does not care! Just overwrite it.
                continue;
            }
            if (recipe.mEUt > inputVoltage) {
                result = CheckRecipeResultRegistry.insufficientPower(recipe.mEUt);
                continue;
            }
//more job
}

As you can see, if current check fails with "insufficient power", the check of next datastick will 100% overwrite it with "no recipe". Unless the Inf Coil datastick is the only one/the last one, AAL will always say "no recipe"(even if it should be "insufficient power").

Just blame AAL's **** code.

reobf commented 1 month ago

The reason why it breaks when you switch from AL to AAL is AAL limit recipe Voltage to the lowest tier Energy Hatch, while AL can do a higher tier recipe with 2 Energy Hatches.

evgengoldwar commented 1 month ago

The reason why it breaks when you switch from AL to AAL is AAL limit recipe Voltage to the lowest tier Energy Hatch, while AL can do a higher tier recipe with 2 Energy Hatches.

Yeah got it I completely forgot he had that mechanic, sorry for wasting your time (