Volumetric Flask MOD

Volumetric Flask is an Applied Energistics 2 addon mainly focusing on fluid-related auto crafting.

This mod adds various volumetric flasks with different sizes and some helper blocks.

New Item: Volumetric Flask

16 different sizes: 16, 32, 18, 36, 72, 144, 50, 100, 250, 1000, 2000, 4000, 8000, 16000, 32000, 64000 mB

An empty Volumetric Flask, Filled with Lava, Filled with water.

A volumetric flask is a fluid container just like a vanilla bucket but can stack up to 64. You may hold a volumetric flask and right-click on a tank to fill/empty it. Like a vanilla bucket, a volumetric flask is only allowed to be fully filled or empty.

Fill Volumetric Flask using Fluid Tank from Ender IO

New Block: Volumetric Interface

A ME Interface with special support for a volumetric flask. It has all the functions a ME Interface has, like accepting items and importing them into ME network, or export items according to Encoded Patterns. An alternative panel version is also available to share one block with ME Cable.
However, if an Encoded Pattern that has filled Volumetric Flask is provided, when requesting that pattern, the Volumetric Interface won’t push the volumetric flask to the target machine. Instead, it will push the fluid inside the volumetric flask to the target machine, and put the emptied volumetric flask in the internal inventory of the interface. (And of course, the emptied volumetric flask will be transferred back into the ME network)

Like the ME Interface, Volumetric Interface will push to target machine ONLY if ALL ingredients can be inserted. If the Encoded Pattern has filled volumetric flask as an ingredient, the fluid inside the volumetric flask will also be considered.
The blocking mode can be configured, and yes, it can be blocked by fluid in the target machine.
Volumetric Interface has an internal tank of 64000mB and will transfer fluid inside into the ME network, except the following condition.

When provided a pattern with empty volumetric flask as input and filled volumetric flask as output, the Volumetric Interface will not push empty volumetric flask to the machine, but save it to a “queue” inside it. After that, when fluid is transferred into the Volumetric Interface, it will fill the empty volumetric flask in its queue, and transfer filled volumetric flask to ME Network. If the volume of fluid provided is less than the capacity of the empty volumetric flask in the queue, fluid will be held in the internal tank and wait for more fluid to come.
The empty volumetric Flask in input and filled volumetric flask in the output of the pattern MUST have the SAME capacity to trigger this behavior. The Volumetric Interface will ONLY fill an empty volumetric flask with the SAME fluid as the fluid is filled volumetric flask in the output of the pattern. Other fluid will be transfer to ME Network immediately.

Typical Usage: Volumetric Interface

Automate TNT in GregTech Community Edition

Solution

First, compose an Encoded Pattern to use 4 * Gelled Toluene and 1 * 250mB Volumetric Flask (Sulfuric Acid) as input materials, and 1 * TNT as output. Store some of them in the ME network.
Second, put the Encoded Pattern in the Volumetric Interface.
Third, place needed machine (Basic Chemical Reactor) next to the Volumetric Interface, and set it automatically outputting to the interface. You may also need to set the machine to “Allow Input from Output side” using a screwdriver.
Finally, request crafting some TNT and profit!

Typical Usage: Volumetric Interface

Automate Destablied Redstone Volumetric Flask for later usage.

First, compose an Encoded Pattern to use 1 * 144mB Volumetric Flask(Empty) and 1* Redstone as input materials, and 1 * 144mB Volumetric Flask (Destabilized Redstone) as output. Store some of them in the ME network.
Second, put the Encoded Pattern in the Volumetric Interface.
Third, place needed machine (Basic Fluid Extractor) next to the Volumetric Interface, an set it automatically outputting to the interface. You may also need to set the machine to “Allow Input from Output side” using a screwdriver.
When requesting crafting 144mB Volumetric Flask (Destabilized Redstone), the Volumetric Interface will push Redstone to Basic Fluid Extractor but keep Volumetric Flask (Empty) in its internal queue. After Basic Fluid Extractor did the job and output Destabilized Redstone fluid to Volumetric Interface, the Volumetric Interface will fill the Volumetric Flask (Empty) and transfer 144mB Volumetric Flask (Destabilized Redstone) to ME network.

New Block: Filler

A Filler is a volumetric flask specified ME Fluid Auto Filler(from Extra cells2). Whenever a filled volumetric flask of a certain fluid is requested, it automatically fills a volumetric flask from the ME network with the liquid from the ME network. A Filler needs energy and ME channel to operate. The Filler has the priority of -1. (Interfaces have the priority of 0 by default.) Thus, the ME network will prefer to use other recipes provided by interfaces first, and fallback to Filler if materials are not satisfied in other recipes.

Typical Usage: Filler

First, store some fluid (Sulfuric Acid) in the ME network.
Second, store some empty Volumetric Flask in Me network.
Third, request some filled Volumetric Flask and Filler will fill them in place.

New Block: Buffer

A Buffer has an inventory of 9 stacks and 9 tanks of 64000mB fluid. You may use any pipe/export bus/interface to insert items and fluid into it, and use any pipe to extract. A Buffer will always try to push out items and fluid from its inventory and tank to nearby blocks.
A buffer will NOT push items and fluid to the following blocks: ME Interface, ME Fluid Interface, Volumetric Interface, panel version of above.
A buffer does not have any GUI to interact with, and can not be dismantled by a wrench. A buffer will lose all items and fluid inside when broken.

To view what stored in a Buffer, you may need The One Probe or similar mods.

Typical Usage: Buffer

Automate Red Alloy Ingot (GregTech) in Blast Furnace (GregTech).
Inputs: Copper Ingot * 1, Destabilized Restone * 288mB
Output: Red Alloy Ingot * 1

First, store some Copper Ingots and 144 Volumetric Flasks (Destabilized Redstone) in ME network. Of course, you may store Destabilized Redstone fluid and empy Volumetric Flasks in ME network and use a Filler.
Second, compose an Encoded Pattern, and put it in the Volumetric Interface. Note that we need two 144 Volumetric Flask to meet demand.
Third, place a Buffer next to the Volumetric Interface, and necessary conduits (Ender IO) to transfer item/fluid from Buffer to Input Bus/Hatch (upper two blocks), and transfer item/fluid from Output Bus/Hatch (lower two blocks) to Volumetric Interface.
After requesting Red Alloy Ingot, the Volumetric Interface will push Copper Ingot and Destabilized Redstone to the Buffer. Then conduits will extract them into corresponding Input Bus/Hatch. After the job is done by Blast Furnace, conduits will extract Red Alloy Ingot to Volumetric Interface. Hence there will be two empty Volumetric Flasks and one Red Alloy Ingot in ME network. Automation performed!

Limitations

Using this mod can NOT achieve PERFECT fluid automation. It can only help you deal with recipes with fluid INPUT. If you want to automate recipes with fluid OUTPUT, you may need some fake crafting tricks.

Recipes

This mod only provides minimum recipes for new items and blocks. Modpack makers, feel free to change recipes.

Known Issues

Volumetric Interface will not show in ME Interface Terminal.

Source Code

https://github.com/exzhawk/VolumetricFlask

License and Permission

Source Code: LGPL
Assets: CC BY-NC-SA

For binary JAR file,
You can:
Use this mod in your modpack.
Post screenshots or videos of this mod.
Do whatever you want as long as you do not break rules below.

You must:
Follow LGPL and CC BY-NC-SA license.
Keep author info and a link to this page for redistributing this mod in any form (modpack, repost in another website, etc.)

Credits

Some code and assets are derived from Applied Energistics 2 and Extra Cells2.
Thanks to AlgorithmX2 and Team Applied Energistics for Applied Energistics 2, Team Extra Cells for Exra Cells2.
Thanks to miguo (龙飞虎) for texture inspiration, ustc-zzzz (Yanbing Zhao) for modding tutorials and 3TUSK (Urey. Xue) for modding tutorials.
Thanks to Damien-Reave for making Omnifactory, which motivate me to make this mod. Thanks to members of SDYG Group for encouraging me to release this mod. All screenshots are captured from a modified version of Omnifactory on SDYG Group Private Server.

Download

JAR files can be found on Curseforge page.