Splitter not working properly
-
- Filter Inserter
- Posts: 549
- Joined: Fri Jan 29, 2016 2:48 am
- Contact:
Re: Splitter not working properly
What makes me crazy about these issues is they prevent me from exploiting the well documented and predictable throughput dynamics of belts as a high-precision demand-side resource-flow-rate control-valve (although hopefully they still ensure "no-more-than rate x" sometimes I really need "exactly rate x," especially if I'm wearing my "research" hat (I made it from biter pelts!)). Also, stuff doesn't look as pretty on the belt with all those gaps
- EpicSlayer7666
- Inserter
- Posts: 38
- Joined: Mon Sep 02, 2019 7:52 am
- Contact:
Re: Splitter not working properly
indeed they are broken, i just returned and last played 0.15 and now in 0.16 they send items randomly left and right and to not keep track of the type that just entered... i wonder if some one could do a mod to patch this meanwhile they fix this?
to make the mod, if you know how to script in lua (i do not sadly) you need to make an item array, each item that enters adds to the array it's type (or name) the lane it entered from and the side of the belt it entered from, then send it to the same side, if the same lane and belt side receives the same item THEN it changes the lane and keep the same belt side. (so a item on the left belt side being moved to the right belt keeps the item on the left belt side. right now it is bugged and puts it on the right side.)
if the 2nd is a different item on the same belt lane and same belt side as the first item, then they both go on the same side. otherwise it is impossible to split random items evenly in chests! (Specially the science potions since you would want 1 stack in each chest next to pair of research centers...)
i guess the code would look like:
if item not = nil and not = this_splitter.item_array_list then
add item(name)+(Lane)+(belt_side)
output item at Lane and Side
else
if item = item.this_splitter.item_array_list + Lane + belt_side then
new_lane = old_lane *-1 -- (1*-1 =-1 and -1*-1 = 1 so they effectively switch.)
old_lane = new_lane
end
end
if this_splitter = mined or destroyed
this_splitter.item_array_list = nil
end
this is not code and totally wrong but that would be the gist of it. a simple array that looks for the type of item, where it entered and if it enter twice, it switches lane... so if i enter them on the same side, all the research potions, they will all go on the same lane, while if i enter them again they will all go on the other lane and if i enter pairs of them, they will go on both lanes at the same time. if i destroy or mine the splitter, it destroy the list to not clutter the memory.
some how i cannot find such a mod for splitters and keep finding some that does the opposite... (if i could connect signal cables to them and detect items and pass a "side switch" signal, then i could mimic the proper way that splitter used to work like.)
to make the mod, if you know how to script in lua (i do not sadly) you need to make an item array, each item that enters adds to the array it's type (or name) the lane it entered from and the side of the belt it entered from, then send it to the same side, if the same lane and belt side receives the same item THEN it changes the lane and keep the same belt side. (so a item on the left belt side being moved to the right belt keeps the item on the left belt side. right now it is bugged and puts it on the right side.)
if the 2nd is a different item on the same belt lane and same belt side as the first item, then they both go on the same side. otherwise it is impossible to split random items evenly in chests! (Specially the science potions since you would want 1 stack in each chest next to pair of research centers...)
i guess the code would look like:
if item not = nil and not = this_splitter.item_array_list then
add item(name)+(Lane)+(belt_side)
output item at Lane and Side
else
if item = item.this_splitter.item_array_list + Lane + belt_side then
new_lane = old_lane *-1 -- (1*-1 =-1 and -1*-1 = 1 so they effectively switch.)
old_lane = new_lane
end
end
if this_splitter = mined or destroyed
this_splitter.item_array_list = nil
end
this is not code and totally wrong but that would be the gist of it. a simple array that looks for the type of item, where it entered and if it enter twice, it switches lane... so if i enter them on the same side, all the research potions, they will all go on the same lane, while if i enter them again they will all go on the other lane and if i enter pairs of them, they will go on both lanes at the same time. if i destroy or mine the splitter, it destroy the list to not clutter the memory.
some how i cannot find such a mod for splitters and keep finding some that does the opposite... (if i could connect signal cables to them and detect items and pass a "side switch" signal, then i could mimic the proper way that splitter used to work like.)
Re: Splitter not working properly
There's such a large contingent of players that idolize belt compression—not as an interesting but kinda pointless design puzzle, no, belt compression and all its arithmetical consequences were simply (and endlessly) declared intrinsically good—that in 0.16.16 splitters got lobotomized to cater to them. So now there's nothing interesting about splitter behavior, and every time anything interesting happens it gets "fixed". Nothing interesting happens when you push assembler performance to its limits any more either.EpicSlayer7666 wrote: ↑Mon Sep 02, 2019 8:27 am indeed they are broken, i just returned and last played 0.15 and now in 0.16 they send items randomly left and right and to not keep track of the type that just entered... i wonder if some one could do a mod to patch this meanwhile they fix this?
I can't find any way to mod interesting splitters back in that isn't prohibitively expensive. I haven't looked at restoring the interesting parts of managing assembler buffering at the limits, but since the original buffering nerf assemblers have been further simplified at least once.
Re: Splitter not working properly
I don't know, these splitters are all behaving consistently though differently from each other. (This is 0.17 not 0.16 so this reply may not apply.) The output is a definite pattern, not random.EpicSlayer7666 wrote: ↑Mon Sep 02, 2019 8:27 am ... now in 0.16 they send items randomly left and right and to not keep track of the type that just entered ...
- EpicSlayer7666
- Inserter
- Posts: 38
- Joined: Mon Sep 02, 2019 7:52 am
- Contact:
Re: Splitter not working properly
by random i mean, if i enter a stream of research potions like for example a red, green and blue in the same lane and side, they would not switch side since all items are a new type to pass through. if you pass the same types again in the same place, they will now output on the other lane. well that is what you expect them to do...Trebor wrote: ↑Mon Sep 02, 2019 3:02 pmI don't know, these splitters are all behaving consistently though differently from each other. (This is 0.17 not 0.16 so this reply may not apply.) The output is a definite pattern, not random.EpicSlayer7666 wrote: ↑Mon Sep 02, 2019 8:27 am ... now in 0.16 they send items randomly left and right and to not keep track of the type that just entered ...
the random part now is that if i pass red, green and blue, red is going to stay left, green is going to go right and blue is going left again... so they do not switch side per types but acting like they are all the same item. (all red)
i think that the belt sorter mod could be modded to do what splitters used to do but from those few posts, did they wrecked splitters on purpose? (they were splitting mathematically and positionally correct and kept types correctly... will they add a new splitter called intelligent splitters?)
as for modding the belt sorter mod, it probably can identify items while they are passing and can redirect them... all you need is to be able to make and work with arrays... each lane has 2 belt sides... so a last "in" side flag and a last "in" lane side flag. the first one passes through setting up the process, the next one of the same type switches the flag for that item in the array. (too bad the dev do not just dump the old splitters on the mod page as a mod... they basically scripted it so wasting the code is... well a waste!)
my problem is that i now have to spoon feed my research Lab's box each research i do. and i cannot let the signals stop productions at a set number like i used to. my setup takes 16 research Labs, 8 wooden box, green cables on all and relayed to the assemblers's output inserters, limiting the total numbers at 1600 potions each to make it "exactly" 200 each wooden box... this way i can just do researches up to 1.6k before i need to upgrade the wood boxes.
since i hate working by saturation, i use splitters as a mechanism for even distribution, like a receiving buffer before each assemblers or splitting research potions evenly... and roboports are "endgame"... that means i have to spoon feed for 5 to 15 hours depending on how much pollution i am willing to let out. this game is basically about making potions to be reaching in research Labs... so i am basically spending most of my time spoon feeding for the whole game. so maybe they could make an update putting the old splitters called "intelligent splitters" having the description of splitting items based on individual types. (fooling people into thinking it is a new feature while it is just putting back a lost one.)
Re: Splitter not working properly
Yes, they wrecked splitters on purpose. Also, I personally would not call that wrecked. As you said, they changed it so the splitter will not have to store the state (left, right) of every item that goes through the splitter, but just the last one, regardless of what kind of item it is. I guess they did so to reduce the amount of calculations required.i think that the belt sorter mod could be modded to do what splitters used to do but from those few posts, did they wrecked splitters on purpose? (they were splitting mathematically and positionally correct and kept types correctly... will they add a new splitter called intelligent splitters?)
For the sorting part, did you know that you can click on the splitter and make them sort items? And also you can set an input or output priority on the splitters.
I do not really understand your spoon feeding issue with the labs but I am certain that you could solve that with some simple combinator logic.
- 5thHorseman
- Smart Inserter
- Posts: 1193
- Joined: Fri Jun 10, 2016 11:21 pm
- Contact:
Re: Splitter not working properly
You basically can't mod belts. If you try and Lua up a new belt all you'll achieve is a massive UPS hit.
For the record I prefer belts the way they are now to before, when they had some sort of magical item memory function. "Oh 100 days ago when I got my last piece of stone I sent it left. I better send this one right!"
For the record I prefer belts the way they are now to before, when they had some sort of magical item memory function. "Oh 100 days ago when I got my last piece of stone I sent it left. I better send this one right!"
- EpicSlayer7666
- Inserter
- Posts: 38
- Joined: Mon Sep 02, 2019 7:52 am
- Contact:
Re: Splitter not working properly
DerGraue wrote: ↑Tue Sep 03, 2019 9:32 amYes, they wrecked splitters on purpose. Also, I personally would not call that wrecked. As you said, they changed it so the splitter will not have to store the state (left, right) of every item that goes through the splitter, but just the last one, regardless of what kind of item it is. I guess they did so to reduce the amount of calculations required.i think that the belt sorter mod could be modded to do what splitters used to do but from those few posts, did they wrecked splitters on purpose? (they were splitting mathematically and positionally correct and kept types correctly... will they add a new splitter called intelligent splitters?)
For the sorting part, did you know that you can click on the splitter and make them sort items? And also you can set an input or output priority on the splitters.
I do not really understand your spoon feeding issue with the labs but I am certain that you could solve that with some simple combinator logic.
here is why, the labs gets the splitters to do the sorting and devising automatically:
and here you can see in one chest what it holds:
as you can see, there is no way to send the Lab Potions at the right place from this... the ONLY way i found while trying to sleep this night was to actually find a way to stop production of all potions except one until that type is filled. this way the splitter will split them correctly. but now it will take 6 or 7 times longer to produce Lab Potions since i will be making them one at a time and cannot regenerate them while researching. (and also mods or not, this is a vanilla issue... so the same would happen vanilla.)
Re: Splitter not working properly
You will not be able to use your current setup with the splitter changes, that is correct. It will always deadlock at some point.
So, you have to change your setup so that you don't rely on splitters for the even distribution.
If you don't want your flasks to backup you will need to solve it with combinator logic. It is possible, I promise.
So, you have to change your setup so that you don't rely on splitters for the even distribution.
If you don't want your flasks to backup you will need to solve it with combinator logic. It is possible, I promise.
- EpicSlayer7666
- Inserter
- Posts: 38
- Joined: Mon Sep 02, 2019 7:52 am
- Contact:
Re: Splitter not working properly
i can understand the UPS part and how the new blind model saves on that but i wonder why they did not introduce a new type of splitters to replace the lost function... i absolutely cannot understand what you mean by preferring how they work now without that function... you would need to explain how it helped your gameplay since they stopped doing that if you were not using it as a function, now that it is gone... (think about it in the context you provided... i have little to work with there.)5thHorseman wrote: ↑Tue Sep 03, 2019 10:06 am You basically can't mod belts. If you try and Lua up a new belt all you'll achieve is a massive UPS hit.
For the record I prefer belts the way they are now to before, when they had some sort of magical item memory function. "Oh 100 days ago when I got my last piece of stone I sent it left. I better send this one right!"
and UPS cannot be the answer for not having put an alternative splitter since you do not put "filtered stack inserters" on all machines due to the fact that you only need them in special cases... same with those "intelligent splitters" that you could place only where you need them specifically. (hence no UPS loss since you might only need 20 of them on the 4000 splitters that are on the map.)