Skip to content

Commit b0c318f

Browse files
Add User Documentation for Item and Fluid Logistics (#3845)
Co-authored-by: Jurre Groenendijk <jurre@jilles.com>
1 parent 50ccb0f commit b0c318f

File tree

4 files changed

+266
-0
lines changed

4 files changed

+266
-0
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# Covers
2+
**All** GregTech Modern blocks which contain a BlockEntity can have Covers attached to them to add additional functionality
3+
or alter their normal functions. Some of these covers affect item and fluid transfer.
4+
5+
Covers can be attached, configured, or removed, through the machine side configuration UI found in all GregTech Modern
6+
machines and hatches. They can also be:
7+
8+
* Attached by right-clicking the machine while holding the cover
9+
* Configured by right-clicking their side with a Screwdriver or shift- right-clicking with an empty hand
10+
* Removed by right-clicking with a Crowbar.
11+
12+
Logistics are available at all voltage tiers starting at LV, and the maximum rate at which they transfer items and fluids
13+
is based on their voltage tier. (There is an add-on mod which also adds ULV covers however those are not included in base
14+
GregTech Modern.)
15+
16+
## Conveyor Modules and Electric Pumps
17+
Conveyor Modules and Electric Pumps are the standard set of logistics covers. They can be placed on blocks with inventories
18+
or tanks, or on item or fluid pipes (respectively). On placement, they default to Export mode, extracting items or fluids
19+
from their attached block and pushing them into the block they face. By using a Screwdriver, they can be toggled to
20+
Import mode, and their transfer rate per-second or per-tick can also be configured.
21+
22+
When connected to a Fluid Pipe, Electric Pumps will override the normal fluid transfer rate of the pipe on that side,
23+
and fluid will transfer according to the Pump's settings.
24+
25+
When transporting items into an Item Pipe (either by being placed adjacent to a pipe and set to export, or placed on a
26+
pipe and set to import), Conveyor Modules have an additional feature: Distribution Mode. There are three options for this:
27+
28+
* Priority: Items are sent to the closest available inventory first
29+
* Round Robin: Items are distributed approximately equally across all available inventories
30+
* Round Robin with Restriction: Items are distributed across all available inventories, but the distribution will ignore
31+
any destinations that have Restrictive Item Pipes along the route to them, unless there are no other destinations it can
32+
send to.
33+
34+
## Robot Arms and Fluid Regulators
35+
Robot Arms and Fluid Regulators are more advanced versions of the Conveyor and Pump. They have the same features, but
36+
with an additional Transfer Mode toggle:
37+
38+
* Transfer Any: always transfer as many items/fluid as are available
39+
* Transfer Exact: Only transfer items/fluid if an **exact** amount is available for transport (e.g. only transport
40+
exactly 13 items at once, or exactly 144mB of a fluid). The cover will not transfer any if it has less than the target,
41+
and will only transfer the exact amount even if more is available. This is useful for preventing machines being jammed
42+
from a full inventory but each stack has only half the items needed to run a recipe.
43+
* Keep Exact: Check the contents of the target inventory. Only transfer items/fluids if the amount of each available
44+
item/fluid in the target is less than the set amount, and only transfer enough to raise the target's inventory to the
45+
set amount. This is useful to prevent a machine from getting completely filled with one item and having no space for a
46+
second required item.
47+
48+
When attached to a Pipe, Robot Arms can export into the pipe using Transfer Exact mode, but they are unable to export using
49+
Keep Exact mode. However, Robot Arms *can* be attached to pipe output ends, and they will enforce the Keep Exact quantity
50+
for the inventory they are exporting to.
51+
52+
## Filters
53+
Logistics covers can have Filters installed in them, to specifically allow (whitelist) or disallow (blacklist) chosen
54+
items or fluids to pass through those covers. Filters can be configured by right-clicking them against the air, and
55+
items and fluids can be added to the filter either by placing them in from inventory (not consumed), or by dragging them
56+
in from NEI/JEI/EMI.
57+
58+
There are five types of filters:
59+
60+
* Item Filter, Fluid Filter - filters by specific items/fluids. Can be set to filter by, or ignore, item NBT data.
61+
* Item Tag Filter, Fluid Tag Filter - Filters using a Regular Expression string, searching by one or more Item Tags.
62+
Multiple tags can be included or excluded from a single filter using logical operators.
63+
* Smart Item Filter - Filters items by searching recipe logic for valid ingredients. Supports the Centrifuge, Electrolyzer,
64+
and Sifter recipe lists.
65+
66+
Filters can also be attached as covers to Machine faces set to auto-export or receiving inputs, to apply their filter
67+
to the items or fluids traveling through that face.
68+
69+
Fluid Filter Covers can also be attached to Fluid Pipes to isolate individual pipe directions and ensure only a single
70+
fluid can travel down that pipe (if, for example, there was a Quadruple Fluid Pipe carrying four fluids, and one fluid
71+
needed to be separated out).
72+
73+
## Ender Links
74+
Independent from all these other devices, there are also another set of covers: the Ender Link Covers. These come in
75+
three types: Item, Fluid, and Redstone. These covers must be configured with a screwdriver on placement, but once configured
76+
they become part of a Network of interdimensionally wirelessly connected Ender Links.
77+
78+
Ender Links are assigned a network using a Channel, using an 8-digit hexadecimal color code (RBGA format) and optionally
79+
a Description (as a text string). Every Channel has two forms: a Public form (accessible to everyone on the server), and
80+
a Private form (accessible only to the player who placed the Link cover). All Links of the same type on the same channel
81+
then become linked, allowing items, fluids, or redstone signals to be imported or exported between them.
82+
83+
After being assigned a channel, Ender Links have the same input/output and filter controls as a Conveyor or Pump. A single
84+
Ender Link cover is only one-directional though, only allowing its attached machine to export to the ender network, or
85+
import from it.
86+
87+
Each Ender Link channel contains a single storage slot: either a single redstone value, a 160,000mB fluid tank, or a 1-
88+
slot inventory. Each Ender Fluid Link cover can transfer up to 160,000mB of fluid per second in or out, and each Ender
89+
Item Link can transfer up to 160 items per second in or out, attempting transfer every tick. Because Link Covers contain
90+
only a single slot, they are most efficient at teleporting only a single type of item or fluid.
91+
92+
## Void Covers
93+
Sometimes items or fluids are unneeded or unwanted. Void Covers answer that. Any items or fluids which are exported into
94+
a Voiding Cover are simply deleted.
95+
96+
Void Covers have two versions:
97+
98+
* Simple: Voids all items/fluids that enter it. No further configuration.
99+
* Advanced: Allows for Filter configuration to only void specific items/fluids. Also has a Keep Exact mode, causing the
100+
cover to only void contents if the attached inventory contains more than the configured amount.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Machine Logistics
2+
## Steam Machines
3+
Steam Machines do not have any form of built-in logistics capability, with three exceptions:
4+
5+
* The Primitive Water Pump is a Multiblock Machine and contains an Output Hatch. This hatch will automatically push water
6+
out into any connected pipe or tank.
7+
* The Coke Oven is also a Multiblock machine, but unlike other multiblocks its controller does contain its inventory.
8+
To aid in Coke Oven automation, a unique block called the Coke Oven Hatch can be placed in its structure, which will
9+
accept item input and automatically push items and fluids out.
10+
* All Boilers which contain Steam will attempt to push Steam out into any fluid pipes or machines adjacent to them, on
11+
all sides _except below_. This means that water can be safely input from below with no risk of steam entering your water
12+
pipes.
13+
14+
Additionally, Steam machines have a unique design challenge feature: all Steam machines have an Exhaust face, which must
15+
be facing open air, and will emit a blast of Steam every time the machine finishes a recipe. If the Exhaust face is
16+
blocked, the machine cannot complete its recipes; and the blast of Steam released will heavily injure any player
17+
standing in it.
18+
19+
## Electric Machines
20+
All Electric machines have the ability to automatically output their produced items, fluids, or both, into any adjacent
21+
machine, inventory, tank, or pipe. This can be done with a Wrench, or via the Side Configuration tab in the machine's UI.
22+
23+
* To change auto output from outside a machine, shift-right-click on air with the wrench to choose whether to configure
24+
for Items, Fluids, or Both, then right click with a Wrench on the side of the machine to rotate its output face.
25+
* To then enable automated output, right-click the machine face with a Screwdriver.
26+
* To change auto output from inside a machine, open the Side Configuration tab, and click the side you want to set as
27+
output.
28+
* One click will select the side, a second left click will set the side to item output, and a third left click will
29+
toggle auto output. Right clicks will set and toggle fluid output.
30+
* The main machine UI also contains two toggle buttons to enable or disable auto output for items or fluids, without
31+
needing to open the configuration panel.
32+
33+
Additionally, all electric machines will also **block** automated item or fluid input from their output sides. To
34+
override this and allow input from output side, there is an additional toggle button in the Side Configuration tab, or
35+
shift-right-click on the machine with a Screwdriver.
36+
37+
## Multiblock Machines
38+
Multiblock machines do not contain items within their controller blocks, and instead all I/O is handled by Buses and
39+
Hatches. Buses and Hatches will, by default, **auto-import** from any inventories, tanks, or pipes they face, and
40+
**auto-export** to any inventories, tanks, or pipes. This behavior can be toggled by Disabling the hatch, either through
41+
the power button in its UI or by right-clicking it with a Soft Mallet.
42+
43+
Buses and Hatches can accept automated import or export from other sides, so long as something else is causing it.
44+
45+
## Passthrough Hatches and the Cleanroom
46+
The Cleanroom is a unique multiblock with unique restrictions. Because the Cleanroom must have solid walls, pipes, cables,
47+
and inventories outside cannot directly connect to machines inside. For this purpose, Passthrough Hatches exist.
48+
Passthrough Hatches (by default, only the HV Passthrough Hatches can be crafted) are solid blocks which can be placed in
49+
the walls or floor of a cleanroom. These hatches act as Input and Output at the same time, and will auto-Import from
50+
their green face, and auto-Export to their red face, in the same tick. This allows items and fluids to be pulled through
51+
the cleanroom walls, in or out.
52+
53+
Furthermore, as Generators cannot be placed inside the Cleanroom, to transfer power in, Diodes can be used. Diodes can
54+
also be placed in the Walls or Floor, and if right-clicked with a Soft Mallet will limit how many Amps will travel through,
55+
cycling through 1/2/4/8/16A.
56+
57+
Finally, Machine Hulls have a unique feature. On one hand, they can be used as a 1A Diode and transfer a single amp
58+
of power. On the other hand, they are also considered valid cables for an Applied Energistics ME Network, and thus
59+
ME Cables will connect to Hulls and allow an ME Network to extend into a Cleanroom.
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# Pipes
2+
GregTech Modern offers both Item and Fluid pipes, made out of a wide range of materials in a wide range of capacities.
3+
4+
## Pipe Placement
5+
Pipes and Cables use a shared, unique system for placement in world.
6+
7+
A pipe or cable which is placed in world will, by default, not connect to any other adjacent blocks. However, if the
8+
pipe was shift-right-click placed against a machine or another pipe, the pipe will be placed connected to that machine.
9+
10+
Once one pipe has been placed, looking at that pipe with another pipe will display the same sided overlay as when
11+
looking at a machine with a wrench or other tool. Right-clicking with a pipe within one of the sided regions will place
12+
a new pipe *on that side of the existing pipe*, connected to the pipe. This allows for placing lines of pipe without
13+
needing to stand in the path being placed along.
14+
15+
### Frame Boxes
16+
Pipes can be placed inside of Frame Boxes, and Frame Boxes can be placed over Pipes. This is primarily an aesthetic
17+
choice, however it also forces the pipe's collision box to take up a full block of space, and thus also provides some
18+
protection from the hazards of touching a fluid pipe carrying very hot or cold fluids (see below).
19+
20+
## Pipe Connections
21+
Pipes can be right-clicked with a wrench to Connect or Disconnect the pipe from that side. This can be used to
22+
preemptively set pipe connections in preparation for a machine to be placed there, or to connect or disconnect pipe
23+
segments that need to branch off of others.
24+
25+
Additionally, pipes can be shift-right-clicked in order to "Shutter" a given side of them. Shuttered pipe sides become
26+
**output-only**, allowing pipes to be made one-way. Shuttered pipe sides are visible via a small black arrow drawn in the
27+
allowed direction of transfer.
28+
29+
Pipes have default logic for how they distribute their contents across their connections, however these behaviors can be
30+
modified by using [Covers](./Covers.md)
31+
32+
## Pipe Materials and Sizes
33+
Pipes come in four sizes: Small, Normal, Large, and Huge. Fluid pipes also come in a Tiny size. Each larger size is more
34+
expensive but has greater throughput. The throughput of a pipe is determined by its Material (and in general, materials
35+
that require higher voltage tiers to produce have higher throughput) and multiplied by its size.
36+
37+
## Item Pipes
38+
Item Pipes effectively act as teleportation tunnels between their sources and destinations: any items which are pushed
39+
into a pipe, are instantly pushed out the other end(s). Item pipes can be 1-to-1, 1-to-many, many-to-1, or many-to-many.
40+
Item pipes have a limit on how many items can be pushed through them every second. The limit of a full pipe is the limit
41+
of the smallest segment through (as even though the items are teleported rather than moving from pipe block to pipe block,
42+
they do still follow a path through the pipes and check every pipe along the path). There is no limit to the amount of
43+
different items that can move through a pipe at once, only the total count per second.
44+
45+
When items are pushed into a pipe, by default they are pushed to the "closest" inventory to the source. However, the
46+
"closest" inventory is not directly determined by the distance in blocks between source and destination. Instead, it is
47+
determined by the "Priority" value of the pipe. Larger pipes have lower priorities, smaller pipes have higher priorities,
48+
and items will take the path which has the smallest total priority value.
49+
50+
### Restrictive Item Pipes
51+
Item Pipes have a special variant called Restrictive Item Pipes. Restrictive pipes have 100x the priority value of
52+
equivalent non-restrictive pipes, allowing a pipe path to be forcibly made into the "longest" path and thus the final
53+
path items can choose to go down.
54+
55+
## Fluid Pipes
56+
Fluid Pipes function completely differently from item pipes. Each fluid pipe block is a small fluid tank, with a size
57+
equal to 20x the pipe's listed Transfer Rate.
58+
59+
Every 5 ticks (4 times per second), fluid pipes will check for their adjacent connections, and try to export up to
60+
Half of their maximum storage capacity, distributed among all adjacent connections that the pipe did *not* receive input
61+
from since it last exported, based on the fullness percentage of those connections.
62+
63+
As a result, while fluid pipes list their throughput as mB/t, they do not transfer on every tick; they transfer a large
64+
amount of fluid several times per second.
65+
66+
As a further result however, a line or network of fluid pipes which are not completely filled can experience the fluid
67+
in the pipes sloshing around, becoming more full in some places and more empty in others. This can be mitigated by
68+
Shuttering pipes to prevent backflow.
69+
70+
## Multi Pipes
71+
While Item Pipes can transfer an unlimited number of item types at once, Fluid Pipes cannot and trying to move multiple
72+
fluids through one pipe is liable to get a fluid stuck somewhere. To combat this, 4 Small Pipes or 9 Tiny Pipes can be
73+
crafted together into a Quadruple or Nonuple Fluid Pipe. These pipes act as 4 or 9 separate piped all in a single block.
74+
Each of these pipes calculates its I/O independently, but **cannot contain duplicate fluids**, allowing 4 or 9 fluids
75+
to be transferred through a single block with no risk of jams.
76+
77+
## Hazards
78+
Fluid Pipes have an additional set of properties on them: Max Temperature, and Fluid Containment.
79+
80+
All fluids in GregTech Modern have a Temperature, and some of them also have further properties:
81+
* Acids
82+
* Gases
83+
* Cryogenics
84+
* Plasmas
85+
86+
If a Pipe's max temperature is less than the temperature of the fluid traveling through it, the pipe will intermittently
87+
void some of its contents, severely injuring nearby players and spreading fires, and quickly be destroyed.
88+
The exception to this is that if the fluid a pipe is carrying is a Plasma, and the pipe is marked as being able to contain
89+
Plasmas, the temperature limit is ignored.
90+
91+
For other properties, if improperly contained, the effects are similarly hazardous. Acids and Cryogenics will harm their
92+
surroundings, then explode. Gases within pipes that cannot carry them will not destroy the pipe, but the gasses will
93+
quickly escape and cause small explosions.
94+
95+
Finally, pipes carrying very hot or cold fluids (above 320K or below 260K) will injure entities that touch them, twice
96+
per second, damage scaling with how extreme the heat or cold is.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Logistics: Automated Item and Fluid Transport
2+
GregTech Modern contains several options for how items and fluids can be transferred between machines, at varying speeds
3+
and technology levels.
4+
5+
Automated item and fluid transport is managed by three separate systems:
6+
7+
* [**Machines**](./Machines.md)
8+
* [**Pipes**](./Pipes.md)
9+
* [**Covers**](./Covers.md)
10+
11+
These systems are commonly manipulated using Tools such as a Wrench, Screwdriver, or Soft Mallet.

0 commit comments

Comments
 (0)