> For the complete documentation index, see [llms.txt](https://hnosmium0001.gitbook.io/steves-factory-manager/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hnosmium0001.gitbook.io/steves-factory-manager/part-one/untitled.md).

# Setting up an item moving system

## Basic Procedures

To get started, create a **Interval Trigger** and an **Item Transferer**, connect them by *clicking on the output node of the trigger, and then click on the input node of the item transferer*. Now, every time the trigger reaches its condition, it will run all the connected **procedures** to it.

A procedure is one node inside the flowchart. It has a set of properties that can be configured through **menus** when it is expanded. As a side note, in code, procedures represents the data and running logic, and a **flow component** is its client-side representation (GUI widget)

## Interval Trigger

The interval trigger procedure has only one setting, the **interval**. As mentioned above, each property of a procedure is represented by a menu when its corresponding flow component is expanded. In this case, the interval property is for how long will this **command graph** get ran, as its name suggests.

## **Item Transfer Procedure: Inventories**

The *inventories* properties specifies the inventories to operate on. Those can be chests, furnaces, or modded containers. The only requirement is that they have at least one `IItemHandler` capability. Additionally there is this red text field on the top. That is a search box. By typing in it and press enter, it will filter the inventories by their item name.

![](https://3798269810-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrlzTCGW7Auc8abIaw4%2F-Lrm0Ae_pbgNS8plO14w%2F-Lrm1A7sjwe1d_ER3xmt%2F2019-09-21_15.27.26.png?alt=media\&token=2034c995-8004-4b58-9dd3-9212f473b0be)

Side note: right click on an inventory target will bring up a context menu that says “Highlight in world”, and by selecting it the block will be highlighted using red outlines.

![](https://3798269810-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrlzTCGW7Auc8abIaw4%2F-Lrm0Ae_pbgNS8plO14w%2F-Lrm1FGRJIa4CxJVG_B_%2F2019-09-21_15.27.30.png?alt=media\&token=b175dc44-3d28-4a27-81d1-80e20cbfbec9)

![](https://3798269810-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrlzTCGW7Auc8abIaw4%2F-Lrm0Ae_pbgNS8plO14w%2F-Lrm1VrEiO6piOl14bPe%2F2019-09-21_15.27.34.png?alt=media\&token=2ca912a1-5e5d-4c4e-8770-5cb8e873bed9)

## Item Transfer Procedure: Direction

The *directions* properties specifies which side of the inventories to interact from. If multiple sides are specified, the procedure will work with them one by one, in the order of Down, Up, North, South, West, and East (order of the `Direction` enum).

![](https://3798269810-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrlzTCGW7Auc8abIaw4%2F-Lrm0Ae_pbgNS8plO14w%2F-Lrm251h2oyUDFPrJZCZ%2F2019-09-21_15.27.49.png?alt=media\&token=14963211-6457-47ac-aacb-e939b618c1c7)

## Item Transfer Procedure: Filter

The *filter* property specifies which items should be allowed, just as what you expect from a logistics mod. There are currently two filter modes, *traits mode* and *tags mode*. The *traits mode* filter by item type, damage, and their NBT tags. The *tags mode* filter by theirs tags, or ore dictionaries as they are called before 1.13. You can change between these two modes by right clicking on the Filter menu and select “Change to … Filter”

For the traits filter, click on one of the slots will bring up a window of the player inventory. Select one of your slots to specify the filter. (order of the `Direction` enum)

Filter settings such as whether to match item damage, NBT can be specified with the gear icon on the bottom right corner<br>

![](https://3798269810-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrlzTCGW7Auc8abIaw4%2F-Lrm0Ae_pbgNS8plO14w%2F-Lrm2hpzrHqBddu0n2X1%2F2019-09-21_15.28.06.png?alt=media\&token=4bf09c50-8259-437e-a2a8-d421f53b5440)

## Program in Operation

After specifying all the properties, our first application will be functional. By putting items in the input chest, only the whitelisted items (chest and inventory cable) will be moved to the output chest. Such action will be run every one second according to the trigger interval property.

![](https://3798269810-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrlzTCGW7Auc8abIaw4%2F-Lrm0Ae_pbgNS8plO14w%2F-Lrm2tOj67D1A9UDh5uk%2F2019-09-21_15.28.20.png?alt=media\&token=5f76c933-69fb-4ff7-9563-ad5294bc610e)

![](https://3798269810-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrlzTCGW7Auc8abIaw4%2F-Lrm0Ae_pbgNS8plO14w%2F-Lrm2x_hZiLuy10AmB7N%2F2019-09-21_15.28.37.png?alt=media\&token=b84e744c-6445-43e7-a18e-183c55ce8725)

![](https://3798269810-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrlzTCGW7Auc8abIaw4%2F-Lrm0Ae_pbgNS8plO14w%2F-Lrm30PS6_BS05Bj5jCH%2F2019-09-21_15.28.51.png?alt=media\&token=3817a9cc-37a7-44e4-8003-68117eeac79d)
