Applied Energistics: don't export items if not enough of them

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here

AndyMASH

New Member
Jul 29, 2019
206
0
0
If I put down an interface and a chest next to it, with a recipe in the interface, the ME Network will export some of the items from that recipe in the chest even if it hasn't got all the items required for that reipe. I want it to export the items ONLY when it has all of them. I'm playng Resonant Rise 1.6.4
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
If I put down an interface and a chest next to it, with a recipe in the interface, the ME Network will export some of the items from that recipe in the chest even if it hasn't got all the items required for that reipe. I want it to export the items ONLY when it has all of them. I'm playng Resonant Rise 1.6.4
This behaviours really really sucks. Specially if you are trying to automate things like EIO Alloy Smelter or TE Induction Smelters. Part of the recipe gets exported while the other half gets crafted/is not available, which results in the machine is unavailable for further use.

It really baffles me why it was programmed this way, it would seem obvious to wait until all items are available. Sadly there is no way to fix it if you are using recipes with different kinds of items in them. In cases with multiples of the same kind of items the GT Advanced Regulator can be used to only input the item into the machine once it has the desired stacksize.
 

ChemE

New Member
Jul 29, 2019
371
0
0
It looks like the pack has Steve's Factory Manager. You could have the interface export the ingredients and use SFM to pull a complete set and only a complete set into the chest for further processing. This still wouldn't take care of on demand crafting though, only those scenarios in which you want to keep a certain number of items in your system.
 

GreenZombie

New Member
Jul 29, 2019
2,402
-1
0
You *could* create an array of level emitters for each item in the recipe. Each level emitter would go through a not gate, before you merge the redstone such that, if any item is missing, the resulting redstone signal is on.

That signal can then be used to disable the export bus such that it can only export reagents if/when all are present.

--
That said, has this issue been posted on the AE2 github? (https://github.com/AppliedEnergistics/Applied-Energistics-2)
 
  • Like
Reactions: yotus

AndyMASH

New Member
Jul 29, 2019
206
0
0
You *could* create an array of level emitters for each item in the recipe. Each level emitter would go through a not gate, before you merge the redstone such that, if any item is missing, the resulting redstone signal is on.

That signal can then be used to disable the export bus such that it can only export reagents if/when all are present.

--
That said, has this issue been posted on the AE2 github? (https://github.com/AppliedEnergistics/Applied-Energistics-2)

Thank you for the reply (and also to everyone else) ! That is a very good question, unfortunately I'm using AE (1) so I would not know if this issue has been fixed or not and therefore cannot do anything about it
 

rdemay91

New Member
Jul 29, 2019
266
0
0
Ae you have to have all the materials or way to produce matiels ie cobble to pulverize into sand to then cook to glass. All recipes needed to do that if say not enough sand to make 100 glass but plenty of cobble. Ae would just sit there waiting
 

ratchet freak

Well-Known Member
Nov 11, 2012
1,198
243
79
That's just not true, unless they've made serious changes in AE2 that I don't know of
misunderstanding here:

You can't start crafting unless it can finish

however if there are multple steps one multi-ingredient processing substep can be started while it is still waiting on one of the ingredients
 

rdemay91

New Member
Jul 29, 2019
266
0
0
misunderstanding here:

You can't start crafting unless it can finish

however if there are multple steps one multi-ingredient processing substep can be started while it is still waiting on one of the ingredients
It is intelligent enough to calculate the exact number it needs and if its missing how many you still need
 

Omegatron

Well-Known Member
Mar 29, 2013
544
371
78
England
It is intelligent enough to calculate the exact number it needs and if its missing how many you still need
Right, but suppose there is a recipe that requires 3 of item A to be put into a specific machine. The system only has one of item A on hand but can craft more of them, it would put the first item A into the machine and put the others in once they finish crafting. The question is how to make it wait until all three of item A are available before it puts them in the machine.
 

rdemay91

New Member
Jul 29, 2019
266
0
0
Right, but suppose there is a recipe that requires 3 of item A to be put into a specific machine. The system only has one of item A on hand but can craft more of them, it would put the first item A into the machine and put the others in once they finish crafting. The question is how to make it wait until all three of item A are available before it puts them in the machine.
Set the recipe to only put the 3 items in as in it takes three of these to make 3 of this instead of a 1 to 1 ratio that most people use. Such as 4 wood makes 16 planks. But you only have 3 wood. Then it shouldnt make any planks until there is more wood instead of the normal 1 wood makes 4 planks. That should work i think.
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
Right, but suppose there is a recipe that requires 3 of item A to be put into a specific machine. The system only has one of item A on hand but can craft more of them, it would put the first item A into the machine and put the others in once they finish crafting. The question is how to make it wait until all three of item A are available before it puts them in the machine.

This thread is getting very messy as people are criss cross talking about AE1 and AE2 functionalities. What you are quoting was about AE2 I believe. And think you are talking about AE1.

Set the recipe to only put the 3 items in as in it takes three of these to make 3 of this instead of a 1 to 1 ratio that most people use. Such as 4 wood makes 16 planks. But you only have 3 wood. Then it shouldnt make any planks until there is more wood instead of the normal 1 wood makes 4 planks. That should work i think.
This doesnt really make much sense. We are talking about the problem with putting a pattern with 3xA=B into a ME interface. This will in AE1 results in the interface always outputting the item A as they become individually available, not waiting until 3 are available.

Example: Making Empty Cells with 1.6 Gregtech takes 2x Tin Plates in a Plate Bender. The ME interface on the Plate Bender will constantly export single plates as they get made, but if the exporting of plates get "out of sync" due to cancelling crafting jobs, closing/restarting world, breaking ME cables or whatever, then the machine is essentially blocked off from any other crafting job by the single tin plate left in the machine.
You cant make multiples of any crafting recipes to avoid this. Only a GT Advanced Regulator helps in this case(keeps the plates out of the machine until there is 2 of them). Only works on recipes with multiples of the same kind of items however.

The original problem lies in that AE1 ME Interfaces will always export crafting job recipe ingredients as they become available. And this wreaks havoc in many multislot machines/multiitems recipes. The very worst example I have seen is crafting the top tier EnderIO metal(1.6):
Automating a single Alloy Smelter to smelt the EIO metals and then ordering one of the Vibrant?(the green ones) Ingots results only in the following: An Enderpearl is exported into the Alloy Smelter, effectively blocking the smelter from being used to smelt the Energetic Alloy that goes together with the Ender Pearl /facepalm. If you want to automate this, then Vibrant Ingots have to have their very own Smelter...
 

DriftinFool

New Member
Jul 29, 2019
642
0
0
A way to work around this is to use a storage bus on an interface. Have the interface set to keep a certain amount of each item that is needed for complex crafting recipes. As an example, Ender IO alloys. The interface could be set to keep 64 of each level of alloy. When you want to craft the higher tier alloys, it will pull the mid tier alloys from the interface to craft the higher tier ones. Then a separate smelter would start replacing what the recipe took. It's not a perfect setup as you could only request a stack at a time, but it is a fairly easy work around. You could probably get a setup like this to work with 2 smelters. One to keep the interface filled and a 2nd to make what you want on demand.
 

Someone Else 37

Forum Addict
Feb 10, 2013
1,876
1,440
168
A way to work around this is to use a storage bus on an interface. Have the interface set to keep a certain amount of each item that is needed for complex crafting recipes. As an example, Ender IO alloys. The interface could be set to keep 64 of each level of alloy. When you want to craft the higher tier alloys, it will pull the mid tier alloys from the interface to craft the higher tier ones. Then a separate smelter would start replacing what the recipe took. It's not a perfect setup as you could only request a stack at a time, but it is a fairly easy work around. You could probably get a setup like this to work with 2 smelters. One to keep the interface filled and a 2nd to make what you want on demand.
That interface/storage bus trick, to my knowledge, only works on AE2. In AE1, when I tried it a while back, it simply didn't work for some reason- my guess is that either the Interface was trying to restock itself by pulling items out of the Storage Bus, or Algorithm saw that happening and hardcoded the Storage Buses to not work on Interfaces, except so as to allow creation of subnetworks.

Might've been fixed in a more recent version of AE1, though. I don't know for sure.
 

rhn

Too Much Free Time
Nov 11, 2013
5,706
4,420
333
A way to work around this is to use a storage bus on an interface. Have the interface set to keep a certain amount of each item that is needed for complex crafting recipes. As an example, Ender IO alloys. The interface could be set to keep 64 of each level of alloy. When you want to craft the higher tier alloys, it will pull the mid tier alloys from the interface to craft the higher tier ones. Then a separate smelter would start replacing what the recipe took. It's not a perfect setup as you could only request a stack at a time, but it is a fairly easy work around. You could probably get a setup like this to work with 2 smelters. One to keep the interface filled and a 2nd to make what you want on demand.
That interface/storage bus trick, to my knowledge, only works on AE2. In AE1, when I tried it a while back, it simply didn't work for some reason- my guess is that either the Interface was trying to restock itself by pulling items out of the Storage Bus, or Algorithm saw that happening and hardcoded the Storage Buses to not work on Interfaces, except so as to allow creation of subnetworks.

Might've been fixed in a more recent version of AE1, though. I don't know for sure.
Yeah that will NOT work in AE1. This is due to the fact that a storage bus on a ME interface is hardcoded to abandon its normal functions and instead form a subnetwork bridge. (aka you can make one subnetwork have access to another subnetworks items but still be two distinct networks).

You can somewhat mitigate the problem by having precrafted items in stock yes(you probably want to do this by level emitter+exportbus+ME interface setup). But once the restocking mechanism starts calling for more items as well you are still going to have problems.
Only way to avoid the problem is to have separate machines for each troublesome recipe.
 

PhilHibbs

Forum Addict
Trusted User
Jan 15, 2013
3,174
1,128
183
Birmingham, United Kingdom
You *could* create an array of level emitters for each item in the recipe. Each level emitter would go through a not gate, before you merge the redstone such that, if any item is missing, the resulting redstone signal is on.
You can set the level emitters to emit a signal when the level is below, then no need for NOT gates. I did this a lot in my 1.5 world, and also in MF2. I assume it still works in AE2 but I haven't used that version yet.