Flask Automation

You probably realized by now that many recipes need a fluid and I guess you also don't want to setup one assembler for each type of fluid that you need. The Answer to solving this problem is flask automation. The core idea of flask automation is that the ME also takes the responsbility of sending the needed fluid to the needed machine, but as the ME can't work with fluids directly and the current state of Extra Cells 2 is lackluster we need to convert the fluid into an item form first.

Why use Volumetric Flasks?
Volumetric Flasks come in handy to do this as they can be set to any amount ranging from 1L to their maximum capacity. Also every flask has the same ID, so they can be easily filtered by just using filters that ignore meta data.

If even the Gigantic Volumetric Flask doesn't have enough capacity for your application you may want to opt for the Large Cells instead. But as they can't be set to a multiple of 144L which is used in most applications, they should rather be used to automate the gas supply of an EBF.

Creating and Filling Flasks
Before you start you need to stock up a good amount of Volumetric Flasks. Now there are multiple solutions to handle the configuration of flasks. You could just store a good amount of flasks with the amounts you need (144L, 250L ...) but to be more flexible you can use the existing assembler recipes to configure flasks into the most used sizes. If there is a size that is not available in the Assembler I would recommend that you multiple the recipe so that you can use a common size. If that is not feasible you can use the Volumetric Flask Configuration from GT++ to program your flask into a precise size. Below is a list of sizes that can be programmed with an Assembler. To let them be resized automatically just add a pattern with an empty 1000L flask as input and an empty flask with the desired size as output.


 * Circuit 24: Reset flask to 1000L
 * Circuit 10: 250L
 * Circuit 5: 864L
 * Circuit 4: 720L
 * Circuit 7: 648
 * Circuit 8: 936L
 * Circuit 6: 72L
 * Circuit 3: 576L
 * Circuit 11: 500L
 * Circuit 2: 288L
 * Circuit 1: 144L

Flasks that have been programmed by an Assembler should be recycled (programmed back to 1000L so the ME can program them to the needed size again).

Important: Flasks that are newly crafted have different meta data than flasks that have been reprogrammed to 1000L, so you should also reprogram them once with the 24 circuit.

To fill flasks with fluids that you keep in stock like polyethylene, simply add an ME Interface to the tank and add a Pattern that has the empty flask as input and the filled flask as output, as shown below.

The storage busses need to be configured as a whitelist and blacklist for flasks, as annotated in the picture. To do so just put any flask into the storage bus filter and add a Fuzzy Card to the storage bus, the blacklist storage bus also needs an Inverter Card. The Fluid Extractor should be set to auto output fluids into the tank. You should set the interface coming from the main ME to enable blocking mode (don't push items if inventory has items)

Important: The Example shown above uses an ME Interface with a locked direction! Without locking the interface could insert a solid into a tank. Also the extraction of the items isn't handled in this example. To extract the items you could for instance add a conveyor to the side of the tank that faces the interface.

Important: If you use a PA with fluid extractors you should use an ULV input bus so the ME doesn't mess up which item should go in which flasks. Or you build one PA for each flask size you extract.

Using the flasks in machines
Disclaimer: The examples below use a sub ME to filter the flasks and items, you may also use other systems like EnderIO.

Now that you have your flasks filled with the fluids you need for your crafts it is time to set up some machines and crafting recipes. To use the flask in a craft simply add the filled flask to the processing pattern. You do not need to tell the ME that you get empty flasks back, as the ME can't deal that good with recursion anyways.

Important: The Example shown above uses an ME Interface with a locked direction! Without locking the interface could insert a solid into a tank. Also the extraction of the items isn't handled in this example, apart from inserting the empty flasks back into the network.

Important: When using multiple flasks in patterns greater than 9 slots (For example by using the processing pattern terminal to create assembly line patterns) you need to put the flasks into the first 9 slots to prevent them from messing up.

To uncann the flasks and get the fluid into the machine you need a setup that is similiar to the one for extracting the fluid. An example is shown below.

Again the the storage busses need a whitelist and blacklist for flasks as shown in the picture. It is also recommended to turn on the blocking mode on the interface from the main ME in this setup.