Integrated Crafting

Integrated Crafting

18M Downloads

Recipe requires air IntegratedCrafting-1.16.5-1.0.13.jar

7eggert opened this issue · 30 comments

commented

When crafting a recipe where some slots aren't used (except for the last ones), the crafting algorithm does require air to be in the inventory or craftable.

2021-03-22_14 37 42

Also it does not always seem to see all items (I have a golden chest) and it does not usually work unless I select one of the item channels (instead of "All").

Downgrading to IntegratedCrafting-1.16.4-1.0.11.jar did help

AutoDropper-1.16.3-7.0.0.jar
Autofish-0.9.2-forge-mc1.16.4.jar
Basic-Nether-Ores-1.16.4.jar
Big-Buckets-1.16.4.jar
BowInfinityFix-1.16.4.jar
CTM-MC1.16.1-1.1.2.6.jar-
Chargers-1.16.4-3.0.2.4.jar
ChickenChunks-1.16.4-2.7.0.85-universal.jar
CodeChickenLib-1.16.4-3.5.0.401-universal.jar
ColossalChests-1.16.4-1.7.13.jar
CommonCapabilities-1.16.5-2.5.7.jar
CraftingCraft-1.16.4.jar
CyclopsCore-1.16.5-1.11.4.jar
EditSign-Forge-1.16.4-2.2.0.jar
EnderBags-1.16.4-6.3.1.jar
EnderStorage-1.16.4-2.7.0.161-universal.jar
EverlastingAbilities-1.16.5-1.7.1.jar
Excavator-1.8.2.jar
Flopper-1.16.4-1.0.6.jar
Futurepack-1.16.4-31.1.8176.jar
HarvestWithDispenser-3.0.1.jar
IntegratedCrafting-1.16.5-1.0.13.jar
IntegratedDynamics-1.16.5-1.6.1.jar
IntegratedTerminals-1.16.5-1.1.3.jar
IntegratedTunnels-1.16.5-1.7.0.jar
LargeFluidTank-16.1.6.jar
LavaClearView-1.16.2-1.1.0.jar
Mekanism-1.16.5-10.0.21.448.jar
MekanismAdditions-1.16.5-10.0.21.448.jar
MekanismGenerators-1.16.5-10.0.21.448.jar
MekanismTools-1.16.5-10.0.21.448.jar
NaturesCompass-1.16.5-1.8.6.jar
OptiFine_1.16.5_HD_U_G6.jar-
Placebo-1.16.4-4.4.1.jar
RepairChests-1.16.5-1.7.jar
ScalableCatsForce-2.13.4-build-2-with-library.jar
Simple-Magnets-1.16.4.jar
TipTheScales-1.16.5-3.0.0.11.jar
VillagersRespawn-1.16.5-1.36.0.3.jar
WorldEdit-CUI-FE3-1.16.5-3.0.9.jar
XaerosWorldMap_1.12.2_Forge_1.16.5.jar
Xaeros_Minimap_21.4.2_Forge_1.16.5.jar
advancedperipherals-0.3.6b.jar
alwaysawitherskull_1.16.5-1.3.jar
appliedenergistics2-8.2.0.jar
architectury-1.9.136-forge.jar
backpacked-1.7.0-1.16.3.jar
backpacker-1.1.0-1.16.3.jar
branders-spawnermod-1.16.4-1.7.11.jar
cc-tweaked-1.16.4-1.95.2.jar
chiselsandbits-0.3.4-RELEASE.jar
cloth-config-4.11.15-forge.jar
cofh_core-1.16.3-1.1.6.jar
collective-1.16.5-2.24.jar
compact-crafting-1.0.0-alpha.2.jar
compactmachines-4.0.0-beta.2.jar
configured-0.2.0-1.16.3.jar
corpse-1.16.5-1.0.2.jar
custom-crosshair-mod-v1.1.0-forge-mc1.16.5.jar
diamondglass-1.16.5-4.2.27.jar
ezzoom-1.16.4-1.1.1.jar
ferritecore-2.0.3-forge.jar
fixedanvilrepaircost_1.16.5-1.4.jar
ftb-gui-library-1604.1.1.26.jar
furniture-7.0.0-pre19-1.16.3.jar
goprone-1.16.4-1.3.5.jar
infinitetrading_1.16.5-1.4.jar
invtweaks-1.16.4-1.0.1.jar
ironchest-1.16.4-11.2.10.jar
ironshulkerboxes-1.16.4-5.1.11.jar
itemcollectors-1.0.11-mc1.16.5.jar
jei-1.16.5-7.6.1.75.jar
kubejs-1605.3.6-build.176-forge.jar
kubejs-mekanism-1604.1.1.6.jar
kubejs-thermal-1605.1.1.6.jar
light-overlay-5.8.0.jar
mcjtylib-1.16-5.0.19.jar
mobcatcher-3.2.jar
nametagtweaks_1.16.5-1.5.jar
performant-1.16.2-4-3.30m.jar
preciseblockplacing-1.0.6+1.16.5.jar
preview_OptiFine_1.16.5_HD_U_G8_pre8.jar
proxies-0.17.0.jar
rftoolsbase-1.16-2.0.10.jar
rftoolsbuilder-1.16-3.0.16.jar
rftoolscontrol-1.16-4.0.8.jar
rftoolsdim-1.16-7.0.7-beta.jar
rftoolspower-1.16-3.0.8.jar
rftoolsstorage-1.16-2.0.11.jar
rftoolsutility-1.16-3.0.22.jar
rhino-1.7.13-build.14.jar
shutupexperimentalsettings-1.0.3.jar
silent-gear-1.16.3-2.6.12.jar
silent-lib-1.16.3-4.9.6.jar
tesseract-1.0.18-mc1.16.4.jar
theoneprobe-1.16-3.0.7.jar
thermal_cultivation-1.16.3-1.1.6.jar
thermal_expansion-1.16.3-1.1.6.jar
thermal_foundation-1.16.3-1.1.6.jar
thermal_innovation-1.16.3-1.1.7.jar
thermal_locomotion-1.16.3-1.1.6.jar
trashcans-1.0.8-mc1.16.4.jar
worldedit-mod-7.2.4.jar

commented

Considering this fixed.

commented

That's weird. This should've been fixed already in recent ID versions.

Could you try re-creating your recipes via the ID logic programmer? Perhaps you created your recipes in an old ID version, which still had the bugged recipe variables.

Downgrading to IntegratedCrafting-1.16.4-1.0.11.jar did help

That surprises me, as no crafting code was changed since this version.

commented

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.

commented

Real life allowed me to try this today.
https://youtu.be/ku2XjmhjmTs

commented

I'll repeat my question:

Could you try re-creating your recipes via the ID logic programmer? Perhaps you created your recipes in an old ID version, which still had the bugged recipe variables.

It's possible that some bugged recipes you created in the old version are still present in your crafting interfaces.

commented

You're only recreating the main recipe, not the dependency recipes (which is where the problem occurs)

commented

I do re-create the recipe in the video. I will try with new terminals mod later.

commented

I did remove it now and also I updated to the latest version available on curseforge. It sometimes wants to use air, sometimes it fails correctly because of only having one plank.

https://youtu.be/-el-owP2iAo


Edit: When disconnecting the large chests (rftools, colossal chests), the error disappears. Same if I disconnect the machines and ore processing. Also Issue #58 does not happen if no ores are processed.

By re-connecting them, I get the same error back.


CommonCapabilities-1.16.5-2.6.0.jar
CyclopsCore-1.16.5-1.11.5.jar
IntegratedCrafting-1.16.5-1.0.13.jar
IntegratedDynamics-1.16.5-1.7.1.jar
IntegratedTerminals-1.16.5-1.2.2.jar
IntegratedTunnels-1.16.5-1.7.1.jar

AutoDropper-1.16.3-7.0.0.jar
Autofish-0.9.2-forge-mc1.16.4.jar
Basic-Nether-Ores-1.16.4.jar
Big-Buckets-1.16.4.jar
BowInfinityFix-1.16.4.jar
CapabilityProxy-1.16.5-2.1.9.jar
Chargers-1.16.4-3.0.2.4.jar
ChickenChunks-1.16.4-2.7.0.85-universal.jar
CodeChickenLib-1.16.4-3.5.0.401-universal.jar
ColossalChests-1.16.4-1.7.13.jar
CraftingCraft-1.16.4.jar
EditSign-Forge-1.16.4-2.2.0.jar
EnderBags-1.16.4-6.3.1.jar
EnderStorage-1.16.4-2.7.0.161-universal.jar
EverlastingAbilities-1.16.5-1.7.1.jar
Excavator-1.8.2.jar
Flopper-1.16.4-1.0.6.jar
Futurepack-1.16.4-31.1.8176.jar
HarvestWithDispenser-3.0.1.jar
LargeFluidTank-16.1.6.jar
LavaClearView-1.16.2-1.1.0.jar
Mekanism-1.16.5-10.0.21.448.jar
MekanismAdditions-1.16.5-10.0.21.448.jar
MekanismGenerators-1.16.5-10.0.21.448.jar
MekanismTools-1.16.5-10.0.21.448.jar
NaturesCompass-1.16.5-1.8.6.jar
Placebo-1.16.4-4.4.1.jar
RepairChests-1.16.5-1.7.jar
ScalableCatsForce-2.13.4-build-2-with-library.jar
Simple-Magnets-1.16.4.jar
TipTheScales-1.16.5-3.0.0.11.jar
VillagersRespawn-1.16.5-1.36.0.3.jar
WorldEdit-CUI-FE3-1.16.5-3.0.9.jar
XaerosWorldMap_1.12.2_Forge_1.16.5.jar
Xaeros_Minimap_21.4.2_Forge_1.16.5.jar
advancedperipherals-0.3.6b.jar
ae2extras-1.3-1.16.5.jar
alwaysawitherskull_1.16.5-1.3.jar
appliedenergistics2-8.2.0.jar
architectury-1.9.136-forge.jar
backpacked-1.7.0-1.16.3.jar
backpacker-1.1.0-1.16.3.jar
branders-spawnermod-1.16.4-1.7.11.jar
cc-tweaked-1.16.4-1.95.2.jar
chiselsandbits-0.3.4-RELEASE.jar
cloth-config-4.11.15-forge.jar
cofh_core-1.16.4-1.2.1.jar
collective-1.16.5-2.24.jar
compact-crafting-1.0.0-alpha.2.jar
compactmachines-4.0.0-beta.2.jar
configured-0.2.0-1.16.3.jar
corpse-1.16.5-1.0.2.jar
custom-crosshair-mod-v1.1.0-forge-mc1.16.5.jar
diamondglass-1.16.5-4.2.27.jar
ezzoom-1.16.4-1.1.1.jar
ferritecore-2.0.3-forge.jar
fixedanvilrepaircost_1.16.5-1.4.jar
ftb-gui-library-1604.1.1.26.jar
furniture-7.0.0-pre19-1.16.3.jar
goprone-1.16.4-1.3.5.jar
infinitetrading_1.16.5-1.4.jar
invtweaks-1.16.4-1.0.1.jar
ironchest-1.16.4-11.2.10.jar
ironshulkerboxes-1.16.4-5.1.11.jar
itemcollectors-1.0.11-mc1.16.5.jar
jei-1.16.5-7.6.1.75.jar
kubejs-1605.3.6-build.176-forge.jar
kubejs-mekanism-1604.1.1.6.jar
kubejs-thermal-1605.1.1.6.jar
light-overlay-5.8.0.jar
mcjtylib-1.16-5.0.19.jar
mobcatcher-3.2.jar
nametagtweaks_1.16.5-1.5.jar
performant-1.16.2-4-3.30m.jar
preciseblockplacing-1.0.6+1.16.5.jar
preview_OptiFine_1.16.5_HD_U_G8_pre8.jar
proxies-0.17.0.jar
rftoolsbase-1.16-2.0.10.jar
rftoolsbuilder-1.16-3.0.16.jar
rftoolscontrol-1.16-4.0.8.jar
rftoolsdim-1.16-7.0.7-beta.jar
rftoolspower-1.16-3.0.8.jar
rftoolsstorage-1.16-2.0.11.jar
rftoolsutility-1.16-3.0.22.jar
rhino-1.7.13-build.14.jar
shutupexperimentalsettings-1.0.3.jar
silent-lib-1.16.3-4.9.6.jar-
tesseract-1.0.18-mc1.16.4.jar
theoneprobe-1.16-3.0.7.jar
thermal_cultivation-1.16.4-1.2.0.jar
thermal_expansion-1.16.4-1.2.0.jar
thermal_foundation-1.16.4-1.2.0.jar
thermal_innovation-1.16.4-1.2.0.jar
thermal_locomotion-1.16.4-1.2.0.jar
trashcans-1.0.8-mc1.16.4.jar
worldedit-mod-7.2.4.jar

Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
commented

(It's hard to reproduce in a completely new world because it needs a lot of machines being active to show. I'll try but meanwhile I upload it here:)
↑Disregard this, I was commenting on the wrong bug. But still I got no free time today, I shouldn't have time to comment now.

https://mega.nz/file/st5CCCrQ#lQ-31m_wVAp25KRCrdqOeoPLGzGAGrCBhWMdl3BNWIA

https://mega.nz/file/khwmDQAR#S3Kf4HvSr-VdR2VxM09_S5XYF2dZKf4k9O-qlGT6Zmg

commented

@7eggert It's very likely to be related to old recipes still. Could you try reproducing the problem in a new world, without any other mods installed?
If you can reproduce the problem in this new world, please send me your world, so I can properly debug this, because there's not much I can do about this atm.

commented

@TheOneTwelfth Thanks for your comment, this input definitely helps!

From what you're saying, and the fact that downgrading to 1.0.11 solves the problem, 0fbbc3c definitely makes sense to cause the issue.

Note to self: try to make isObservationForcedPending a proper cross-thread semaphore, as this may currently cause sub-jobs to be empty.

commented

Can confirm this.

In this example, I have way more osmium stored than needed for the recipe, and the crafting plan still comes out as invalid. There is also air required for the recipe.

This issue is not consistent, and does not reproduce all the time, however, it gets more frequent the bigger the network gets.

I'm not entirely sure, but it seems to be linked with the speed at which the network contents change. For example, with my digital miner active (which floods the network with items very rapidly), the issue is present with most recipes I have, even those that are just straight shapeless input-output.

I've started my world with Integrated Dynamics 1.7.2, so the recipe bug you mentioned doesn't seem to be the case.

EDIT:

Downgrading to IntegratedCrafting-1.16.4-1.0.11.jar did help

Oddly enough, downgrading to 1.0.11 really does eliminate the bug. Maybe 0fbbc3c is the culprit?

commented

but it seems to be linked with the speed at which the network contents change. For example, with my digital miner active (which floods the network with items very rapidly), the issue is present with most recipes I have, even those that are just straight shapeless input-output.

agrees with my experience

commented

confirmed its not because of recipe that contains empty air, made a chain of recipe that does not have empty slots at all and checked when it shows up the crafting plan, no empty air lines exist, but still says missing storage ingredients while i have more than enough to craft everything
just seems like the network can't find the mats

commented

This should be fixed in the latest dev build.

If anyone wants to test to confirm, you'll need the latest dev builds of both Crafting and Terminals.

commented

This should be fixed in the latest dev build.

If anyone wants to test to confirm, you'll need the latest dev builds of both Crafting and Terminals.

Can confirm this is fixed, however, now the crafting plan takes much longer (like 5-6x) to calculate.

commented

@TheOneTwelfth Thanks for checking. I anticipated that may happen...

I just did some tweaks in Terminals. Could you retry with its latest dev build?
If it doesn't work properly yet, there's a new config option (craftingPlannerRetryTimeout) that you may be able to use to optimize things.

commented

@TheOneTwelfth Thanks for checking. I anticipated that may happen...

I just did some tweaks in Terminals. Could you retry with its latest dev build?
If it doesn't work properly yet, there's a new config option (craftingPlannerRetryTimeout) that you may be able to use to optimize things.

@rubensworks Thanks for the reply, but I think that just made the situation worse. I've installed a latest dev build and played around with craftingPlannerRetryTimeout, but I couldn't get a single plan to calculate, just endless waiting.

commented

@TheOneTwelfth I just changed the granularity of craftingPlannerRetryTimeout to be in terms of millis instead of ticks (defaults to 25 now), so that give you better controls.
With the default config value, this should now be exactly the same as it was before.
Please let me know if this better, and if you find a better value (probably lower), please let me know as well.

commented

@rubensworks Crafting plans are still stuck. Changing the setting doesn't help.

commented

@TheOneTwelfth and does reverting to the older dev build of terminals make things work again? (Logic-wise, things should be identical to the latest version though)

commented

I now did download the dev builds of Integrated($Everything) and CommonCapabilities and tested it on my old world (with a lot of recipes) and in a fresh world.
In a fresh world, I could craft a stick.
In my old world I had a problem with FuturePack. It did result in the error below. When FuturePack is removed, I can't craft a stick even if I renew the recipe and put a stack of oak logs into the colossal chest.

java.lang.ClassCastException: class org.cyclops.integratedtunnels.part.PartStateWorld cannot be cast to class org.cyclops.integratedtunnels.core.part.PartStatePositionedAddon (org.cyclops.integratedtunnels.part
.PartStateWorld and org.cyclops.integratedtunnels.core.part.PartStatePositionedAddon are in unnamed module of loader cpw.mods.modlauncher.TransformingClassLoader @230232b0)
at org.cyclops.integratedtunnels.part.aspect.IChanneledTarget.getPartState(IChanneledTarget.java:57) ~[integratedtunnels:1.8.0]

CommonCapabilities-1.16.5-2.7.0-22.jar
Futurepack-1.16.4-31.1.8226.jar
IntegratedCrafting-1.16.5-1.0.14-22.jar
IntegratedDynamics-1.16.5-1.8.0-78.jar
IntegratedTerminals-1.16.5-1.2.3-45.jar
IntegratedTunnels-1.16.5-1.8.0-53.jar
(all the other mods are omitted here)

commented

@7eggert That looks like an unrelated (but valid) error. Could you open a separate issue for this?

commented

not sure if this will help but this is what happens if i try to craft something too complicated on a server
image

versions:
IntegratedDynamics-1.16.5-1.7.2
IntegratedTerminals-1.16.5-1.2.2
IntegratedCrafting-1.16.5-1.0.13
IntegratedTunnels-1.16.5-1.7.1
CommonCapabilities-1.16.5-2.6.0
CyclopsCore-1.16.5-1.11.5

commented

@rubensworks
Sorry for the delayed reply.
I've just downgraded to Crafting 1.0.14-22 and Terminals 1.2.3-44, and the crafting plan has been calculating for about 10 minutes, and still going. So, I guess, the problem persists even with the slightly older dev build.
Probably, it's because my network got more complex.

commented

@TheOneTwelfth Thanks for checking.
Looks like I'll have to figure out an alternative solution.

Note to self: try to pause observers when calculating plans, probably using mutexes or barriers.

commented

@TheOneTwelfth Could you try again with the following dev builds? https://www.dropbox.com/sh/nin35rynmlp6gqd/AAD_p8Dl1-ztSCvuVQ1_COX3a?dl=0 (Dropbox because Maven is experiencing some issues)

(You may have to downgrade ITerminals, but probably not)

Dropbox
Shared with Dropbox
commented

@rubensworks
I've installed both builds, and now my world loading gets stuck right before view distance changing. Waited for around 30 minutes to no avail.

[Server thread/INFO] [ObserverLib/]: Load CachedWorldData 'lightnetwork' for world minecraft:overworld
[Server thread/INFO] [ObserverLib/]: Loading of 'lightnetwork' for world minecraft:overworld finished.
[Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer/]: Changing view distance to 8, from 10  # this line should be next, but it never prints

Everything works fine with last stable IntegratedCrafting (and the ID build you've provided).
Full world startup log: https://gist.github.com/TheOneTwelfth/a3f1427ac6843d53375b0388bddd08b8

commented

@TheOneTwelfth Thanks for checking again.
Do you by any chance have any crafting writers present that continuously craft stuff? Because that's the only reason I can think of why this might hapen.

Could you share a zip of your world (+mods, configs, ...) with me? That might be easier for debugging, as it looks like this one will take much more effort for fixing...

Note to self: setup some crafting writers myself, as these calculate jobs synchronously.

Multithreading can be hard...

commented

@TheOneTwelfth I wasn't able to reproduce your problem, so I'm definitely going to need that world.

I've pushes a new dev build of Crafting (for which you'll also need the latest Dynamics dev build).
All dev builds are available again, but in a different place (see badge in README).

EDIT: anyone else following this thread that can share a reproducible setup, please let me know.