From d89c8136f7918fda1e9623d4c14f2e1f1a033eb3 Mon Sep 17 00:00:00 2001 From: hal8174 Date: Fri, 10 Jan 2025 23:06:54 +0100 Subject: [PATCH] Add 4 lane balancer --- blueprints/3train.bp | 1 + blueprints/3train.json | 78 + blueprints/4train.bp | 1 + blueprints/4train.json | 92 + blueprints/balancer.bp | 1 + blueprints/orientation.bp | 1 + blueprints/orientation.json | 137 + blueprints/own_train.json | 45 + blueprints/simple_splitter.bp | 1 + blueprints/single_belt.bp | 1 + blueprints/small_train.bp | 1 + blueprints/small_train.json | 119 + blueprints/train2.0.bp | 1 + blueprints/train2.0.json | 5752 ++++++++++++++++++++++ src/bin/balancer_blueprint.rs | 12 + {examples => src/bin}/train_blueprint.rs | 0 src/blueprint/balancer.rs | 139 + src/blueprint/mod.rs | 1 + src/blueprint/structs.rs | 2 +- 19 files changed, 6384 insertions(+), 1 deletion(-) create mode 100644 blueprints/3train.bp create mode 100644 blueprints/3train.json create mode 100644 blueprints/4train.bp create mode 100644 blueprints/4train.json create mode 100644 blueprints/balancer.bp create mode 100644 blueprints/orientation.bp create mode 100644 blueprints/orientation.json create mode 100644 blueprints/own_train.json create mode 100644 blueprints/simple_splitter.bp create mode 100644 blueprints/single_belt.bp create mode 100644 blueprints/small_train.bp create mode 100644 blueprints/small_train.json create mode 100644 blueprints/train2.0.bp create mode 100644 blueprints/train2.0.json create mode 100644 src/bin/balancer_blueprint.rs rename {examples => src/bin}/train_blueprint.rs (100%) create mode 100644 src/blueprint/balancer.rs diff --git a/blueprints/3train.bp b/blueprints/3train.bp new file mode 100644 index 0000000..cbfbe15 --- /dev/null +++ b/blueprints/3train.bp @@ -0,0 +1 @@ +0eNqVkmFuwjAMhe/i32FipV3XXgWhKgRTLFKHNWk3hHL3OS0TaEOTkCpVSezv+dm+wNYOeOqJA9QXIOPYQ72+gKeWtU13rDuEGnpNFqIC4h1+Qf0a1YMg64zrXKAR70KzuFGAHCgQzvDpcG546LbYC0v95PsgMu0hLCY1BSfnJctxkkikslBwlv9qFZP+L06mHtTxDyR/eS+LmGrTW4uNdS35QMY3nweSc+dG4hbqvbYeFbieRE/PpKW4C9jNdmh33ydnjhgW+wGTgY9BWykxlYQt8k7356kzc66kckM8CtfJw8S6naQtPmhznNSMG9KIsmXcRPn+ml8938TiURPz5zllTBP2QZw3skCMJoVd9yjdXncguRbubeMUjNj7CVm8ZVVeVUVeVmVRyni/ARwe37c= diff --git a/blueprints/3train.json b/blueprints/3train.json new file mode 100644 index 0000000..88e96f3 --- /dev/null +++ b/blueprints/3train.json @@ -0,0 +1,78 @@ +{ + "blueprint": { + "entities": [ + { + "entity_number": 1, + "name": "straight-rail", + "position": { + "x": 275, + "y": 233 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 2, + "items": [ + { + "id": { + "name": "rocket-fuel", + "quality": "legendary" + }, + "items": { + "in_inventory": [ + { + "count": 20, + "inventory": 1, + "stack": 0 + } + ] + } + } + ], + "name": "locomotive", + "orientation": 0, + "position": { + "x": 275, + "y": 234.875 + } + }, + { + "entity_number": 3, + "name": "straight-rail", + "position": { + "x": 275, + "y": 235 + } + }, + { + "entity_number": 4, + "name": "straight-rail", + "position": { + "x": 275, + "y": 237 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "rail" + } + }, + { + "index": 2, + "signal": { + "name": "locomotive" + } + } + ], + "item": "blueprint", + "stock_connections": [ + { + "stock": 2 + } + ], + "version": 562949954797573 + } +} diff --git a/blueprints/4train.bp b/blueprints/4train.bp new file mode 100644 index 0000000..2d116f9 --- /dev/null +++ b/blueprints/4train.bp @@ -0,0 +1 @@ +0eNqN000KwjAQBeC7zDpdaJvG5Coi0p+hDrTTkkRRSu9u2iIuRJhlyHtfApPMUPd3nDxxBDdD4GrK4ph1ntp1/QR3KBW8wBWLAmpGDuDOKUcdV/2a4GpAcOAr6mGNcItrabkoQI4UCffGtnhd+T7U6FNAfZohpm53i9lGKJjGkFojf47fTs8T3ZLHZt9Jl/kRj1Ixl4q5VNRSsZCKRipqqWilYimejHg0RkyKZ3MSk3+Gk94nRRwS8P0ACh7owxbQ5dEW1urCWKNNvixvl10L0w== diff --git a/blueprints/4train.json b/blueprints/4train.json new file mode 100644 index 0000000..dfe63f4 --- /dev/null +++ b/blueprints/4train.json @@ -0,0 +1,92 @@ +{ + "blueprint": { + "entities": [ + { + "direction": 4, + "entity_number": 1, + "name": "straight-rail", + "position": { + "x": 1, + "y": 3 + } + }, + { + "direction": 4, + "entity_number": 2, + "name": "straight-rail", + "position": { + "x": 3, + "y": 3 + } + }, + { + "direction": 4, + "entity_number": 3, + "name": "straight-rail", + "position": { + "x": 5, + "y": 3 + } + }, + { + "direction": 4, + "entity_number": 4, + "name": "straight-rail", + "position": { + "x": 7, + "y": 3 + } + }, + { + "direction": 4, + "entity_number": 5, + "name": "straight-rail", + "position": { + "x": 9, + "y": 3 + } + }, + { + "direction": 4, + "entity_number": 6, + "name": "straight-rail", + "position": { + "x": 11, + "y": 3 + } + }, + { + "direction": 4, + "entity_number": 7, + "name": "straight-rail", + "position": { + "x": 13, + "y": 3 + } + }, + { + "direction": 4, + "entity_number": 8, + "name": "straight-rail", + "position": { + "x": 15, + "y": 3 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "rail" + } + } + ], + "item": "blueprint", + "snap-to-grid": { + "x": 16, + "y": 4 + }, + "version": 562949954797573 + } +} diff --git a/blueprints/balancer.bp b/blueprints/balancer.bp new file mode 100644 index 0000000..4b6abcb --- /dev/null +++ b/blueprints/balancer.bp @@ -0,0 +1 @@ +0eNqdlttugzAMht/F12mVhBgIrzJNUw9RFYkGFMI0VPHuC0Xa2kHWkCsEsr/Y/m2cGxzrXrVWGwfVDfSpMR1Ubzfo9MUc6umbOVwVVODswXRtY93uqGoHIwFtzuoLKjaSFfOurbVzyj4Y8vGdgDJOO63mQ+4vw4fpr0dvWTGy8CbQNp13aMzE9hCkBAaodozSPY7T0X8gPAbCX0AyEkh7gRJyjzNMlusskcKS6yz8YfW+pvZiG/8M0JA+RUbADe3k2fSu7ScBF/R8C51tpRcxwrD/8y+ja4n8lS4yhRWIi9EUkYsAjG2pVB6A8Pj06FNEBM7aqtNswPgaO348HtpkwRZraJGiSqiQmKKKCMDyFBhGJV2kjbV4HDxtAnPHyrSxjqTLlF7AwL+bpjRtCMZSWimgPucpMIwaJ55t2HsyCwQoNuy9GeK3sXbq6j1+7wAEPpXt7h6YcymkRMzKIpPZOH4DJhSmag== diff --git a/blueprints/orientation.bp b/blueprints/orientation.bp new file mode 100644 index 0000000..71014e0 --- /dev/null +++ b/blueprints/orientation.bp @@ -0,0 +1 @@ +0eNrFlPFqgzAQxt/l/s6kNbFOX2UUSe3VHY1JZ6JbKb77LrqthVHoOthAyF2S++77YbgTbEyPh45sgPIEVDvroXw6gafGahP3rG4RSug0GRgFkN3iG5TLcS0AbaBAOFdMybGyfbvBji+Iz0rjate6QAOCgIPzXOJsVGaZNON7R16lStLlY56NUVVvDFbGNeQD1b56fSbOWzeQbaDcaeNRgOuIO+pZa8G+ArazEdpe2nb1HsPDrkfD3V96bdhkNIUN2q3ujhPTXMultiI7sK7jg0nrnLFRH3S9527jeuRPfGNOb2NWMlkx6gyu5J3ISVT4S2oBtevjO1HX+OWN/7xICvl7/vS/+NNr/Opnbz5bJEre/eST/8KXM/46HnGjimeGxTq6+hgdcTdOCPEVpxexvIhVVIlG2Nx5EAkYsPMTZbZKC1UUmcqLPMvlOL4DS3+ZEg== diff --git a/blueprints/orientation.json b/blueprints/orientation.json new file mode 100644 index 0000000..dd5f82c --- /dev/null +++ b/blueprints/orientation.json @@ -0,0 +1,137 @@ +{ + "blueprint": { + "entities": [ + { + "enable_logistics_while_moving": false, + "entity_number": 1, + "items": [ + { + "id": { + "name": "rocket-fuel", + "quality": "legendary" + }, + "items": { + "in_inventory": [ + { + "inventory": 1, + "stack": 0 + } + ] + } + } + ], + "name": "locomotive", + "orientation": 0, + "position": { + "x": 251, + "y": 234.21875 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 2, + "items": [ + { + "id": { + "name": "rocket-fuel", + "quality": "legendary" + }, + "items": { + "in_inventory": [ + { + "count": 4, + "inventory": 1, + "stack": 0 + } + ] + } + } + ], + "name": "locomotive", + "orientation": 0.75, + "position": { + "x": 243.6875, + "y": 243 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 3, + "items": [ + { + "id": { + "name": "rocket-fuel", + "quality": "legendary" + }, + "items": { + "in_inventory": [ + { + "count": 2, + "inventory": 1, + "stack": 0 + } + ] + } + } + ], + "name": "locomotive", + "orientation": 0.25, + "position": { + "x": 259.9375, + "y": 243 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 4, + "items": [ + { + "id": { + "name": "rocket-fuel", + "quality": "legendary" + }, + "items": { + "in_inventory": [ + { + "count": 3, + "inventory": 1, + "stack": 0 + } + ] + } + } + ], + "name": "locomotive", + "orientation": 0.5, + "position": { + "x": 251, + "y": 250.4375 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "rail" + } + } + ], + "item": "blueprint", + "stock_connections": [ + { + "stock": 1 + }, + { + "stock": 2 + }, + { + "stock": 3 + }, + { + "stock": 4 + } + ], + "version": 562949954797573 + } +} diff --git a/blueprints/own_train.json b/blueprints/own_train.json new file mode 100644 index 0000000..721974b --- /dev/null +++ b/blueprints/own_train.json @@ -0,0 +1,45 @@ +{ + "blueprint": { + "item": "blueprint", + "label": "test", + "entities": [ + { + "entity_number": 1, + "name": "locomotive", + "orientation": 0, + "position": { + "x": 0, + "y": 0 + } + }, + { + "entity_number": 2, + "name": "cargo-wagon", + "orientation": 0, + "position": { + "x": 0, + "y": 7 + } + } + ], + "stock_connections": [ + { + "back": 2, + "stock": 1 + }, + { + "stock": 2, + "front": 1 + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "rail" + } + } + ], + "version": 562949954797573 + } +} diff --git a/blueprints/simple_splitter.bp b/blueprints/simple_splitter.bp new file mode 100644 index 0000000..436ee5a --- /dev/null +++ b/blueprints/simple_splitter.bp @@ -0,0 +1 @@ +0eNqd0W8LgjAQBvDvcq+n+G/l9lUiQuuIgZ6ynZHIvnuziMISopcbz/O7Y5ugbgbsrSEGPYE5duRA7yZw5kxVM99R1SJoYFuR6zvLUY0Ngxdg6IRX0KkXX+Kubwwz2rdg5vcCkNiwwceQ+2E80NDWIalT8dEW0HcuFDqa7YCUWwEj6ChN0lj6efQCycTKxp9UGcsnlnzH8r+wlc2KnzGVLLDwcIaxDdXXdwm4oHX3ktxkqlBKyrzc5ir3/gbLs5nn diff --git a/blueprints/single_belt.bp b/blueprints/single_belt.bp new file mode 100644 index 0000000..5c7a7e9 --- /dev/null +++ b/blueprints/single_belt.bp @@ -0,0 +1 @@ +0eNp1jsEOgjAQRP9lzoWItUL7K8YYqhvTBLakLUZC+u8WPHjyuJN5b3aFHWaaguMEs8LdPUeYy4rontwPW8b9SDBIoec4+ZAqS0NCFnD8oDdMk68CxMklR192P5Ybz6OlUArij0Ng8rFgnredouraWgksMFVzkLXKm9klGgv6e1PgRSHukDof9UlrpWTXSi1z/gD180RL diff --git a/blueprints/small_train.bp b/blueprints/small_train.bp new file mode 100644 index 0000000..d7b7b07 --- /dev/null +++ b/blueprints/small_train.bp @@ -0,0 +1 @@ +0eNqtlGFvwiAQhv/LfUZjaxHbv7IsDa1YL6NgAOuM6X/f0Tq3ZF3Ckn0ivHAP78Fxd2j0RZ0dmgDVHbC1xkP1cgePnZE6akb2CipwEjWMDNAc1DtU2fjKQJmAAdUcMU1utbn0jXK0gX1G+kCx3SmsJgSDs/UUZU2EEynfcAY3GouM8Ad0qp1Xi5H9oObpVJFO3T6prXSdXV1lR1sXmPv1bi++21VGNlrV2nboA7a+vp6Q5r0d0HRQHaX2ioF1SCfKGbVZ5zxe40CSdUQyF60XTBXpqZbpqfJkapalU3fp1G06VTyp2ra2twEHtYTk//QqCxb26Yn9oYrLdOofqjjbpGN/rRj61T7Y9q2mTmBm+dEQojp9laOzsVuIaOGhkstGTssRgEH1ZOKrszAYlPPTCXyXl0VZ8kKUgovtOH4AgIx9uw== diff --git a/blueprints/small_train.json b/blueprints/small_train.json new file mode 100644 index 0000000..a11019a --- /dev/null +++ b/blueprints/small_train.json @@ -0,0 +1,119 @@ +{ + "blueprint": { + "entities": [ + { + "direction": 4, + "entity_number": 1, + "name": "straight-rail", + "position": { + "x": 205, + "y": 0 + } + }, + { + "direction": 4, + "entity_number": 2, + "name": "straight-rail", + "position": { + "x": 207, + "y": 0 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 3, + "inventory": null, + "name": "cargo-wagon", + "orientation": 0.25, + "position": { + "x": 208.6875, + "y": 0 + } + }, + { + "direction": 4, + "entity_number": 4, + "name": "straight-rail", + "position": { + "x": 209, + "y": 0 + } + }, + { + "direction": 4, + "entity_number": 5, + "name": "straight-rail", + "position": { + "x": 211, + "y": 0 + } + }, + { + "direction": 4, + "entity_number": 6, + "name": "straight-rail", + "position": { + "x": 213, + "y": 0 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 7, + "name": "locomotive", + "orientation": 0.25, + "position": { + "x": 215.6875, + "y": 0 + } + }, + { + "direction": 4, + "entity_number": 8, + "name": "straight-rail", + "position": { + "x": 215, + "y": 0 + } + }, + { + "direction": 4, + "entity_number": 9, + "name": "straight-rail", + "position": { + "x": 217, + "y": 0 + } + }, + { + "direction": 4, + "entity_number": 10, + "name": "straight-rail", + "position": { + "x": 219, + "y": 0 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "rail" + } + } + ], + "item": "blueprint", + "stock_connections": [ + { + "front": 7, + "stock": 3 + }, + { + "back": 3, + "stock": 7 + } + ], + "version": 562949954797573 + } +} diff --git a/blueprints/train2.0.bp b/blueprints/train2.0.bp new file mode 100644 index 0000000..586c3d9 --- /dev/null +++ b/blueprints/train2.0.bp @@ -0,0 +1 @@ +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 diff --git a/blueprints/train2.0.json b/blueprints/train2.0.json new file mode 100644 index 0000000..7b8ccd5 --- /dev/null +++ b/blueprints/train2.0.json @@ -0,0 +1,5752 @@ +{ + "blueprint_book": { + "active_index": 1, + "blueprints": [ + { + "blueprint": { + "entities": [ + { + "entity_number": 1, + "name": "straight-rail", + "position": { + "x": -333, + "y": -267 + } + }, + { + "color": { + "a": 1, + "b": 0, + "g": 0, + "r": 0.949999988079071 + }, + "enable_logistics_while_moving": false, + "entity_number": 2, + "items": [ + { + "id": { + "name": "solid-fuel" + }, + "items": { + "in_inventory": [ + { + "count": 20, + "inventory": 1, + "stack": 2 + } + ] + } + } + ], + "name": "locomotive", + "orientation": 0, + "position": { + "x": -333, + "y": -265.21875 + } + }, + { + "entity_number": 3, + "name": "straight-rail", + "position": { + "x": -333, + "y": -265 + } + }, + { + "entity_number": 4, + "name": "straight-rail", + "position": { + "x": -333, + "y": -263 + } + }, + { + "entity_number": 5, + "name": "straight-rail", + "position": { + "x": -333, + "y": -261 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 6, + "inventory": null, + "name": "cargo-wagon", + "orientation": 0, + "position": { + "x": -333, + "y": -258.22265625 + } + }, + { + "entity_number": 7, + "name": "straight-rail", + "position": { + "x": -333, + "y": -259 + } + }, + { + "entity_number": 8, + "name": "straight-rail", + "position": { + "x": -333, + "y": -257 + } + }, + { + "entity_number": 9, + "name": "straight-rail", + "position": { + "x": -333, + "y": -255 + } + }, + { + "entity_number": 10, + "name": "straight-rail", + "position": { + "x": -333, + "y": -253 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 11, + "inventory": null, + "name": "cargo-wagon", + "orientation": 0, + "position": { + "x": -333, + "y": -251.21875 + } + }, + { + "entity_number": 12, + "name": "straight-rail", + "position": { + "x": -333, + "y": -251 + } + }, + { + "entity_number": 13, + "name": "straight-rail", + "position": { + "x": -333, + "y": -249 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "locomotive" + } + }, + { + "index": 2, + "signal": { + "name": "cargo-wagon" + } + }, + { + "index": 3, + "signal": { + "name": "signal-1", + "type": "virtual" + } + }, + { + "index": 4, + "signal": { + "name": "signal-2", + "type": "virtual" + } + } + ], + "item": "blueprint", + "schedules": [ + { + "locomotives": [ + 2 + ], + "schedule": { + "group": "Trains", + "interrupts": [ + { + "conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 50, + "first_signal": { + "name": "coal" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 50, + "first_signal": { + "name": "solid-fuel" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 10, + "first_signal": { + "name": "rocket-fuel" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 1, + "first_signal": { + "name": "nuclear-fuel" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "station": "Fuel", + "type": "specific_destination_not_full" + } + ], + "inside_interrupt": true, + "name": "[virtual-signal=signal-1][virtual-signal=signal-X] Fuel", + "targets": [ + { + "station": "Fuel", + "wait_conditions": [ + { + "compare_type": "and", + "ticks": 120, + "type": "inactivity" + } + ] + } + ] + }, + { + "conditions": [ + { + "compare_type": "and", + "station": "[virtual-signal=signal-L]", + "type": "specific_destination_not_full" + }, + { + "compare_type": "and", + "type": "empty" + } + ], + "inside_interrupt": false, + "name": "[virtual-signal=signal-1][virtual-signal=signal-2] Generic Load", + "targets": [ + { + "station": "[virtual-signal=signal-L][virtual-signal=signal-1][virtual-signal=signal-2]", + "wait_conditions": [ + { + "compare_type": "and", + "type": "full" + } + ] + } + ] + }, + { + "conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "≠", + "constant": 0, + "first_signal": { + "name": "signal-item-parameter", + "type": "virtual" + } + }, + "type": "item_count" + } + ], + "inside_interrupt": false, + "name": "[virtual-signal=signal-1][virtual-signal=signal-2] Generic Unload", + "targets": [ + { + "station": "[virtual-signal=signal-U][virtual-signal=signal-item-parameter]", + "wait_conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "=", + "constant": 0, + "first_signal": { + "name": "signal-item-parameter", + "type": "virtual" + } + }, + "type": "item_count" + } + ] + }, + { + "station": "[virtual-signal=signal-U][virtual-signal=signal-1][virtual-signal=signal-2][item=copper-plate]", + "wait_conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "=", + "constant": 0, + "first_signal": { + "name": "signal-item-parameter", + "type": "virtual" + } + }, + "type": "item_count" + } + ] + } + ] + } + ], + "records": [ + { + "station": "Depot" + } + ] + } + } + ], + "stock_connections": [ + { + "back": 6, + "stock": 2 + }, + { + "back": 11, + "front": 2, + "stock": 6 + }, + { + "front": 6, + "stock": 11 + } + ], + "version": 562949954797573 + }, + "index": 0 + }, + { + "blueprint": { + "entities": [ + { + "direction": 4, + "entity_number": 1, + "name": "straight-rail", + "position": { + "x": 245, + "y": -67 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 2, + "inventory": null, + "name": "cargo-wagon", + "orientation": 0.25, + "position": { + "x": 246.78125, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 3, + "name": "straight-rail", + "position": { + "x": 247, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 4, + "name": "straight-rail", + "position": { + "x": 249, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 5, + "name": "straight-rail", + "position": { + "x": 251, + "y": -67 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 6, + "inventory": null, + "name": "cargo-wagon", + "orientation": 0.25, + "position": { + "x": 253.78125, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 7, + "name": "straight-rail", + "position": { + "x": 253, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 8, + "name": "straight-rail", + "position": { + "x": 255, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 9, + "name": "straight-rail", + "position": { + "x": 257, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 10, + "name": "straight-rail", + "position": { + "x": 259, + "y": -67 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 11, + "inventory": null, + "name": "cargo-wagon", + "orientation": 0.25, + "position": { + "x": 260.78125, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 12, + "name": "straight-rail", + "position": { + "x": 261, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 13, + "name": "straight-rail", + "position": { + "x": 263, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 14, + "name": "straight-rail", + "position": { + "x": 265, + "y": -67 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 15, + "inventory": null, + "name": "cargo-wagon", + "orientation": 0.25, + "position": { + "x": 267.78125, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 16, + "name": "straight-rail", + "position": { + "x": 267, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 17, + "name": "straight-rail", + "position": { + "x": 269, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 18, + "name": "straight-rail", + "position": { + "x": 271, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 19, + "name": "straight-rail", + "position": { + "x": 273, + "y": -67 + } + }, + { + "enable_logistics_while_moving": false, + "entity_number": 20, + "items": [ + { + "id": { + "name": "rocket-fuel" + }, + "items": { + "in_inventory": [ + { + "count": 10, + "inventory": 1, + "stack": 0 + } + ] + } + } + ], + "name": "locomotive", + "orientation": 0.25, + "position": { + "x": 274.78125, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 21, + "name": "straight-rail", + "position": { + "x": 275, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 22, + "name": "straight-rail", + "position": { + "x": 277, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 23, + "name": "straight-rail", + "position": { + "x": 279, + "y": -67 + } + }, + { + "color": { + "a": 1, + "b": 0, + "g": 0, + "r": 0.949999988079071 + }, + "enable_logistics_while_moving": false, + "entity_number": 24, + "items": [ + { + "id": { + "name": "rocket-fuel" + }, + "items": { + "in_inventory": [ + { + "count": 5, + "inventory": 1, + "stack": 0 + }, + { + "count": 5, + "inventory": 1, + "stack": 0 + } + ] + } + } + ], + "name": "locomotive", + "orientation": 0.25, + "position": { + "x": 281.78125, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 25, + "name": "straight-rail", + "position": { + "x": 281, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 26, + "name": "straight-rail", + "position": { + "x": 283, + "y": -67 + } + }, + { + "direction": 4, + "entity_number": 27, + "name": "straight-rail", + "position": { + "x": 285, + "y": -67 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "locomotive" + } + }, + { + "index": 2, + "signal": { + "name": "cargo-wagon" + } + }, + { + "index": 3, + "signal": { + "name": "signal-2", + "type": "virtual" + } + }, + { + "index": 4, + "signal": { + "name": "signal-4", + "type": "virtual" + } + } + ], + "item": "blueprint", + "schedules": [ + { + "locomotives": [ + 20 + ], + "schedule": { + "group": "[virtual-signal=signal-2][virtual-signal=signal-4] Generic Train", + "interrupts": [ + { + "conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 50, + "first_signal": { + "name": "coal" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 50, + "first_signal": { + "name": "solid-fuel" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 20, + "first_signal": { + "name": "rocket-fuel" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 1, + "first_signal": { + "name": "nuclear-fuel" + } + }, + "type": "fuel_item_count_any" + } + ], + "inside_interrupt": true, + "name": "[virtual-signal=signal-2][virtual-signal=signal-X] Fuel", + "targets": [ + { + "station": "[virtual-signal=signal-F][virtual-signal=signal-2]", + "wait_conditions": [ + { + "compare_type": "and", + "ticks": 120, + "type": "inactivity" + } + ] + } + ] + }, + { + "conditions": [ + { + "compare_type": "and", + "station": "[virtual-signal=signal-L][virtual-signal=signal-2][virtual-signal=signal-4]", + "type": "specific_destination_not_full" + }, + { + "compare_type": "and", + "type": "empty" + } + ], + "inside_interrupt": false, + "name": "[virtual-signal=signal-2][virtual-signal=signal-4] Generic Load", + "targets": [ + { + "station": "[virtual-signal=signal-L][virtual-signal=signal-2][virtual-signal=signal-4]", + "wait_conditions": [ + { + "compare_type": "and", + "type": "full" + } + ] + } + ] + }, + { + "conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "≠", + "constant": 0, + "first_signal": { + "name": "signal-item-parameter", + "type": "virtual" + } + }, + "type": "item_count" + } + ], + "inside_interrupt": false, + "name": "[virtual-signal=signal-2][virtual-signal=signal-4] Generic Unload", + "targets": [ + { + "station": "[virtual-signal=signal-U][virtual-signal=signal-2][virtual-signal=signal-4][virtual-signal=signal-item-parameter]", + "wait_conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "=", + "constant": 0, + "first_signal": { + "name": "signal-item-parameter", + "type": "virtual" + } + }, + "type": "item_count" + } + ] + } + ] + } + ], + "records": [ + { + "station": "Depot" + } + ] + } + }, + { + "locomotives": [ + 24 + ], + "schedule": { + "group": "[virtual-signal=signal-2][virtual-signal=signal-4] Generic Train", + "interrupts": [ + { + "conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 50, + "first_signal": { + "name": "coal" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 50, + "first_signal": { + "name": "solid-fuel" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 20, + "first_signal": { + "name": "rocket-fuel" + } + }, + "type": "fuel_item_count_any" + }, + { + "compare_type": "and", + "condition": { + "comparator": "≤", + "constant": 1, + "first_signal": { + "name": "nuclear-fuel" + } + }, + "type": "fuel_item_count_any" + } + ], + "inside_interrupt": true, + "name": "[virtual-signal=signal-2][virtual-signal=signal-X] Fuel", + "targets": [ + { + "station": "[virtual-signal=signal-F][virtual-signal=signal-2]", + "wait_conditions": [ + { + "compare_type": "and", + "ticks": 120, + "type": "inactivity" + } + ] + } + ] + }, + { + "conditions": [ + { + "compare_type": "and", + "station": "[virtual-signal=signal-L][virtual-signal=signal-2][virtual-signal=signal-4]", + "type": "specific_destination_not_full" + }, + { + "compare_type": "and", + "type": "empty" + } + ], + "inside_interrupt": false, + "name": "[virtual-signal=signal-2][virtual-signal=signal-4] Generic Load", + "targets": [ + { + "station": "[virtual-signal=signal-L][virtual-signal=signal-2][virtual-signal=signal-4]", + "wait_conditions": [ + { + "compare_type": "and", + "type": "full" + } + ] + } + ] + }, + { + "conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "≠", + "constant": 0, + "first_signal": { + "name": "signal-item-parameter", + "type": "virtual" + } + }, + "type": "item_count" + } + ], + "inside_interrupt": false, + "name": "[virtual-signal=signal-2][virtual-signal=signal-4] Generic Unload", + "targets": [ + { + "station": "[virtual-signal=signal-U][virtual-signal=signal-2][virtual-signal=signal-4][virtual-signal=signal-item-parameter]", + "wait_conditions": [ + { + "compare_type": "and", + "condition": { + "comparator": "=", + "constant": 0, + "first_signal": { + "name": "signal-item-parameter", + "type": "virtual" + } + }, + "type": "item_count" + } + ] + } + ] + } + ], + "records": [ + { + "station": "Depot" + } + ] + } + } + ], + "stock_connections": [ + { + "front": 6, + "stock": 2 + }, + { + "back": 2, + "front": 11, + "stock": 6 + }, + { + "back": 6, + "front": 15, + "stock": 11 + }, + { + "back": 11, + "front": 20, + "stock": 15 + }, + { + "back": 15, + "front": 24, + "stock": 20 + }, + { + "back": 20, + "stock": 24 + } + ], + "version": 562949954797573 + }, + "index": 1 + }, + { + "blueprint": { + "entities": [ + { + "direction": 4, + "entity_number": 1, + "name": "straight-rail", + "position": { + "x": -185, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 2, + "name": "straight-rail", + "position": { + "x": -183, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 3, + "name": "straight-rail", + "position": { + "x": -181, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 4, + "name": "straight-rail", + "position": { + "x": -179, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 5, + "name": "straight-rail", + "position": { + "x": -177, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 6, + "name": "straight-rail", + "position": { + "x": -175, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 7, + "name": "straight-rail", + "position": { + "x": -173, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 8, + "name": "straight-rail", + "position": { + "x": -171, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 9, + "name": "straight-rail", + "position": { + "x": -169, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 10, + "name": "straight-rail", + "position": { + "x": -167, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 11, + "name": "straight-rail", + "position": { + "x": -165, + "y": -295 + } + }, + { + "entity_number": 12, + "name": "medium-electric-pole", + "position": { + "x": -185.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 13, + "name": "fast-inserter", + "position": { + "x": -184.5, + "y": -293.5 + } + }, + { + "entity_number": 14, + "name": "steel-chest", + "position": { + "x": -184.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 15, + "name": "fast-inserter", + "position": { + "x": -183.5, + "y": -293.5 + } + }, + { + "entity_number": 16, + "name": "steel-chest", + "position": { + "x": -183.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 17, + "name": "fast-inserter", + "position": { + "x": -182.5, + "y": -293.5 + } + }, + { + "entity_number": 18, + "name": "steel-chest", + "position": { + "x": -182.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 19, + "name": "fast-inserter", + "position": { + "x": -181.5, + "y": -293.5 + } + }, + { + "entity_number": 20, + "name": "steel-chest", + "position": { + "x": -181.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 21, + "name": "fast-inserter", + "position": { + "x": -180.5, + "y": -293.5 + } + }, + { + "entity_number": 22, + "name": "steel-chest", + "position": { + "x": -180.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 23, + "name": "fast-inserter", + "position": { + "x": -179.5, + "y": -293.5 + } + }, + { + "entity_number": 24, + "name": "steel-chest", + "position": { + "x": -179.5, + "y": -292.5 + } + }, + { + "entity_number": 25, + "name": "medium-electric-pole", + "position": { + "x": -178.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 26, + "name": "fast-inserter", + "position": { + "x": -177.5, + "y": -293.5 + } + }, + { + "entity_number": 27, + "name": "steel-chest", + "position": { + "x": -177.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 28, + "name": "fast-inserter", + "position": { + "x": -176.5, + "y": -293.5 + } + }, + { + "entity_number": 29, + "name": "steel-chest", + "position": { + "x": -176.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 30, + "name": "fast-inserter", + "position": { + "x": -175.5, + "y": -293.5 + } + }, + { + "entity_number": 31, + "name": "steel-chest", + "position": { + "x": -175.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 32, + "name": "fast-inserter", + "position": { + "x": -174.5, + "y": -293.5 + } + }, + { + "entity_number": 33, + "name": "steel-chest", + "position": { + "x": -174.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 34, + "name": "fast-inserter", + "position": { + "x": -173.5, + "y": -293.5 + } + }, + { + "entity_number": 35, + "name": "steel-chest", + "position": { + "x": -173.5, + "y": -292.5 + } + }, + { + "direction": 8, + "entity_number": 36, + "name": "fast-inserter", + "position": { + "x": -172.5, + "y": -293.5 + } + }, + { + "entity_number": 37, + "name": "steel-chest", + "position": { + "x": -172.5, + "y": -292.5 + } + }, + { + "entity_number": 38, + "name": "medium-electric-pole", + "position": { + "x": -171.5, + "y": -292.5 + } + }, + { + "color": { + "a": 1, + "b": 0, + "g": 0, + "r": 0.949999988079071 + }, + "direction": 4, + "entity_number": 39, + "manual_trains_limit": 2, + "name": "train-stop", + "position": { + "x": -165, + "y": -293 + }, + "station": "[virtual-signal=signal-L][virtual-signal=signal-1][virtual-signal=signal-2]" + }, + { + "direction": 12, + "entity_number": 40, + "name": "transport-belt", + "position": { + "x": -184.5, + "y": -290.5 + } + }, + { + "direction": 8, + "entity_number": 41, + "name": "fast-inserter", + "position": { + "x": -184.5, + "y": -291.5 + } + }, + { + "direction": 12, + "entity_number": 42, + "name": "transport-belt", + "position": { + "x": -183.5, + "y": -290.5 + } + }, + { + "direction": 12, + "entity_number": 43, + "name": "transport-belt", + "position": { + "x": -182.5, + "y": -290.5 + } + }, + { + "direction": 8, + "entity_number": 44, + "name": "fast-inserter", + "position": { + "x": -183.5, + "y": -291.5 + } + }, + { + "direction": 8, + "entity_number": 45, + "name": "fast-inserter", + "position": { + "x": -182.5, + "y": -291.5 + } + }, + { + "direction": 4, + "entity_number": 46, + "name": "transport-belt", + "position": { + "x": -181.5, + "y": -290.5 + } + }, + { + "direction": 4, + "entity_number": 47, + "name": "transport-belt", + "position": { + "x": -180.5, + "y": -290.5 + } + }, + { + "direction": 8, + "entity_number": 48, + "name": "fast-inserter", + "position": { + "x": -181.5, + "y": -291.5 + } + }, + { + "direction": 8, + "entity_number": 49, + "name": "fast-inserter", + "position": { + "x": -180.5, + "y": -291.5 + } + }, + { + "direction": 4, + "entity_number": 50, + "name": "transport-belt", + "position": { + "x": -179.5, + "y": -290.5 + } + }, + { + "direction": 8, + "entity_number": 51, + "name": "fast-inserter", + "position": { + "x": -179.5, + "y": -291.5 + } + }, + { + "direction": 12, + "entity_number": 52, + "name": "transport-belt", + "position": { + "x": -177.5, + "y": -290.5 + } + }, + { + "direction": 12, + "entity_number": 53, + "name": "transport-belt", + "position": { + "x": -176.5, + "y": -290.5 + } + }, + { + "direction": 8, + "entity_number": 54, + "name": "fast-inserter", + "position": { + "x": -177.5, + "y": -291.5 + } + }, + { + "direction": 8, + "entity_number": 55, + "name": "fast-inserter", + "position": { + "x": -176.5, + "y": -291.5 + } + }, + { + "direction": 12, + "entity_number": 56, + "name": "transport-belt", + "position": { + "x": -175.5, + "y": -290.5 + } + }, + { + "direction": 4, + "entity_number": 57, + "name": "transport-belt", + "position": { + "x": -174.5, + "y": -290.5 + } + }, + { + "direction": 8, + "entity_number": 58, + "name": "fast-inserter", + "position": { + "x": -175.5, + "y": -291.5 + } + }, + { + "direction": 8, + "entity_number": 59, + "name": "fast-inserter", + "position": { + "x": -174.5, + "y": -291.5 + } + }, + { + "direction": 4, + "entity_number": 60, + "name": "transport-belt", + "position": { + "x": -173.5, + "y": -290.5 + } + }, + { + "direction": 4, + "entity_number": 61, + "name": "transport-belt", + "position": { + "x": -172.5, + "y": -290.5 + } + }, + { + "direction": 8, + "entity_number": 62, + "name": "fast-inserter", + "position": { + "x": -173.5, + "y": -291.5 + } + }, + { + "direction": 8, + "entity_number": 63, + "name": "fast-inserter", + "position": { + "x": -172.5, + "y": -291.5 + } + }, + { + "entity_number": 64, + "name": "transport-belt", + "position": { + "x": -182.5, + "y": -288.5 + } + }, + { + "entity_number": 65, + "name": "splitter", + "position": { + "x": -182, + "y": -289.5 + } + }, + { + "entity_number": 66, + "name": "transport-belt", + "position": { + "x": -174.5, + "y": -288.5 + } + }, + { + "entity_number": 67, + "name": "splitter", + "position": { + "x": -175, + "y": -289.5 + } + }, + { + "entity_number": 68, + "name": "transport-belt", + "position": { + "x": -182.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 69, + "name": "transport-belt", + "position": { + "x": -181.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 70, + "name": "transport-belt", + "position": { + "x": -180.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 71, + "name": "transport-belt", + "position": { + "x": -179.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 72, + "name": "transport-belt", + "position": { + "x": -178.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 73, + "name": "transport-belt", + "position": { + "x": -177.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 74, + "name": "transport-belt", + "position": { + "x": -176.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 75, + "name": "transport-belt", + "position": { + "x": -175.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 76, + "name": "transport-belt", + "position": { + "x": -174.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 77, + "name": "splitter", + "position": { + "x": -173.5, + "y": -288 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "transport-belt" + } + }, + { + "index": 2, + "signal": { + "name": "signal-L", + "type": "virtual" + } + }, + { + "index": 3, + "signal": { + "name": "signal-1", + "type": "virtual" + } + }, + { + "index": 4, + "signal": { + "name": "signal-2", + "type": "virtual" + } + } + ], + "item": "blueprint", + "version": 562949954797573, + "wires": [ + [ + 12, + 5, + 25, + 5 + ], + [ + 25, + 5, + 38, + 5 + ] + ] + }, + "index": 6 + }, + { + "blueprint": { + "entities": [ + { + "direction": 4, + "entity_number": 1, + "name": "straight-rail", + "position": { + "x": -185, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 2, + "name": "straight-rail", + "position": { + "x": -183, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 3, + "name": "straight-rail", + "position": { + "x": -181, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 4, + "name": "straight-rail", + "position": { + "x": -179, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 5, + "name": "straight-rail", + "position": { + "x": -177, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 6, + "name": "straight-rail", + "position": { + "x": -175, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 7, + "name": "straight-rail", + "position": { + "x": -173, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 8, + "name": "straight-rail", + "position": { + "x": -171, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 9, + "name": "straight-rail", + "position": { + "x": -169, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 10, + "name": "straight-rail", + "position": { + "x": -167, + "y": -285 + } + }, + { + "direction": 4, + "entity_number": 11, + "name": "straight-rail", + "position": { + "x": -165, + "y": -285 + } + }, + { + "entity_number": 12, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -184.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 13, + "name": "steel-chest", + "position": { + "x": -184.5, + "y": -282.5 + } + }, + { + "entity_number": 14, + "name": "medium-electric-pole", + "position": { + "x": -185.5, + "y": -282.5 + } + }, + { + "entity_number": 15, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -182.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 16, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -183.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 17, + "name": "steel-chest", + "position": { + "x": -182.5, + "y": -282.5 + } + }, + { + "entity_number": 18, + "name": "steel-chest", + "position": { + "x": -183.5, + "y": -282.5 + } + }, + { + "entity_number": 19, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -180.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 20, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -181.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 21, + "name": "steel-chest", + "position": { + "x": -180.5, + "y": -282.5 + } + }, + { + "entity_number": 22, + "name": "steel-chest", + "position": { + "x": -181.5, + "y": -282.5 + } + }, + { + "entity_number": 23, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -179.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 24, + "name": "steel-chest", + "position": { + "x": -179.5, + "y": -282.5 + } + }, + { + "entity_number": 25, + "name": "medium-electric-pole", + "position": { + "x": -178.5, + "y": -282.5 + } + }, + { + "entity_number": 26, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -177.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 27, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -176.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 28, + "name": "steel-chest", + "position": { + "x": -176.5, + "y": -282.5 + } + }, + { + "entity_number": 29, + "name": "steel-chest", + "position": { + "x": -177.5, + "y": -282.5 + } + }, + { + "entity_number": 30, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -175.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 31, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -174.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 32, + "name": "steel-chest", + "position": { + "x": -174.5, + "y": -282.5 + } + }, + { + "entity_number": 33, + "name": "steel-chest", + "position": { + "x": -175.5, + "y": -282.5 + } + }, + { + "entity_number": 34, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -173.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 35, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -172.5, + "y": -283.5 + }, + "use_filters": true + }, + { + "entity_number": 36, + "name": "steel-chest", + "position": { + "x": -172.5, + "y": -282.5 + } + }, + { + "entity_number": 37, + "name": "steel-chest", + "position": { + "x": -173.5, + "y": -282.5 + } + }, + { + "entity_number": 38, + "name": "medium-electric-pole", + "position": { + "x": -171.5, + "y": -282.5 + } + }, + { + "color": { + "a": 1, + "b": 0, + "g": 0, + "r": 0.949999988079071 + }, + "direction": 4, + "entity_number": 39, + "manual_trains_limit": 1, + "name": "train-stop", + "position": { + "x": -165, + "y": -283 + }, + "station": "[virtual-signal=signal-U][virtual-signal=signal-1][virtual-signal=signal-2][item=parameter-0]" + }, + { + "entity_number": 40, + "name": "fast-inserter", + "position": { + "x": -184.5, + "y": -281.5 + } + }, + { + "direction": 4, + "entity_number": 41, + "name": "transport-belt", + "position": { + "x": -184.5, + "y": -280.5 + } + }, + { + "entity_number": 42, + "name": "fast-inserter", + "position": { + "x": -182.5, + "y": -281.5 + } + }, + { + "entity_number": 43, + "name": "fast-inserter", + "position": { + "x": -183.5, + "y": -281.5 + } + }, + { + "direction": 8, + "entity_number": 44, + "name": "transport-belt", + "position": { + "x": -182.5, + "y": -280.5 + } + }, + { + "direction": 4, + "entity_number": 45, + "name": "transport-belt", + "position": { + "x": -183.5, + "y": -280.5 + } + }, + { + "entity_number": 46, + "name": "fast-inserter", + "position": { + "x": -180.5, + "y": -281.5 + } + }, + { + "entity_number": 47, + "name": "fast-inserter", + "position": { + "x": -181.5, + "y": -281.5 + } + }, + { + "direction": 12, + "entity_number": 48, + "name": "transport-belt", + "position": { + "x": -180.5, + "y": -280.5 + } + }, + { + "direction": 8, + "entity_number": 49, + "name": "transport-belt", + "position": { + "x": -181.5, + "y": -280.5 + } + }, + { + "entity_number": 50, + "name": "fast-inserter", + "position": { + "x": -179.5, + "y": -281.5 + } + }, + { + "direction": 12, + "entity_number": 51, + "name": "transport-belt", + "position": { + "x": -179.5, + "y": -280.5 + } + }, + { + "entity_number": 52, + "name": "fast-inserter", + "position": { + "x": -176.5, + "y": -281.5 + } + }, + { + "entity_number": 53, + "name": "fast-inserter", + "position": { + "x": -177.5, + "y": -281.5 + } + }, + { + "direction": 4, + "entity_number": 54, + "name": "transport-belt", + "position": { + "x": -176.5, + "y": -280.5 + } + }, + { + "direction": 4, + "entity_number": 55, + "name": "transport-belt", + "position": { + "x": -177.5, + "y": -280.5 + } + }, + { + "entity_number": 56, + "name": "fast-inserter", + "position": { + "x": -174.5, + "y": -281.5 + } + }, + { + "entity_number": 57, + "name": "fast-inserter", + "position": { + "x": -175.5, + "y": -281.5 + } + }, + { + "direction": 8, + "entity_number": 58, + "name": "transport-belt", + "position": { + "x": -174.5, + "y": -280.5 + } + }, + { + "direction": 8, + "entity_number": 59, + "name": "transport-belt", + "position": { + "x": -175.5, + "y": -280.5 + } + }, + { + "entity_number": 60, + "name": "fast-inserter", + "position": { + "x": -172.5, + "y": -281.5 + } + }, + { + "entity_number": 61, + "name": "fast-inserter", + "position": { + "x": -173.5, + "y": -281.5 + } + }, + { + "direction": 12, + "entity_number": 62, + "name": "transport-belt", + "position": { + "x": -172.5, + "y": -280.5 + } + }, + { + "direction": 12, + "entity_number": 63, + "name": "transport-belt", + "position": { + "x": -173.5, + "y": -280.5 + } + }, + { + "direction": 8, + "entity_number": 64, + "name": "splitter", + "position": { + "x": -182, + "y": -279.5 + } + }, + { + "direction": 8, + "entity_number": 65, + "name": "transport-belt", + "position": { + "x": -181.5, + "y": -278.5 + } + }, + { + "direction": 8, + "entity_number": 66, + "name": "splitter", + "position": { + "x": -175, + "y": -279.5 + } + }, + { + "direction": 4, + "entity_number": 67, + "name": "transport-belt", + "position": { + "x": -174.5, + "y": -278.5 + } + }, + { + "direction": 4, + "entity_number": 68, + "name": "transport-belt", + "position": { + "x": -181.5, + "y": -277.5 + } + }, + { + "direction": 4, + "entity_number": 69, + "name": "transport-belt", + "position": { + "x": -180.5, + "y": -277.5 + } + }, + { + "direction": 4, + "entity_number": 70, + "name": "transport-belt", + "position": { + "x": -179.5, + "y": -277.5 + } + }, + { + "direction": 4, + "entity_number": 71, + "name": "transport-belt", + "position": { + "x": -178.5, + "y": -277.5 + } + }, + { + "direction": 4, + "entity_number": 72, + "name": "transport-belt", + "position": { + "x": -177.5, + "y": -277.5 + } + }, + { + "direction": 4, + "entity_number": 73, + "name": "transport-belt", + "position": { + "x": -176.5, + "y": -277.5 + } + }, + { + "direction": 4, + "entity_number": 74, + "name": "transport-belt", + "position": { + "x": -175.5, + "y": -277.5 + } + }, + { + "direction": 4, + "entity_number": 75, + "name": "transport-belt", + "position": { + "x": -174.5, + "y": -277.5 + } + }, + { + "direction": 4, + "entity_number": 76, + "name": "splitter", + "position": { + "x": -173.5, + "y": -278 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "transport-belt" + } + }, + { + "index": 2, + "signal": { + "name": "signal-U", + "type": "virtual" + } + }, + { + "index": 3, + "signal": { + "name": "signal-1", + "type": "virtual" + } + }, + { + "index": 4, + "signal": { + "name": "signal-2", + "type": "virtual" + } + } + ], + "item": "blueprint", + "parameters": [ + { + "id": "parameter-0", + "quality-condition": { + "comparator": "=", + "quality": "normal" + }, + "type": "id" + } + ], + "version": 562949954797573, + "wires": [ + [ + 14, + 5, + 25, + 5 + ], + [ + 25, + 5, + 38, + 5 + ] + ] + }, + "index": 7 + }, + { + "blueprint": { + "entities": [ + { + "entity_number": 1, + "name": "medium-electric-pole", + "position": { + "x": -273.5, + "y": -296.5 + } + }, + { + "entity_number": 2, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -294.5 + } + }, + { + "entity_number": 3, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -295.5 + } + }, + { + "direction": 12, + "entity_number": 4, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -294.5 + } + }, + { + "direction": 12, + "entity_number": 5, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -295.5 + } + }, + { + "direction": 12, + "entity_number": 6, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -294.5 + } + }, + { + "direction": 12, + "entity_number": 7, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -295.5 + } + }, + { + "entity_number": 8, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -294.5 + } + }, + { + "entity_number": 9, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -295.5 + } + }, + { + "entity_number": 10, + "name": "straight-rail", + "position": { + "x": -271, + "y": -295 + } + }, + { + "direction": 4, + "entity_number": 11, + "name": "splitter", + "position": { + "x": -276.5, + "y": -293 + } + }, + { + "direction": 8, + "entity_number": 12, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -292.5 + } + }, + { + "entity_number": 13, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -293.5 + } + }, + { + "direction": 12, + "entity_number": 14, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -292.5 + } + }, + { + "direction": 12, + "entity_number": 15, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -293.5 + } + }, + { + "entity_number": 16, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -293.5 + } + }, + { + "entity_number": 17, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -292.5 + } + }, + { + "direction": 12, + "entity_number": 18, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -292.5 + } + }, + { + "direction": 12, + "entity_number": 19, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -293.5 + } + }, + { + "entity_number": 20, + "name": "straight-rail", + "position": { + "x": -271, + "y": -293 + } + }, + { + "direction": 12, + "entity_number": 21, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -290.5 + } + }, + { + "direction": 8, + "entity_number": 22, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -291.5 + } + }, + { + "direction": 12, + "entity_number": 23, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -291.5 + } + }, + { + "direction": 8, + "entity_number": 24, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -290.5 + } + }, + { + "direction": 12, + "entity_number": 25, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -291.5 + } + }, + { + "entity_number": 26, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -290.5 + } + }, + { + "entity_number": 27, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -291.5 + } + }, + { + "direction": 12, + "entity_number": 28, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -290.5 + } + }, + { + "entity_number": 29, + "name": "straight-rail", + "position": { + "x": -271, + "y": -291 + } + }, + { + "entity_number": 30, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -288.5 + } + }, + { + "direction": 12, + "entity_number": 31, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -288.5 + } + }, + { + "entity_number": 32, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -288.5 + } + }, + { + "direction": 12, + "entity_number": 33, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -288.5 + } + }, + { + "entity_number": 34, + "name": "medium-electric-pole", + "position": { + "x": -273.5, + "y": -289.5 + } + }, + { + "entity_number": 35, + "name": "straight-rail", + "position": { + "x": -271, + "y": -289 + } + }, + { + "entity_number": 36, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -286.5 + } + }, + { + "entity_number": 37, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 38, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -286.5 + } + }, + { + "direction": 12, + "entity_number": 39, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -287.5 + } + }, + { + "entity_number": 40, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -286.5 + } + }, + { + "entity_number": 41, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 42, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -287.5 + } + }, + { + "direction": 12, + "entity_number": 43, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -286.5 + } + }, + { + "entity_number": 44, + "name": "straight-rail", + "position": { + "x": -271, + "y": -287 + } + }, + { + "direction": 4, + "entity_number": 45, + "name": "splitter", + "position": { + "x": -276.5, + "y": -286 + } + }, + { + "direction": 8, + "entity_number": 46, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -284.5 + } + }, + { + "direction": 8, + "entity_number": 47, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -285.5 + } + }, + { + "direction": 12, + "entity_number": 48, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -285.5 + } + }, + { + "direction": 12, + "entity_number": 49, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -284.5 + } + }, + { + "entity_number": 50, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -285.5 + } + }, + { + "entity_number": 51, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -284.5 + } + }, + { + "direction": 12, + "entity_number": 52, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -285.5 + } + }, + { + "direction": 12, + "entity_number": 53, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -284.5 + } + }, + { + "entity_number": 54, + "name": "straight-rail", + "position": { + "x": -271, + "y": -285 + } + }, + { + "direction": 8, + "entity_number": 55, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -283.5 + } + }, + { + "direction": 12, + "entity_number": 56, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -283.5 + } + }, + { + "direction": 12, + "entity_number": 57, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -283.5 + } + }, + { + "entity_number": 58, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -283.5 + } + }, + { + "entity_number": 59, + "name": "medium-electric-pole", + "position": { + "x": -273.5, + "y": -282.5 + } + }, + { + "entity_number": 60, + "name": "straight-rail", + "position": { + "x": -271, + "y": -283 + } + }, + { + "entity_number": 61, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -280.5 + } + }, + { + "entity_number": 62, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -281.5 + } + }, + { + "direction": 12, + "entity_number": 63, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -280.5 + } + }, + { + "direction": 12, + "entity_number": 64, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -281.5 + } + }, + { + "entity_number": 65, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -281.5 + } + }, + { + "direction": 12, + "entity_number": 66, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -281.5 + } + }, + { + "entity_number": 67, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -280.5 + } + }, + { + "direction": 12, + "entity_number": 68, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -280.5 + } + }, + { + "entity_number": 69, + "name": "straight-rail", + "position": { + "x": -271, + "y": -281 + } + }, + { + "direction": 4, + "entity_number": 70, + "name": "splitter", + "position": { + "x": -276.5, + "y": -279 + } + }, + { + "direction": 12, + "entity_number": 71, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -278.5 + } + }, + { + "direction": 12, + "entity_number": 72, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -279.5 + } + }, + { + "entity_number": 73, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -279.5 + } + }, + { + "direction": 8, + "entity_number": 74, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -278.5 + } + }, + { + "entity_number": 75, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -279.5 + } + }, + { + "direction": 12, + "entity_number": 76, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -278.5 + } + }, + { + "entity_number": 77, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -278.5 + } + }, + { + "direction": 12, + "entity_number": 78, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -279.5 + } + }, + { + "entity_number": 79, + "name": "straight-rail", + "position": { + "x": -271, + "y": -279 + } + }, + { + "direction": 12, + "entity_number": 80, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -277.5 + } + }, + { + "direction": 12, + "entity_number": 81, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -276.5 + } + }, + { + "direction": 8, + "entity_number": 82, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -277.5 + } + }, + { + "direction": 8, + "entity_number": 83, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -276.5 + } + }, + { + "entity_number": 84, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -276.5 + } + }, + { + "entity_number": 85, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -277.5 + } + }, + { + "direction": 12, + "entity_number": 86, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -276.5 + } + }, + { + "direction": 12, + "entity_number": 87, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -277.5 + } + }, + { + "entity_number": 88, + "name": "straight-rail", + "position": { + "x": -271, + "y": -277 + } + }, + { + "direction": 12, + "entity_number": 89, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -274.5 + } + }, + { + "entity_number": 90, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -274.5 + } + }, + { + "entity_number": 91, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -274.5 + } + }, + { + "direction": 12, + "entity_number": 92, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -274.5 + } + }, + { + "entity_number": 93, + "name": "medium-electric-pole", + "position": { + "x": -273.5, + "y": -275.5 + } + }, + { + "entity_number": 94, + "name": "straight-rail", + "position": { + "x": -271, + "y": -275 + } + }, + { + "direction": 12, + "entity_number": 95, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -272.5 + } + }, + { + "direction": 12, + "entity_number": 96, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -273.5 + } + }, + { + "entity_number": 97, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -273.5 + } + }, + { + "entity_number": 98, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -272.5 + } + }, + { + "entity_number": 99, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -272.5 + } + }, + { + "direction": 12, + "entity_number": 100, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -272.5 + } + }, + { + "entity_number": 101, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -273.5 + } + }, + { + "direction": 12, + "entity_number": 102, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -273.5 + } + }, + { + "entity_number": 103, + "name": "straight-rail", + "position": { + "x": -271, + "y": -273 + } + }, + { + "direction": 4, + "entity_number": 104, + "name": "splitter", + "position": { + "x": -276.5, + "y": -272 + } + }, + { + "direction": 8, + "entity_number": 105, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -270.5 + } + }, + { + "direction": 12, + "entity_number": 106, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -271.5 + } + }, + { + "direction": 8, + "entity_number": 107, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -271.5 + } + }, + { + "direction": 12, + "entity_number": 108, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -270.5 + } + }, + { + "direction": 12, + "entity_number": 109, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -270.5 + } + }, + { + "entity_number": 110, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -271.5 + } + }, + { + "entity_number": 111, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -270.5 + } + }, + { + "direction": 12, + "entity_number": 112, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -271.5 + } + }, + { + "entity_number": 113, + "name": "straight-rail", + "position": { + "x": -271, + "y": -271 + } + }, + { + "direction": 12, + "entity_number": 114, + "name": "fast-inserter", + "position": { + "x": -274.5, + "y": -269.5 + } + }, + { + "direction": 8, + "entity_number": 115, + "name": "transport-belt", + "position": { + "x": -275.5, + "y": -269.5 + } + }, + { + "direction": 12, + "entity_number": 116, + "name": "fast-inserter", + "position": { + "x": -272.5, + "y": -269.5 + } + }, + { + "entity_number": 117, + "name": "iron-chest", + "position": { + "x": -273.5, + "y": -269.5 + } + }, + { + "entity_number": 118, + "name": "medium-electric-pole", + "position": { + "x": -273.5, + "y": -268.5 + } + }, + { + "entity_number": 119, + "name": "straight-rail", + "position": { + "x": -271, + "y": -269 + } + }, + { + "entity_number": 120, + "name": "straight-rail", + "position": { + "x": -271, + "y": -267 + } + }, + { + "entity_number": 121, + "name": "straight-rail", + "position": { + "x": -271, + "y": -265 + } + }, + { + "entity_number": 122, + "name": "straight-rail", + "position": { + "x": -271, + "y": -263 + } + }, + { + "entity_number": 123, + "name": "straight-rail", + "position": { + "x": -271, + "y": -261 + } + }, + { + "entity_number": 124, + "name": "straight-rail", + "position": { + "x": -271, + "y": -259 + } + }, + { + "entity_number": 125, + "name": "straight-rail", + "position": { + "x": -271, + "y": -257 + } + }, + { + "direction": 8, + "entity_number": 126, + "manual_trains_limit": 1, + "name": "train-stop", + "position": { + "x": -273, + "y": -255 + }, + "station": "[virtual-signal=signal-L][virtual-signal=signal-2][virtual-signal=signal-4]" + }, + { + "entity_number": 127, + "name": "straight-rail", + "position": { + "x": -271, + "y": -255 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "transport-belt" + } + }, + { + "index": 2, + "signal": { + "name": "signal-L", + "type": "virtual" + } + }, + { + "index": 3, + "signal": { + "name": "signal-2", + "type": "virtual" + } + }, + { + "index": 4, + "signal": { + "name": "signal-1", + "type": "virtual" + } + } + ], + "item": "blueprint", + "version": 562949954797573, + "wires": [ + [ + 1, + 5, + 34, + 5 + ], + [ + 34, + 5, + 59, + 5 + ], + [ + 59, + 5, + 93, + 5 + ], + [ + 93, + 5, + 118, + 5 + ] + ] + }, + "index": 12 + }, + { + "blueprint": { + "entities": [ + { + "direction": 4, + "entity_number": 1, + "name": "straight-rail", + "position": { + "x": -47, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 2, + "name": "straight-rail", + "position": { + "x": -45, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 3, + "name": "straight-rail", + "position": { + "x": -43, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 4, + "name": "straight-rail", + "position": { + "x": -41, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 5, + "name": "straight-rail", + "position": { + "x": -39, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 6, + "name": "straight-rail", + "position": { + "x": -37, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 7, + "name": "straight-rail", + "position": { + "x": -35, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 8, + "name": "straight-rail", + "position": { + "x": -33, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 9, + "name": "straight-rail", + "position": { + "x": -31, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 10, + "name": "straight-rail", + "position": { + "x": -29, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 11, + "name": "straight-rail", + "position": { + "x": -27, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 12, + "name": "straight-rail", + "position": { + "x": -25, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 13, + "name": "straight-rail", + "position": { + "x": -23, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 14, + "name": "straight-rail", + "position": { + "x": -21, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 15, + "name": "straight-rail", + "position": { + "x": -19, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 16, + "name": "straight-rail", + "position": { + "x": -17, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 17, + "name": "straight-rail", + "position": { + "x": -15, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 18, + "name": "straight-rail", + "position": { + "x": -13, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 19, + "name": "straight-rail", + "position": { + "x": -11, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 20, + "name": "straight-rail", + "position": { + "x": -9, + "y": 43 + } + }, + { + "direction": 4, + "entity_number": 21, + "name": "straight-rail", + "position": { + "x": -7, + "y": 43 + } + }, + { + "entity_number": 22, + "name": "medium-electric-pole", + "position": { + "x": -48.5, + "y": 45.5 + } + }, + { + "entity_number": 23, + "name": "steel-chest", + "position": { + "x": -46.5, + "y": 45.5 + } + }, + { + "entity_number": 24, + "name": "steel-chest", + "position": { + "x": -47.5, + "y": 45.5 + } + }, + { + "entity_number": 25, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -47.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 26, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -46.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 27, + "name": "steel-chest", + "position": { + "x": -44.5, + "y": 45.5 + } + }, + { + "entity_number": 28, + "name": "steel-chest", + "position": { + "x": -45.5, + "y": 45.5 + } + }, + { + "entity_number": 29, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -45.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 30, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -44.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 31, + "name": "steel-chest", + "position": { + "x": -42.5, + "y": 45.5 + } + }, + { + "entity_number": 32, + "name": "steel-chest", + "position": { + "x": -43.5, + "y": 45.5 + } + }, + { + "entity_number": 33, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -43.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 34, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -42.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 35, + "name": "medium-electric-pole", + "position": { + "x": -41.5, + "y": 45.5 + } + }, + { + "entity_number": 36, + "name": "steel-chest", + "position": { + "x": -40.5, + "y": 45.5 + } + }, + { + "entity_number": 37, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -40.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 38, + "name": "steel-chest", + "position": { + "x": -38.5, + "y": 45.5 + } + }, + { + "entity_number": 39, + "name": "steel-chest", + "position": { + "x": -39.5, + "y": 45.5 + } + }, + { + "entity_number": 40, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -39.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 41, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -38.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 42, + "name": "steel-chest", + "position": { + "x": -36.5, + "y": 45.5 + } + }, + { + "entity_number": 43, + "name": "steel-chest", + "position": { + "x": -37.5, + "y": 45.5 + } + }, + { + "entity_number": 44, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -37.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 45, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -36.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 46, + "name": "medium-electric-pole", + "position": { + "x": -34.5, + "y": 45.5 + } + }, + { + "entity_number": 47, + "name": "steel-chest", + "position": { + "x": -35.5, + "y": 45.5 + } + }, + { + "entity_number": 48, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -35.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 49, + "name": "steel-chest", + "position": { + "x": -32.5, + "y": 45.5 + } + }, + { + "entity_number": 50, + "name": "steel-chest", + "position": { + "x": -33.5, + "y": 45.5 + } + }, + { + "entity_number": 51, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -33.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 52, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -32.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 53, + "name": "steel-chest", + "position": { + "x": -30.5, + "y": 45.5 + } + }, + { + "entity_number": 54, + "name": "steel-chest", + "position": { + "x": -31.5, + "y": 45.5 + } + }, + { + "entity_number": 55, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -31.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 56, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -30.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 57, + "name": "steel-chest", + "position": { + "x": -28.5, + "y": 45.5 + } + }, + { + "entity_number": 58, + "name": "steel-chest", + "position": { + "x": -29.5, + "y": 45.5 + } + }, + { + "entity_number": 59, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -29.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 60, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -28.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 61, + "name": "medium-electric-pole", + "position": { + "x": -27.5, + "y": 45.5 + } + }, + { + "entity_number": 62, + "name": "steel-chest", + "position": { + "x": -26.5, + "y": 45.5 + } + }, + { + "entity_number": 63, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -26.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 64, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -24.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 65, + "name": "steel-chest", + "position": { + "x": -24.5, + "y": 45.5 + } + }, + { + "entity_number": 66, + "name": "steel-chest", + "position": { + "x": -25.5, + "y": 45.5 + } + }, + { + "entity_number": 67, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -25.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 68, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -23.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 69, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -22.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 70, + "name": "steel-chest", + "position": { + "x": -22.5, + "y": 45.5 + } + }, + { + "entity_number": 71, + "name": "steel-chest", + "position": { + "x": -23.5, + "y": 45.5 + } + }, + { + "entity_number": 72, + "filters": [ + { + "comparator": "=", + "index": 1, + "name": "parameter-0", + "quality": "normal" + } + ], + "name": "fast-inserter", + "position": { + "x": -21.5, + "y": 44.5 + }, + "use_filters": true + }, + { + "entity_number": 73, + "name": "medium-electric-pole", + "position": { + "x": -20.5, + "y": 45.5 + } + }, + { + "entity_number": 74, + "name": "steel-chest", + "position": { + "x": -21.5, + "y": 45.5 + } + }, + { + "direction": 4, + "entity_number": 75, + "manual_trains_limit": 1, + "name": "train-stop", + "position": { + "x": -7, + "y": 45 + }, + "station": "[virtual-signal=signal-U][virtual-signal=signal-2][virtual-signal=signal-4][item=parameter-0]" + }, + { + "direction": 4, + "entity_number": 76, + "name": "transport-belt", + "position": { + "x": -46.5, + "y": 47.5 + } + }, + { + "direction": 4, + "entity_number": 77, + "name": "transport-belt", + "position": { + "x": -47.5, + "y": 47.5 + } + }, + { + "entity_number": 78, + "name": "fast-inserter", + "position": { + "x": -46.5, + "y": 46.5 + } + }, + { + "entity_number": 79, + "name": "fast-inserter", + "position": { + "x": -47.5, + "y": 46.5 + } + }, + { + "direction": 8, + "entity_number": 80, + "name": "transport-belt", + "position": { + "x": -44.5, + "y": 47.5 + } + }, + { + "direction": 8, + "entity_number": 81, + "name": "transport-belt", + "position": { + "x": -45.5, + "y": 47.5 + } + }, + { + "entity_number": 82, + "name": "fast-inserter", + "position": { + "x": -44.5, + "y": 46.5 + } + }, + { + "entity_number": 83, + "name": "fast-inserter", + "position": { + "x": -45.5, + "y": 46.5 + } + }, + { + "direction": 12, + "entity_number": 84, + "name": "transport-belt", + "position": { + "x": -42.5, + "y": 47.5 + } + }, + { + "direction": 12, + "entity_number": 85, + "name": "transport-belt", + "position": { + "x": -43.5, + "y": 47.5 + } + }, + { + "entity_number": 86, + "name": "fast-inserter", + "position": { + "x": -42.5, + "y": 46.5 + } + }, + { + "entity_number": 87, + "name": "fast-inserter", + "position": { + "x": -43.5, + "y": 46.5 + } + }, + { + "direction": 4, + "entity_number": 88, + "name": "transport-belt", + "position": { + "x": -40.5, + "y": 47.5 + } + }, + { + "entity_number": 89, + "name": "fast-inserter", + "position": { + "x": -40.5, + "y": 46.5 + } + }, + { + "direction": 4, + "entity_number": 90, + "name": "transport-belt", + "position": { + "x": -39.5, + "y": 47.5 + } + }, + { + "direction": 8, + "entity_number": 91, + "name": "transport-belt", + "position": { + "x": -38.5, + "y": 47.5 + } + }, + { + "entity_number": 92, + "name": "fast-inserter", + "position": { + "x": -38.5, + "y": 46.5 + } + }, + { + "entity_number": 93, + "name": "fast-inserter", + "position": { + "x": -39.5, + "y": 46.5 + } + }, + { + "direction": 8, + "entity_number": 94, + "name": "transport-belt", + "position": { + "x": -37.5, + "y": 47.5 + } + }, + { + "direction": 12, + "entity_number": 95, + "name": "transport-belt", + "position": { + "x": -36.5, + "y": 47.5 + } + }, + { + "entity_number": 96, + "name": "fast-inserter", + "position": { + "x": -36.5, + "y": 46.5 + } + }, + { + "entity_number": 97, + "name": "fast-inserter", + "position": { + "x": -37.5, + "y": 46.5 + } + }, + { + "direction": 12, + "entity_number": 98, + "name": "transport-belt", + "position": { + "x": -35.5, + "y": 47.5 + } + }, + { + "entity_number": 99, + "name": "fast-inserter", + "position": { + "x": -35.5, + "y": 46.5 + } + }, + { + "direction": 4, + "entity_number": 100, + "name": "transport-belt", + "position": { + "x": -32.5, + "y": 47.5 + } + }, + { + "direction": 4, + "entity_number": 101, + "name": "transport-belt", + "position": { + "x": -33.5, + "y": 47.5 + } + }, + { + "entity_number": 102, + "name": "fast-inserter", + "position": { + "x": -32.5, + "y": 46.5 + } + }, + { + "entity_number": 103, + "name": "fast-inserter", + "position": { + "x": -33.5, + "y": 46.5 + } + }, + { + "direction": 8, + "entity_number": 104, + "name": "transport-belt", + "position": { + "x": -30.5, + "y": 47.5 + } + }, + { + "direction": 8, + "entity_number": 105, + "name": "transport-belt", + "position": { + "x": -31.5, + "y": 47.5 + } + }, + { + "entity_number": 106, + "name": "fast-inserter", + "position": { + "x": -30.5, + "y": 46.5 + } + }, + { + "entity_number": 107, + "name": "fast-inserter", + "position": { + "x": -31.5, + "y": 46.5 + } + }, + { + "direction": 12, + "entity_number": 108, + "name": "transport-belt", + "position": { + "x": -28.5, + "y": 47.5 + } + }, + { + "direction": 12, + "entity_number": 109, + "name": "transport-belt", + "position": { + "x": -29.5, + "y": 47.5 + } + }, + { + "entity_number": 110, + "name": "fast-inserter", + "position": { + "x": -28.5, + "y": 46.5 + } + }, + { + "entity_number": 111, + "name": "fast-inserter", + "position": { + "x": -29.5, + "y": 46.5 + } + }, + { + "direction": 4, + "entity_number": 112, + "name": "transport-belt", + "position": { + "x": -26.5, + "y": 47.5 + } + }, + { + "entity_number": 113, + "name": "fast-inserter", + "position": { + "x": -26.5, + "y": 46.5 + } + }, + { + "direction": 8, + "entity_number": 114, + "name": "transport-belt", + "position": { + "x": -24.5, + "y": 47.5 + } + }, + { + "direction": 4, + "entity_number": 115, + "name": "transport-belt", + "position": { + "x": -25.5, + "y": 47.5 + } + }, + { + "entity_number": 116, + "name": "fast-inserter", + "position": { + "x": -24.5, + "y": 46.5 + } + }, + { + "entity_number": 117, + "name": "fast-inserter", + "position": { + "x": -25.5, + "y": 46.5 + } + }, + { + "direction": 12, + "entity_number": 118, + "name": "transport-belt", + "position": { + "x": -22.5, + "y": 47.5 + } + }, + { + "direction": 8, + "entity_number": 119, + "name": "transport-belt", + "position": { + "x": -23.5, + "y": 47.5 + } + }, + { + "entity_number": 120, + "name": "fast-inserter", + "position": { + "x": -22.5, + "y": 46.5 + } + }, + { + "entity_number": 121, + "name": "fast-inserter", + "position": { + "x": -23.5, + "y": 46.5 + } + }, + { + "direction": 12, + "entity_number": 122, + "name": "transport-belt", + "position": { + "x": -21.5, + "y": 47.5 + } + }, + { + "entity_number": 123, + "name": "fast-inserter", + "position": { + "x": -21.5, + "y": 46.5 + } + }, + { + "direction": 8, + "entity_number": 124, + "name": "transport-belt", + "position": { + "x": -44.5, + "y": 49.5 + } + }, + { + "direction": 8, + "entity_number": 125, + "name": "splitter", + "position": { + "x": -45, + "y": 48.5 + } + }, + { + "direction": 8, + "entity_number": 126, + "name": "transport-belt", + "position": { + "x": -37.5, + "y": 49.5 + } + }, + { + "direction": 8, + "entity_number": 127, + "name": "splitter", + "position": { + "x": -38, + "y": 48.5 + } + }, + { + "direction": 8, + "entity_number": 128, + "name": "transport-belt", + "position": { + "x": -30.5, + "y": 49.5 + } + }, + { + "direction": 8, + "entity_number": 129, + "name": "splitter", + "position": { + "x": -31, + "y": 48.5 + } + }, + { + "direction": 4, + "entity_number": 130, + "name": "transport-belt", + "position": { + "x": -23.5, + "y": 49.5 + } + }, + { + "direction": 8, + "entity_number": 131, + "name": "splitter", + "position": { + "x": -24, + "y": 48.5 + } + }, + { + "direction": 4, + "entity_number": 132, + "name": "transport-belt", + "position": { + "x": -20.5, + "y": 49.5 + } + }, + { + "direction": 4, + "entity_number": 133, + "name": "transport-belt", + "position": { + "x": -21.5, + "y": 49.5 + } + }, + { + "direction": 8, + "entity_number": 134, + "name": "transport-belt", + "position": { + "x": -19.5, + "y": 49.5 + } + }, + { + "direction": 4, + "entity_number": 135, + "name": "transport-belt", + "position": { + "x": -17.5, + "y": 49.5 + } + }, + { + "direction": 4, + "entity_number": 136, + "name": "transport-belt", + "position": { + "x": -16.5, + "y": 49.5 + } + }, + { + "direction": 8, + "entity_number": 137, + "name": "transport-belt", + "position": { + "x": -44.5, + "y": 50.5 + } + }, + { + "direction": 8, + "entity_number": 138, + "name": "transport-belt", + "position": { + "x": -44.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 139, + "name": "transport-belt", + "position": { + "x": -36.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 140, + "name": "transport-belt", + "position": { + "x": -37.5, + "y": 51.5 + } + }, + { + "direction": 8, + "entity_number": 141, + "name": "transport-belt", + "position": { + "x": -37.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 142, + "name": "transport-belt", + "position": { + "x": -34.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 143, + "name": "transport-belt", + "position": { + "x": -35.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 144, + "name": "transport-belt", + "position": { + "x": -32.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 145, + "name": "transport-belt", + "position": { + "x": -33.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 146, + "name": "transport-belt", + "position": { + "x": -30.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 147, + "name": "transport-belt", + "position": { + "x": -31.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 148, + "name": "transport-belt", + "position": { + "x": -30.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 149, + "name": "transport-belt", + "position": { + "x": -28.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 150, + "name": "transport-belt", + "position": { + "x": -29.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 151, + "name": "transport-belt", + "position": { + "x": -29.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 152, + "name": "transport-belt", + "position": { + "x": -28.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 153, + "name": "transport-belt", + "position": { + "x": -26.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 154, + "name": "transport-belt", + "position": { + "x": -27.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 155, + "name": "transport-belt", + "position": { + "x": -27.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 156, + "name": "transport-belt", + "position": { + "x": -26.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 157, + "name": "transport-belt", + "position": { + "x": -24.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 158, + "name": "transport-belt", + "position": { + "x": -25.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 159, + "name": "transport-belt", + "position": { + "x": -25.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 160, + "name": "transport-belt", + "position": { + "x": -24.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 161, + "name": "splitter", + "position": { + "x": -22.5, + "y": 50 + } + }, + { + "direction": 4, + "entity_number": 162, + "name": "transport-belt", + "position": { + "x": -23.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 163, + "name": "transport-belt", + "position": { + "x": -23.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 164, + "name": "splitter", + "position": { + "x": -21.5, + "y": 51 + } + }, + { + "direction": 4, + "entity_number": 165, + "name": "underground-belt", + "position": { + "x": -20.5, + "y": 51.5 + }, + "type": "input" + }, + { + "direction": 4, + "entity_number": 166, + "name": "underground-belt", + "position": { + "x": -20.5, + "y": 50.5 + }, + "type": "input" + }, + { + "direction": 4, + "entity_number": 167, + "name": "splitter", + "position": { + "x": -18.5, + "y": 51 + } + }, + { + "direction": 4, + "entity_number": 168, + "name": "transport-belt", + "position": { + "x": -19.5, + "y": 50.5 + } + }, + { + "direction": 4, + "entity_number": 169, + "name": "transport-belt", + "position": { + "x": -19.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 170, + "name": "underground-belt", + "position": { + "x": -16.5, + "y": 51.5 + }, + "type": "output" + }, + { + "direction": 4, + "entity_number": 171, + "name": "underground-belt", + "position": { + "x": -16.5, + "y": 50.5 + }, + "type": "output" + }, + { + "entity_number": 172, + "name": "transport-belt", + "position": { + "x": -17.5, + "y": 50.5 + } + }, + { + "direction": 8, + "entity_number": 173, + "name": "transport-belt", + "position": { + "x": -17.5, + "y": 51.5 + } + }, + { + "direction": 4, + "entity_number": 174, + "name": "splitter", + "position": { + "x": -15.5, + "y": 50 + } + }, + { + "direction": 4, + "entity_number": 175, + "name": "transport-belt", + "position": { + "x": -44.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 176, + "name": "transport-belt", + "position": { + "x": -43.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 177, + "name": "transport-belt", + "position": { + "x": -42.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 178, + "name": "transport-belt", + "position": { + "x": -41.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 179, + "name": "transport-belt", + "position": { + "x": -40.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 180, + "name": "transport-belt", + "position": { + "x": -39.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 181, + "name": "transport-belt", + "position": { + "x": -38.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 182, + "name": "transport-belt", + "position": { + "x": -37.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 183, + "name": "transport-belt", + "position": { + "x": -36.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 184, + "name": "transport-belt", + "position": { + "x": -35.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 185, + "name": "transport-belt", + "position": { + "x": -34.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 186, + "name": "transport-belt", + "position": { + "x": -33.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 187, + "name": "transport-belt", + "position": { + "x": -32.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 188, + "name": "transport-belt", + "position": { + "x": -31.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 189, + "name": "transport-belt", + "position": { + "x": -30.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 190, + "name": "transport-belt", + "position": { + "x": -29.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 191, + "name": "transport-belt", + "position": { + "x": -28.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 192, + "name": "transport-belt", + "position": { + "x": -27.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 193, + "name": "transport-belt", + "position": { + "x": -26.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 194, + "name": "transport-belt", + "position": { + "x": -25.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 195, + "name": "transport-belt", + "position": { + "x": -24.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 196, + "name": "splitter", + "position": { + "x": -22.5, + "y": 52 + } + }, + { + "direction": 4, + "entity_number": 197, + "name": "transport-belt", + "position": { + "x": -23.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 198, + "name": "transport-belt", + "position": { + "x": -20.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 199, + "name": "transport-belt", + "position": { + "x": -21.5, + "y": 52.5 + } + }, + { + "entity_number": 200, + "name": "transport-belt", + "position": { + "x": -19.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 201, + "name": "transport-belt", + "position": { + "x": -16.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 202, + "name": "transport-belt", + "position": { + "x": -17.5, + "y": 52.5 + } + }, + { + "direction": 4, + "entity_number": 203, + "name": "splitter", + "position": { + "x": -15.5, + "y": 52 + } + } + ], + "icons": [ + { + "index": 1, + "signal": { + "name": "transport-belt" + } + }, + { + "index": 2, + "signal": { + "name": "signal-U", + "type": "virtual" + } + }, + { + "index": 3, + "signal": { + "name": "signal-2", + "type": "virtual" + } + }, + { + "index": 4, + "signal": { + "name": "signal-4", + "type": "virtual" + } + } + ], + "item": "blueprint", + "parameters": [ + { + "id": "parameter-0", + "quality-condition": { + "comparator": "=", + "quality": "normal" + }, + "type": "id" + } + ], + "version": 562949954797573, + "wires": [ + [ + 22, + 5, + 35, + 5 + ], + [ + 35, + 5, + 46, + 5 + ], + [ + 46, + 5, + 61, + 5 + ], + [ + 61, + 5, + 73, + 5 + ] + ] + }, + "index": 13 + } + ], + "item": "blueprint-book", + "label": "Generic Train Network", + "version": 562949954797573 + } +} diff --git a/src/bin/balancer_blueprint.rs b/src/bin/balancer_blueprint.rs new file mode 100644 index 0000000..0d35842 --- /dev/null +++ b/src/bin/balancer_blueprint.rs @@ -0,0 +1,12 @@ +use factorio_blueprint::blueprint::{balancer::generate_4_lane_balancer, BlueprintString}; + +fn main() { + let b = BlueprintString::Blueprint(generate_4_lane_balancer()); + + println!("{}", serde_json::to_string_pretty(&b).unwrap()); + + println!( + "{}", + factorio_blueprint::blueprint::encode(&serde_json::to_string(&b).unwrap()) + ); +} diff --git a/examples/train_blueprint.rs b/src/bin/train_blueprint.rs similarity index 100% rename from examples/train_blueprint.rs rename to src/bin/train_blueprint.rs diff --git a/src/blueprint/balancer.rs b/src/blueprint/balancer.rs new file mode 100644 index 0000000..ed173fa --- /dev/null +++ b/src/blueprint/balancer.rs @@ -0,0 +1,139 @@ +use super::{Blueprint, BlueprintEntity, BlueprintPosition}; + +pub fn generate_4_lane_balancer() -> Blueprint { + let e = vec![ + BlueprintEntity::builder("splitter".to_owned(), 1, BlueprintPosition::new(1.0, 0.5)) + .build(), + BlueprintEntity::builder("splitter".to_owned(), 2, BlueprintPosition::new(3.0, 0.5)) + .build(), + BlueprintEntity::builder("splitter".to_owned(), 3, BlueprintPosition::new(2.0, 1.5)) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 4, + BlueprintPosition::new(0.5, 1.5), + ) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 5, + BlueprintPosition::new(3.5, 1.5), + ) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 6, + BlueprintPosition::new(0.5, 2.5), + ) + .build(), + BlueprintEntity::builder( + "underground-belt".to_owned(), + 4, + BlueprintPosition::new(1.5, 2.5), + ) + .underground_type("output".to_owned()) + .build(), + BlueprintEntity::builder( + "underground-belt".to_owned(), + 5, + BlueprintPosition::new(2.5, 2.5), + ) + .underground_type("output".to_owned()) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 6, + BlueprintPosition::new(3.5, 2.5), + ) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 7, + BlueprintPosition::new(0.5, 3.5), + ) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 8, + BlueprintPosition::new(1.5, 3.5), + ) + .direction(12) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 9, + BlueprintPosition::new(2.5, 3.5), + ) + .direction(4) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 10, + BlueprintPosition::new(3.5, 3.5), + ) + .build(), + BlueprintEntity::builder("splitter".to_owned(), 11, BlueprintPosition::new(2.0, 4.5)) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 12, + BlueprintPosition::new(0.5, 5.5), + ) + .direction(4) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 13, + BlueprintPosition::new(1.5, 5.5), + ) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 14, + BlueprintPosition::new(2.5, 5.5), + ) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 15, + BlueprintPosition::new(3.5, 5.5), + ) + .direction(12) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 16, + BlueprintPosition::new(0.5, 6.5), + ) + .build(), + BlueprintEntity::builder( + "underground-belt".to_owned(), + 17, + BlueprintPosition::new(1.5, 6.5), + ) + .underground_type("input".to_owned()) + .build(), + BlueprintEntity::builder( + "underground-belt".to_owned(), + 18, + BlueprintPosition::new(2.5, 6.5), + ) + .underground_type("input".to_owned()) + .build(), + BlueprintEntity::builder( + "transport-belt".to_owned(), + 19, + BlueprintPosition::new(3.5, 6.5), + ) + .build(), + BlueprintEntity::builder("splitter".to_owned(), 20, BlueprintPosition::new(1.0, 7.5)) + .build(), + BlueprintEntity::builder("splitter".to_owned(), 21, BlueprintPosition::new(3.0, 7.5)) + .build(), + ]; + + Blueprint::builder() + .label("balancer".to_string()) + .entities(e) + .build() +} diff --git a/src/blueprint/mod.rs b/src/blueprint/mod.rs index ff5a237..d27b748 100644 --- a/src/blueprint/mod.rs +++ b/src/blueprint/mod.rs @@ -8,6 +8,7 @@ pub mod structs; pub use structs::*; +pub mod balancer; pub mod train; pub fn decode(s: &str) -> String { diff --git a/src/blueprint/structs.rs b/src/blueprint/structs.rs index 12d369f..2a80225 100644 --- a/src/blueprint/structs.rs +++ b/src/blueprint/structs.rs @@ -98,7 +98,7 @@ pub struct BlueprintEntity { #[builder(start_fn)] position: BlueprintPosition, #[serde(skip_serializing_if = "Option::is_none")] - direciton: Option, + direction: Option, #[serde(skip_serializing_if = "Option::is_none")] orientation: Option, #[serde(skip_serializing_if = "Option::is_none")]