Assembly Line Automation

From GT New Horizons
Jump to navigation Jump to search

Once you reach the end of IV you'll make your first assembly line. Starting out you won't need to make a lot of parts in it, however towards the end of LuV this will ramp up. Eventually it will become a hassle to input all of the fluids and items manually, bringing automation up as a solution. You have many ways to do this, with varying levels of simplicity and reward to them. SFM is an easy pick to start with, however the downsides are that adding each new recipe will take a while and never gets easier. Open computers can do this as well, however you will find a similar issue with trying to turn an AE recipe into assembly line recipes. Most methods for automation require you to setup each new recipe in a specific way, which is usually not very fun to do. Here we will go over the basics of SFM automation, as well as an alternative to SFM/OC which makes additional recipes much simpler and faster to add.

Steve's Factory Manager

If you haven't used SFM before, but don't know any Lua, this is a good place to start for assembly line automation. The process is fairly straight forward, and intuitive as you use it more and more. SFM is a good option as it posses specific item/fluid transfer, with condensed conditions for doing so. The general idea is to define the recipe ingredients within SFM, and tell it where to put each item/fluid. When it comes to the assembly line, you'll want to start by making a group for each item, if not each tier.

The basic structure of all recipes would be as follows. A condition checking your AE input chest for the desired items, followed by an input from your AE input chest. Then you would use outputs to place each item in the specific input bus it goes in. You would also include input and outputs for the fluids needed, in the same way as items.

If you are using multiple assembly lines, it's easiest to have one set of chests/tanks in the layout of the assembly line, which sfm will move items to from the AE input chest. This can then be easily distributed to the first open assembly line, however you will need a lot of commands. The basic structure would be, "Is assembly line 1 empty?" if yes, move items from chest 1 into input bus 1, chest 2 into input bus 2, etc. If assembly line 1 has items in it, you would simply proceed onto assembly line 2, and preform the same task.

Depending how new to sfm you are, you might struggle with some of the things mentioned. To set quantities of items/fluids, right clicking on the item/fluid will open a new menu. You can set quantities here, and for items do a lot more. Most of the item detection methods are useless for assembly line tasks, however changing that option to "match all" will result in a "true" signal if there is *any* item detected. This is very useful for checking if an assembly line is currently filled with items or not, without defining what the items would be. Sadly there is no option for fluids like that, and you are forced to use alternate methods, or define every possible fluid.

In all, sfm definitely works, but has a few downsides when it comes to expansion, and tedious additions of block code.

Open Computers

- WiP-


An under utilized option for assembly line automation is GT itself. GT pipes exhibit a pulling system that is capable of translating an ordered set of item stacks in one inventory, into a similarly ordered set of inventories holding singular stacks of items. Pipes will pull the first stack from an inventory, and push it into the first open inventory they see. This can be used with pipes that limit stack size to 1/s or below, to order the inventories in the same order as the items in the initial inventory. Essentially you start with items A, B, and C in that order in inventory 0, and end up with items A in inventory 1, items B in inventory 2, and items C in inventory 3. As AE will input items in the same order as a pattern, this can be used to order any recipe in the assembly line order it needs. Simply hooking up a large throughput pipe backbone onto 1stack/s or lower branching pipes, will be able to order any items you give it.

Fluids do pose a bit of a change to this, as simply putting them before or after items results in some spacing issues. An easy solution is to provide a GT filter with volumetric flasks, set to ignore NBT before a restrictive pipe that leads to the item outputs. This will pull any fluid separately, while not impacting item ordering. Fluids can then be stored in a separate ordering of chests, which will lead to the input hatches.

When it comes to removing items from inventories and pushing them into assembly lines, you have many options. Pure GT will again work here, and allow for an infinite quantity of assembly lines in parallel. Simply provide an "in use" signal from your full assembly lines, and use shutters to block inputs. If inventory 1 is connect to assembly line 1 bus 1, assembly line 2 bus 1, etc, it'll move your items to the first free assembly line. Doing the same with fluids will result in a perfectly working automated array of assembly lines.

One small issue is sometimes non full stacks of similar items can end up combined. For example, 4 stacks of single quantum circuits for the fusion controller can end up with 4 circuits in a single bus. A very simple solution to this is to use the naming mold to give stacks different names. Doing so removes their ability to stack with each other, and forces separated items.

You will probably want to do some redstone logic on the AE input and sorting to avoid mixing recipes, but how you do this mostly comes up to choice. A shutter on the top of your AE input chest is a big help to avoid mixing recipes. Here is a short video explaining how this works, and the basics of setup.