Feature Request: Buffer Upgrade
Xiaminou opened this issue ยท 10 comments
While playing with the Router I've come across multiple situations where I needed more than one Buffer Slot for the build I had in mind.
Is it an intended limitation that the Router only has one buffer slot? If not would you consider an upgrade that adds more buffer slots?
It has been an intended feature, yes. Having said that, I have mulled over the idea of buffer slot upgrades more than once in the past, so I'm not saying no to this. However...
I do need to consider just how these extra slots will work - for example, when a Sender Module runs, which slot(s) should it send from? Try all of them? Round-robin? First non-empty slot? There are a lot of design considerations to worry about. I'd welcome any ideas you have on this, in particular descriptions of the specific use-cases where you would have needed extra slots...
I just realised I never replied to this, I took a 4 months break from Minecraft so I'll get back to you on this when I get to use the router in my new world.
May I suggest just cycle all the slots ignoring the empty ones and when you reach the end start over at slot 0, so basically Round Robin. Simplest solution in my opinion. Another option is to do a random slot every cycle, also ignoring empty slots. and if you want to go wild, add an option to switch between those two (or more) ways of sending the items. Alternatively, to keep with the style of the mod, make a module for each extraction method.
Another suggestion, 9 slots arranged in a 3x3 grid could be a good enough configuration.
9 slots in a 3x3 is definitely what I had in mind, and like calloatti said, the simplest way is usually the best.
Regarding the use cases, one that I usually have is when you have a mob farm that spawns for example zombies. You have rotten meat, armor pieces of different materials, sometimes ingots, carrots, potatoes, etc.
Sometimes one slot is not enough to keep up with all the loot if the spawn rate is high enough.
How is your router set up? Vacuum module + sender module? Do you use any speed & stack upgrades?
9 speed + 6 stack (and Fast Pickup in the vacuum module) will clear an area of items very fast indeed, and you can always add more vacuum/sender pairs to the same router, or even add a second router...
add more vacuum/sender pairs to the same router
TIL. It never occurred to me that you could do that. Thanks!
Yep, there are 9 module slots to take advantage of :-)
I've actually been considering an Advanced Item Router, which would have:
- 9 buffer slots
- 18 module slots
- Maybe some extra upgrade slots, not sure if it's needed
- Possibly also allow up to 10 speed upgrades, to run every tick (9 speed upgrades allows running every 2 ticks). A bit concerned about the lag potential there though...
- Increased base fluid transfer rate, and maybe even an integrated fluid tank
The advanced router would also have extra controls for which buffer slot to use for each item transfer operation (probably separate for insertion and extraction):
- First valid slot
- Last valid slot
- Round-robin
- Random
(First & last available might sound redundant, but if you have opposite settings for insertion and extraction you can control whether it behaves like a queue or like a stack...)
If you still happen to be taking in some suggestions, I have another use-case on my side - automating the AE2 inscriber.
The AE2 inscriber has three input slots, and one output slot. The input slots accept only a single item at a time.
The three input slots can be fed into the inscriber through top, middle, and bottom.
For example, to produce the calculation processor, it takes:
- 1 printed calculation circuit fed through the top
- 1 redstone fed through the middle
- 1 printed silicon fed through the bottom.
The set-up I was trying to do is similar to (C is chest with necessary items, R is router, A is AE2 inscriber):
+->-|
C->-R->-A
+->-|
So, basically have a puller module take in items from the chest, and have three filtered pushers towards three different sides.
In addition to having multiple slots in this particular case it would also be nice to be able to lock the slots to specific items, and even limit the stack sizes. This is something that I have perhaps encountered in some other cases where you need to feed in specific number of items to produce something (e.g. in SevTech you produce dough out of three piles of flour and one pile of salt in a mixer machine).
The only "flaw" I find with this specific enhancement is that modular router becomes a bit overpowered - you can do a lot of complex logic with a single block, without cables etc. Still, some of the modules are pretty powerful as it is, so perhaps it wouldn't be too much of an issue.