Ultracube: Age of Cube


Unravel the mysteries of the ultradense utility cube in this devious overhaul mod. See the mod page for a complete list of compatible mods.

Overhaul
8 days ago
1.1 - 2.0
16.8K
Logistics Trains Circuit network Manufacturing Power

i Mod Request: Circuit Output

9 months ago

Hello,
I'm sorry if this is the wrong place but I figured I'd start here before submitting to github directly.

Example scenario:
I have 2 synthesizers outputting items to one belt. I, then, have the single belt being split via a splitter. Each output belt is wired using a red wire to a Decider Combinator. If the [Hold] output of both belts is >= 8, I then output a red signal, denoting the belt is backed up.

The Problem:
The output is successful if the [Hold] output is >= 8 but that is only in the scenario in which 2 lanes, 1 from each belt, from 2 belts is backed up. It would be much more convenient if the Synthesizer itself could output a signal if the Synthesizer could output whether it still has items in its inventory. In which case, the Synthesizer itself could output whether it has items in its inventory so we could wire this up to skip that individual Synthesizer from producing output.

The Solution:
As previously noted, it would be convenient if the Synthesizer could output the contents of its inventory. If, for example, Basic Matter Units > 0, skip that Synthersizer and proceed. That would provide greater clarity than reading the belt [Hold] contents from some arbitrary distance away.

If I should upload this somewhere else, please let me know. First post around here btw.

9 months ago
(updated 9 months ago)

I think this is something I solved by having a memory cell. For example for explosive smelting that takes 6k REM ore and produces 2k REM, I add 2k when the cube enters, then I subtract 1 for each product that is taken out of the furnace. Use the pulse mode on the belts or on the inserter. For loaders you need to monitor the belt since they can not be hooked up to the network.

Then you know how much you have in it. I am using it to count the products in the furnace as normal resources, since it takes a while to unload it, and otherwise the numbers would not be right in the networks, and then the central compute network may decide that I am still in need of REM when infact I still have lots that is in the process of being unloaded.

For cycling between N synthesizers, you can output a pulse each time the cube enters, then use a memory cell to count how many times it has entered, and then take that modulo N, which gives you a number between 1 and N that determines which synthesizer is next in line to receive the cube, so that it is alternating, used that for REM with N=4 until I got the explosive smelting.

I usually don't count stuff on belts and only count items in the main output buffer from the producer, or in the furnace/synthesizer itself, and then I set the goal for the central compute network is to keep these buffers within 30%-100% bounds for a predefined 100% target value configured per resource. The synthesizer/furnace is typically empty when the buffer is <30%.

For a simplistic solution, I suppose it translates to a chest after the synthesizers, and then a latch that sets V=1 when resources drops below say 30%, and then you set V=0 when it reaches 100%, and cube is only inserted when V=1

9 months ago

I think you can do what you're asking with the inventory sensor optional addon mod. (It'll also be standard in Factorio 2.0 as far as I know.)

9 months ago

Thanks grandseiken, that addon helps a lot with only inserting the Cube when a machine is ready to go (looking at you Ultradense Furnace!) https://mods.factorio.com/mod/Inventory%20Sensor

8 months ago

I think you can do what you're asking with the inventory sensor optional addon mod. (It'll also be standard in Factorio 2.0 as far as I know.)

Sorry for the late reply. Thanks for this, I didn't know this mod existed.
Took me a bit to figure out how it works but the "back side" needs to be pressed up against the machine in order to automatically detect its contents. I'd say this satisfies my request. Thanks for the recommendation!

New response