FortressCraft Evolved

FortressCraft Evolved

Distribution Splitter
116 Comments
Pokeking 21 Mar @ 3:03pm 
Excellent mod, although I do have 1 notable issue with it.

If using it as a Continuous Priority Merger (ie no ratios), it seems to wait each and every time it can let resources pass through it to check the primary input when there hasn't been any for some time. Because of the delay, throughput slows down heavily (by half) if resources are only reaching it through the using the secondary input.

Would really appreciate having such fixed because I use that mode quite a lot.
Ronchi 25 Sep, 2023 @ 6:14pm 
Sorry, the below only happens when hoppers are involved, when it is belt fed I get no such problems but the throughput reduces massively.
Ronchi 25 Sep, 2023 @ 6:12pm 
Hi Mad, Not sure if you are still around, I am getting some weird behaviours from the splitter when attempting to merge ore's of a different type, which ever ore is first merged all other incoming ores are put out as the original ore type regardless of inbound type.
jlp1528 (Minty) 13 Sep, 2023 @ 6:45am 
I haven't played this game in a while, but as I recall, merge mode expects to get X from input 1 and Y from input 2. It will not proceed until it has enough items on the current queued input. That said, I believe there is a "just merge everything as best you can" mode that simply combines inputs without forcing a given ratio.
mike 13 Sep, 2023 @ 6:39am 
Thanks for this and all your mods!

What are the hopper requirements for the merge mode? I see that the labels on the inputs turn red if a single hopper is used on only the secondary. However, it seems to work without hoppers and there's no red text when using no hoppers. But the description does say hoppers are required.
So, have I just been luck w/o hoppers or is a hopper only required on the primary input when there's one on the secondary?
If a hopper is always required on the primary, do we also need a hopper on the secondary?
Samedi 26 Sep, 2022 @ 11:11am 
I added this mod to my play through to do a 3 to one split for research pods. I have 3 hoppers (Tricky's 500) for titanium, gold and nickel that feed into the input hopper for Distribution Splitter via conveyors.
Only use one ingot type at a time, but if I switch from one ingot type after its finished (e.g Titanium) to another (say Nickel) the Distribution Splitter continues to output the old ingot (Titanium) for free on A and B while the input hopper fills with the new ingot (Nickel).

Tested it with Gold research pods and got 218 free Gold research pods before I stopped the process.

Thanks for all the great mods for this old game, they breathe new life into a 2022 playthrough.
Mad Vandal  [author] 30 Aug, 2022 @ 6:49pm 
Please try the keypad +
HoldMyBeer 30 Aug, 2022 @ 2:43am 
I cannot change flow, when i press + another window comes up with a lot of blocks. I want the flow to be like in the picture above mine is < > at the moment
Max 30 Mar, 2020 @ 8:13am 
This is phenomenal, so configurable, almost feels like cheating!
Nicely done :cozytf2mug:
Mad Vandal  [author] 18 Jul, 2019 @ 4:19am 
Zephyries - Yes, there will not be anymore changes to FC. If you're having a problem please post details of the issue.
Zephyries 17 Jul, 2019 @ 5:55am 
this still working?
Mytharox 25 Feb, 2019 @ 2:13pm 
This is one of my favorite mods, along with a few others you made Mad Vandal. Thanks for your modding work, it really makes my games a lot more fun.
Mad Vandal  [author] 18 Feb, 2019 @ 5:59am 
No, it's currently being used on a dedicated server now. This not a "client only" type mod, so any clients must be subscribed to the mod in Steam in order to join a server using it. Since it is required there is no enable option to needs to be set when joining,
Mr. Doom 17 Feb, 2019 @ 4:17am 
Hey, are there some issues about multiplayer problems known? I cant play with my friend over LAN, cause he cant enable the mod if he wants to join
jlp1528 (Minty) 17 Oct, 2018 @ 7:00pm 
Woohoo \o/ good job vandal :D
Mad Vandal  [author] 16 Oct, 2018 @ 4:41pm 
The issue with the side label y offset on an x/z surface has been fixed in the latest update.
jlp1528 (Minty) 16 Oct, 2018 @ 8:40am 
I know exactly what you're talking about with the labels, but unfortunately I don't know of a definitive workaround. I do know that sometimes simply changing your viewing angle when placing them on walls can resolve this issue, but then when you reload the world, it sometimes comes back.

That said, actual functionality is not affected by this bug, and each new splitter you place will have the same settings as those made by the latest edit of any other, if that makes sense. This is great for production chains of certain particular items, such as induction-powered coal enrichment and infusion lines. :)
Maddo 14 Oct, 2018 @ 9:28am 
Once I figured out that this splitter can also do merge and overflow it quickly became the backbone of my base, I can't imagine what I would do without this.
One little problem though: when placing it vertically sometimes the labels end up squeezed together in the middle, making it impossible to read which side is which
tetkris 26 Aug, 2018 @ 10:43am 
Strong mod.
Mad Vandal  [author] 2 Aug, 2018 @ 2:37pm 
The would be a major code change...and I don't have a good Unity asset for it. You can make any X into in 1 by using multiple of these.
Audreth 1 Aug, 2018 @ 4:53pm 
is it possible to create a 4 sided version of this for 3 input and 1 output so you can round robin extraction from 3 hoppers

i have also found the need for having it output vertically but i know that more difficult
Yavamien 11 Jun, 2018 @ 12:59pm 
One of the best Mods for FC ! Thx alot Mad Vandal !
zyxifrash 15 May, 2018 @ 4:58pm 
Extremely awesome, so easy to use, great UX.
m3nax 25 Mar, 2018 @ 1:26pm 
Thx Mad Vandal, now is perfect!
Mad Vandal  [author] 23 Mar, 2018 @ 6:40am 
M3nax - Thx..updated.
m3nax 23 Mar, 2018 @ 4:20am 
Last game update broke the text A-B-Input, now is shifted right.
https://imageshack.com/a/img922/1876/DL7YCr.jpg

Thank for your work, this mod is perfect
Mad Vandal  [author] 2 Mar, 2018 @ 7:11am 
Zyndr - Thx...something off with conveyor flags in P18. Patched.
Zyndr 1 Mar, 2018 @ 12:18pm 
This mod is amazing! Its's on my list of mandatory mods! One hitch: P18 seems to have broken the A1/B1 ratio funcion. Primary/Secondary still works, but setting custom ratios stops all transfer.
TomasVaner 4 Feb, 2018 @ 8:20am 
This mod is definetelly must have!
infal 29 Dec, 2017 @ 7:19pm 
Really awesome mod! Thanks!
jlp1528 (Minty) 26 Jun, 2017 @ 9:08pm 
Fixed now (I hope) lol thx for work.
jlp1528 (Minty) 26 Jun, 2017 @ 4:14pm 
CRAP.

Bug is fixed but now the distribution splitter can't feed down slope conveyors directly...
jlp1528 (Minty) 25 Jun, 2017 @ 11:23am 
Not sure how this is happening, but if you place a distribution splitter vertically so it outputs to the top, it can output to conveyors not directly above it. It does work correctly if a conveyor *is* directly above it though. I could further test and get screenshots if that would help.
mx-eris 16 Apr, 2017 @ 8:00pm 
Awesome, that's a perfect work around, thanks!
Mad Vandal  [author] 15 Apr, 2017 @ 4:46am 
mx-eris - At this time there is no working system for re-mapping keys in mods that are not part of the FC key set, however a solution for this problem was asked for some time ago and Shift-Home / Shift-End was implemented as an alternate for Insert / Delete.
mx-eris 14 Apr, 2017 @ 9:53pm 
Is there any way to remap the keys used (I'm gonna go dive into how mods for FCE are pacakged and see if I can answer it myself, also)? Insert is one key that is tricky to get some modern Macs to output, even with Karabiner. Page up/down?
Mad Vandal  [author] 13 Apr, 2017 @ 4:35pm 
(continued) Fulls speed is one item per low frequency thread cycle, which I believe is the same speed as the motorized conveyor and the maximum speed possible when moving one item at a time per cycle. This is the also the exact speed of the vanilla zipper merge.

KJIAD, that observation with hoppers is right, only the push call triggers the timer delay. Given a large number of people use this mod, he option is a precaution and makes players aware of effect. I no problems are reported then I'll probably remove the option at let it be automatic.
Mad Vandal  [author] 13 Apr, 2017 @ 4:34pm 
Kieghrr/KJIAD - It's a bit hard to explain with walking though the FC game code, vanilla hoppers and the ConveyorEntity machine (it's really 16 machines in one all using the same code) have an interworking relationship with each other. ConveyorEntity makes the pull, but first checks a timed delay flag on the hopper. This flag delays the pull rate, and is how the green/white hoppers are made extra slow. There's also carry speed value on the conveyor entity between 0.15 (basic) and 4 (motorized). Several variables shift this since as fast conveyors mode, rush mode, and frozen state. If you've used Tricky moddded hoppers, you may have noticed they don't implement the delay timer.

KJIAD 13 Apr, 2017 @ 10:05am 
DS pulls at 150 or at least has no trouble saturating a pipe on the output with hopper on the input. I believe vanilla hoppers push at a set inteval, not rate, which is why it must have a dedicated unshared section of conveyor.

I just had a chance to test it out. With hoppers on primary and secondary I saw no noticable delay or slow down even *without* enabling the new mode. I've used hoppers before with the DS, but didn't think to try that when I encountered the slower secondary input.
Kriegherr 13 Apr, 2017 @ 9:45am 
Very interesting thanks for the info, makes perfect sense. In light of that I don't see why you couldn't just check for hopper or not and automatically adjust the timer. Is there ever a case where you would need or want the timer with hoppers?

You know, I don't believe I have ever used your DS in conjunction with a hopper. I don't think it ever occurred to me to use it any other way than with a conveyor. By the way what speed does it pull at? Vanilla pulls at I think 50 or does it pull like a mechanized conveyor at 150?
Mad Vandal  [author] 12 Apr, 2017 @ 7:02pm 
KJIAD/Kriegherr - Looking at the code again I now remember why I had to resort to putting the one cycle delay in.. Conveyors and pipes transfer items by pushing to the target machine during their cycle, versus hoppers which are pulled from. It is impposible to control or determine which conveyor going to the primary or secondary is going to push first on a given cycle. On top of that, If the conveyor on the secondary input has a constant flow and pushes first, and the output is a conveyor, then the output will be always occupied, and unable to take another item when primary push occurs, making it impossible for the primary flow to ever happen.

However, if a hopper is used on both inputs, then disabling timer can work because the DS machine perfoms the pull and will always attempt on the primary first, and so a solution for maximum throughput is possible. I've update the machine to add a new option to disable the timer and warn if hoppers are not used.
KJIAD 12 Apr, 2017 @ 12:55pm 
I normally avoid belt/hopper behavior like that because I know it's unreliable. I usually just make a closed loop refinery setup for the turbines to avoid issues with the fuel cans, but I wanted to try something different. I didn't have the distribution splitter at the time.

No delay at all would have been good where I was last trying to use it, I wanted it to fill any gaps in primary from secondary. That should be fine on my refinery setup too as long as I had 1 belt on the output.

I can see if you had a hopper on the output side, w/o the delay, it would want to pull from both inputs. Is that the kind of problem the delay is meant to solve? What would happen if you had just the 2 cycle delay before switching from primary to secondary?

And w/o making any changes to the mod, would you normally just use 2 distribution splitters to get full belt speed when using secondary inputs?
Mad Vandal  [author] 12 Apr, 2017 @ 6:01am 
KJIAD/Kriegherr - In that case what I can do is add a new option to turn off the delay, but you'll have stuff the conveyor/pipe feed going into the primary input to make the behavior work right. By "stuffing" I mean the effect from pulling from a hopper on 3 sides and shoving it all on a single conveyor/pipe line to completely saturate it. Any gaps in the primary input flow will give time for a secondary input to go in and it'll end up being nearly the same as using 1/1.

KJIAD, that vanilla belt trick works because you're using the right spots on the X/Y/Z side check order, it isn't guaranteed to work in the future. That trick used to work with a hopper but got patched out some time ago and left me with clogged turbines and over 2000 empty canisters to dispose of.

KJIAD 11 Apr, 2017 @ 5:32pm 
Similar here, I wanted to force the use of something else first, and I wanted full belt speed. The vanilla belt behavior just happen to work for the arrangement I had, so I was fine w/o the splitter.

The same was true with my refinery setup, the vanilla belt behavior just happened to work. I'm inserting the newly crafted empty cans directly downward onto the fuel can recycling line that goes into the refinery, it prefers to take the backed-up cans before pulling off the belt above.

Otherwise, all the other modes of this splitter have been extremely useful. Thanks for the mod!
Kriegherr 11 Apr, 2017 @ 4:31pm 
What if you have for instance an infused coal line and you want a backup regular coal input in case of supply issues from the infused line or maybe demand outpaces supply. So you want it to always pull from the infused line as long as it's available then from the regular coal line in an emergency. That sort of line can't afford to have any sort of delay and if you do 1 and 1 then your output will be half infused and half regular which you don't want.
Mad Vandal  [author] 11 Apr, 2017 @ 4:04pm 
KJIAD - Yes, that is intentional. There is a 2 cycle delay from the last primary input before switching to secondary. After the switching there is a 1 cycle delay. This is to prevent items in the secondary input flow from blocking, or slipping in during the time period between item arrival on a regular conveyor belt. One of the primary uses of that mode is for managing empty fuel canister recycling and the delay ensures that backed up canisters from turbines for recycling are entirely used before taking in new ones otherwise the system will enventually clog. If you want continuous merge flow, set A and B to 1 and enable overflow.
KJIAD 11 Apr, 2017 @ 2:13pm 
I'm having an odd issue with the output/merge mode.
Configuration: Output with Primary & Secondary inputs. Fast belts on all sides. Setup horizontally.

The Secondary input is much slower. A1/B1 with Overflow works as expected.
Kriegherr 5 Mar, 2017 @ 2:22pm 
Awesome machine. I have replaced sooo much infrastructure around it. Thanks for the mod.
Cypherwulfe 3 Feb, 2017 @ 4:39pm 
Love the mod. Thank you for this splitter.

Had an issue. I had two equally fed belts coming into one of your splitters. I have them set to a 1-1 ratio, with overflow enabled. Now, only one side is feeding. The other side just sits and waits. Am I setting it up wrong perhaps? I can make a screenie if you need.
Mad Vandal  [author] 21 Jan, 2017 @ 4:03pm 
wanyer - That's the issue with the hopper that was just patched. The fix will apply to any storage device that tries to hand off the whole contents to a 0 maximum request.