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
Feature: Add Advanced Blocking Card for interfaces #308
Conversation
Good idea in general, theoretically there may also be an advanced version of that card including a filter of the items to ignore in the blocking mode, which would remove the necessity of the ugly workaround in the interface block mode support. |
Purpose: In blocking mode, a ME interface will not push items into its target if it has items in it. If the target is another ME interface, blocking mode looks only at the 9 slot inventory. The advanced blocking card changes this to include check for items in the underlying ME system. Usage: The card is added to the TARGET interface, i.e. the interface that will be receiving items. Currently, the card is not allowed in P2P interfaces because I'm afraid of bugs/unexpected behavior.
I'm not entirely sold on checking the target inventory for specific items to block on, let alone the entire ME system, for certain items. Would like a use case before implementing that. |
Blocking exceptions are selector circuits, engraver lenses - different use case. |
I see what you mean. Okay, that will be the next feature; this is somewhat less useful at the moment unless those are hidden. Alternative is to use insert mode only for storage buses. |
Actually just tested the storage buses, and it seems to work when on insert only mode in that case, but it also breaks the whole blocking mode thing... Let me switch this PR up. |
Would this be able in any way work with interface different item placing modes (empty slots first mode)? The use case would be directly eliminating the need to rename items in lines to prevent the same items stacking. |
Wouldn't it be better to make a separate card specifically for the outputting interface, which you can partition in the cell workbench to select which items to count for blocking or ignore (using inverse card as add-on to it?) So you don't need to make a chunky subnet setup to just set ignored items. |
The card does not interfere with that. It only changes when items are sent when blocking is enabled, not how they are sent. |
Warning: 2 uncommitted changes |
Advanced Blocking Mode is now a setting to toggle between two modes: - Default: Exhibits the same behavior as normal blocking mode, ignores circuits. - Any: Blocks on any item, including circuits. I'm leaving this here in case of some niche behavior someone might want, but the use case is very uncommon (maybe some weird jig with taking circuits on demand...).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is rather ugly solution (yes I remember that I used it myself and still), but if you don't wish to bother with the real filter, then so be it
Purpose: In blocking mode, a ME interface will not push items into its target if it has items in it. If the target is another ME interface, blocking mode looks only at the 9 slot inventory. The advanced blocking card changes this to include check for items in the underlying ME system.
Usage: The card is added to the TARGET interface, i.e. the interface that will be receiving items. Currently, the card is not allowed in P2P interfaces because I'm afraid of bugs/unexpected behavior.
See GTNewHorizons/GT-New-Horizons-Modpack#12950
Will need some work on AE2FC to add compat for dual interface side too. The idea is that the setup in the linked issue seems common enough to warrant this "QOL" - at a cost.