-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please add support for pipeworks injectors #31
Comments
This won't be a problem with the |
You could extract an item based on the side you're pulling from (e.g. left side might be upper left item, down might be lower left ...) |
Yes, but then, items will need to be injected the same way you add them, right? |
It would be enough if drawer provided inventory that pipeworks can check, then you could use pipeworks filter injector's filter part to get item that you want to get. That would also work with digiline injector and would work from any side. And that would also provide configurable rotation through normal filter injector interface. It is just that pipeworks want to look at inventory unless you're gonna build special compatibility layer for injectors. But I think that would be best option, there 1x1 drawer would have 1 slot inventory (replenished automatically until drawer is empty) and 2x2 would 4 slot inventory, any size goes just add slots as needed and keep 1 itemstack in each slot as long as there's items left in drawer. Inventory would of course actually be hidden and not directly accessible via formspec, just for injectors to look at. |
If injector / any related way to get item by pipeworks has a callback and timers are not required, this is perfect! |
Injectors do have enough callbacks for this (both before and after filter action) So it could, for example, do it this way:
There's other options too, just need to find best way/moment to take items from drawer storage and to put items into inventory. Then stack should be restored to drawer storage if filter does not find itemstack it wants and takes nothing, like if you have ice blocks in filter and drawer only has cobble left then inventory is empty and injector cant take anything but as drawer does not know about the fact that filter injector want ice it had to replenish cobble stack in inventory and remove it from drawer storage. So there's these situations that need some good solutions, preferably with minimal inventory transfers if possible. One option is to keep stuff in inventory until someone punches drawer and then check if inventory slot has anything left, move items from inventory to drawer. But that approach would also need another update: when drawer is digged and items drop it should also drop items from inventory. |
Cool, so it's perfectly possible to implement |
Has this become irrelevant with digiline support having been added? Are mesecon injectors really needed? |
Not completely irrelevant but most probably not needed. Digilines is optional dependency for drawers and pipeworks and it is possible to have pipeworks and drawers without digilines. |
Digilines? |
There is already drawer controller that works with digilines. |
The only way I can think of to automatically retrieve items from drawers is by breaking the drawer and having all the items fall out.
This is too hard on the server for drawers with tens of thousands of items, and would almost certainly break the vacuum pipes.
I'd like to be able to use injectors on drawers directly, and if possible on a drawer controller too.
Alternatively, and maybe this would be harder, but if a node breaker is trying to break a drawer from the front it could act like a player punching it?
This would be very useful for automatic storage systems so I don't need to use 12 technic gold chests to store my items instead of 1 diamond upgraded drawer.
Thank you!
EDIT: On the to-do checklist you said that pipeworks support was added, and injectors are part of pipeworks. That is why I expected them to work with drawers.
The text was updated successfully, but these errors were encountered: