Games/Factorio
| (9 intermediate revisions by one user not shown) | |||
| Line 2: | Line 2: | ||
'''Requirements:''' | '''Requirements:''' | ||
* Factorio 2.0 with Interrupts | * Factorio 2.0 with Interrupts | ||
| + | Reference: [https://www.youtube.com/watch?v=EggDldJVggM&t=2009s https://www.youtube.com/watch?v=EggDldJVggM&t=2009s] | ||
==Requester Station== | ==Requester Station== | ||
| − | Where you request resources to be delivered to. | + | Where you request resources to be delivered to. |
===Items Needed=== | ===Items Needed=== | ||
* Chest(s) | * Chest(s) | ||
| Line 13: | Line 14: | ||
# connect chests together and then to the decider combinator input | # connect chests together and then to the decider combinator input | ||
# connect train station to decider combinator output | # connect train station to decider combinator output | ||
| + | # connect train station to decider combinator input | ||
# connect train station to arithmetic combinator input | # connect train station to arithmetic combinator input | ||
# decider combinator output connects to arithmetic combinator input | # decider combinator output connects to arithmetic combinator input | ||
# arithmetic combinator output connects to the grid | # arithmetic combinator output connects to the grid | ||
| + | |||
===Decider combinator config=== | ===Decider combinator config=== | ||
====Conditions==== | ====Conditions==== | ||
| − | if resource < (less than) static value | + | * if resource < (less than) static value |
| + | AND | ||
| + | * "C" is < (less than) 1 | ||
====Outputs==== | ====Outputs==== | ||
select "L" and define a static value of 1 | select "L" and define a static value of 1 | ||
| Line 26: | Line 31: | ||
====Output==== | ====Output==== | ||
select resource | select resource | ||
| + | ===Train stop config=== | ||
| + | * set "Set train limit" and select "L" | ||
| + | * Read train count "C" | ||
| + | |||
| + | ==Provider Station== | ||
| + | Where you provider specific resources from. | ||
| + | ===Items Needed=== | ||
| + | * Chest(s) | ||
| + | * Decider Combinator x2 | ||
| + | * Train Stop | ||
| + | * communication grid | ||
| + | ===Connections=== | ||
| + | # connect chests together and then to the decider combinator #1 input | ||
| + | # decider combinator #1 output to train stop | ||
| + | # train stop is connected to decider combinator #2 input | ||
| + | # decider combinator #2 output is connected to the communication grid | ||
| + | ===Decider combinator #1 config=== | ||
| + | ====Conditions==== | ||
| + | if resource is > (greater than) static value | ||
| + | ====Outputs==== | ||
| + | select "L" and define a static value of 1 | ||
| + | ===Train stop config=== | ||
| + | * set "Set train limit" and select "L" | ||
| + | * set "Read train count" and select "C" | ||
| + | ===Decider combinator #2 config=== | ||
| + | ====Conditions==== | ||
| + | if "C" > (greater than) 0 | ||
| + | ====Outputs==== | ||
| + | select <resource> and define a static value of 1 | ||
| + | |||
| + | ==Depot== | ||
| + | Where trains live until they are called for use | ||
| + | ===Items Needed=== | ||
| + | * Train Stop | ||
| + | * communication grid | ||
| + | * Decider Combinator (x2) | ||
| + | * Lamp | ||
| + | * Constant Combinator | ||
| + | ===Train stop Connections === | ||
| + | # connect Train stop to the communication grid | ||
| + | ===Train stop config=== | ||
| + | All train stops should be set to the same configuration | ||
| + | * Select "Send to train" | ||
| + | * Rename "Depot" | ||
| + | ===Depot Timer=== | ||
| + | This is used as a global timer that only allows 1 train to accept new tasks at a time and prevents multiple trains from going for the same task. | ||
| + | ===Depot Timer Connections=== | ||
| + | #connect constant combinator to decider combinator input | ||
| + | #connect decider combinator output to same decider combinator input. | ||
| + | #connect decider combinator output to the communication grid | ||
| + | ===Depot Timer config=== | ||
| + | ====Constant combinator config==== | ||
| + | =====Outputs===== | ||
| + | * Select K and assign a value of 1 | ||
| + | ====Decider Combinator==== | ||
| + | =====Conditions===== | ||
| + | * Set "K" < (less than) 240 | ||
| + | =====Outputs===== | ||
| + | * Set "K" to the Input count | ||
| + | ===Train Controllers=== | ||
| + | These are done per train stop. | ||
| + | # 1 decider combinator controls a single train being activated for a new task along with turning a light green. | ||
| + | # a second decider combinator turns the same light red when the train is not being activated for a new task. | ||
| + | # The numbers used here vary per train stop. I have been using groups of 20, ie. between 20 and 40, or 40 and 60, etc. You can adjust this as needed to fit your trains in. Its recommended to have a bit of a buffer, ie dont set the diff to 1, in order to avoid overlap. | ||
| + | ====Connections==== | ||
| + | Using a second communication grid separate from the one used by the train stop and depot timer | ||
| + | * connect decider combinator #1 output to the lamp | ||
| + | * connect decider combinator #1 output to the train stop | ||
| + | * connect decider combinator #2 output to the lamp | ||
| + | Using the same communication grid as the train stop and depot timer | ||
| + | * connect communication grid to the input of decider combinator #1 | ||
| + | * connect communication grid to the input of decider combinator #2 | ||
| + | ====Decider combinator #1 config==== | ||
| + | =====Conditions===== | ||
| + | * (this can vary). K < (less than) 0 ---OR--- K > 20 (for example) | ||
| + | AND | ||
| + | * K < (less than) 40 | ||
| + | =====Outputs===== | ||
| + | * P with a static value of 1 | ||
| + | * the color green with a static value of 1 | ||
| + | * O with a static value of 1 | ||
| + | ====Decider combinator #2 config==== | ||
| + | =====Conditions===== | ||
| + | * (this can vary). K < (less than) 20 | ||
| + | OR | ||
| + | * K > (greater than) 40 | ||
| + | =====Outputs===== | ||
| + | * P with a static value of 1 | ||
| + | * the color red with a static value of 1 | ||
| + | ====Lamp==== | ||
| + | * Check "Enable/disable" and select "P" does NOT equal 1 | ||
| + | * Check "Use colors" | ||
| + | * select "Color mapping" | ||
| + | |||
| + | ==Train== | ||
| + | ===Config=== | ||
| + | ====Schedule==== | ||
| + | This should be set only to "depot" | ||
| + | ====Interrupts==== | ||
| + | # Create a new interrupt. Name it "<resource image> Loop" | ||
| + | =====Conditions===== | ||
| + | * <resource> provider is not full #you get this by selecting "station is not full" and then selecting the <resource> provider | ||
| + | AND | ||
| + | * <resource> requester is not full #you get this by selecting "station is not full" and then selecting the <resource> requester | ||
| + | AND | ||
| + | * Circuit <resource> < (less than) 0 | ||
| + | AND | ||
| + | * Circuit O (letter O not zero) = (equals) 1 | ||
| + | |||
| + | =====Targets===== | ||
| + | * <resource> provider -- Full cargo inventory | ||
| + | * <resource> requester -- Empty cargo inventory | ||
Latest revision as of 04:27, 19 January 2025
Contents |
[edit] LTN style Logistics Train Network
Requirements:
- Factorio 2.0 with Interrupts
Reference: https://www.youtube.com/watch?v=EggDldJVggM&t=2009s
[edit] Requester Station
Where you request resources to be delivered to.
[edit] Items Needed
- Chest(s)
- Decider Combinator
- Arithmetic Combinator
- Train Stop
- communication grid
[edit] Connections
- connect chests together and then to the decider combinator input
- connect train station to decider combinator output
- connect train station to decider combinator input
- connect train station to arithmetic combinator input
- decider combinator output connects to arithmetic combinator input
- arithmetic combinator output connects to the grid
[edit] Decider combinator config
[edit] Conditions
- if resource < (less than) static value
AND
- "C" is < (less than) 1
[edit] Outputs
select "L" and define a static value of 1
[edit] Arithmetic Combinator config
[edit] Input
select "L" and multiply by -1
[edit] Output
select resource
[edit] Train stop config
- set "Set train limit" and select "L"
- Read train count "C"
[edit] Provider Station
Where you provider specific resources from.
[edit] Items Needed
- Chest(s)
- Decider Combinator x2
- Train Stop
- communication grid
[edit] Connections
- connect chests together and then to the decider combinator #1 input
- decider combinator #1 output to train stop
- train stop is connected to decider combinator #2 input
- decider combinator #2 output is connected to the communication grid
[edit] Decider combinator #1 config
[edit] Conditions
if resource is > (greater than) static value
[edit] Outputs
select "L" and define a static value of 1
[edit] Train stop config
- set "Set train limit" and select "L"
- set "Read train count" and select "C"
[edit] Decider combinator #2 config
[edit] Conditions
if "C" > (greater than) 0
[edit] Outputs
select <resource> and define a static value of 1
[edit] Depot
Where trains live until they are called for use
[edit] Items Needed
- Train Stop
- communication grid
- Decider Combinator (x2)
- Lamp
- Constant Combinator
[edit] Train stop Connections
- connect Train stop to the communication grid
[edit] Train stop config
All train stops should be set to the same configuration
- Select "Send to train"
- Rename "Depot"
[edit] Depot Timer
This is used as a global timer that only allows 1 train to accept new tasks at a time and prevents multiple trains from going for the same task.
[edit] Depot Timer Connections
- connect constant combinator to decider combinator input
- connect decider combinator output to same decider combinator input.
- connect decider combinator output to the communication grid
[edit] Depot Timer config
[edit] Constant combinator config
[edit] Outputs
- Select K and assign a value of 1
[edit] Decider Combinator
[edit] Conditions
- Set "K" < (less than) 240
[edit] Outputs
- Set "K" to the Input count
[edit] Train Controllers
These are done per train stop.
- 1 decider combinator controls a single train being activated for a new task along with turning a light green.
- a second decider combinator turns the same light red when the train is not being activated for a new task.
- The numbers used here vary per train stop. I have been using groups of 20, ie. between 20 and 40, or 40 and 60, etc. You can adjust this as needed to fit your trains in. Its recommended to have a bit of a buffer, ie dont set the diff to 1, in order to avoid overlap.
[edit] Connections
Using a second communication grid separate from the one used by the train stop and depot timer
- connect decider combinator #1 output to the lamp
- connect decider combinator #1 output to the train stop
- connect decider combinator #2 output to the lamp
Using the same communication grid as the train stop and depot timer
- connect communication grid to the input of decider combinator #1
- connect communication grid to the input of decider combinator #2
[edit] Decider combinator #1 config
[edit] Conditions
- (this can vary). K < (less than) 0 ---OR--- K > 20 (for example)
AND
- K < (less than) 40
[edit] Outputs
- P with a static value of 1
- the color green with a static value of 1
- O with a static value of 1
[edit] Decider combinator #2 config
[edit] Conditions
- (this can vary). K < (less than) 20
OR
- K > (greater than) 40
[edit] Outputs
- P with a static value of 1
- the color red with a static value of 1
[edit] Lamp
- Check "Enable/disable" and select "P" does NOT equal 1
- Check "Use colors"
- select "Color mapping"
[edit] Train
[edit] Config
[edit] Schedule
This should be set only to "depot"
[edit] Interrupts
- Create a new interrupt. Name it "<resource image> Loop"
[edit] Conditions
- <resource> provider is not full #you get this by selecting "station is not full" and then selecting the <resource> provider
AND
- <resource> requester is not full #you get this by selecting "station is not full" and then selecting the <resource> requester
AND
- Circuit <resource> < (less than) 0
AND
- Circuit O (letter O not zero) = (equals) 1
[edit] Targets
- <resource> provider -- Full cargo inventory
- <resource> requester -- Empty cargo inventory