Tunnels with filters do not stop invalid items blown by a fan
breakerator opened this issue ยท 3 comments
Probably not a bug if my assumptions are correct.
My best guess without diving into the code is that the tunnel pairs with the belt, meaning it directly accesses the belt to determine whether an item entity can pass through or not. As such any item entity that isn't being managed by a belt isn't going to be 'seen' by the tunnel and will pass through as the tunnels clearly don't have collision with item entities entering from its open faces, as what stops the item on belts from passing through is to simply stop the belt.
Whether that is intended behavior or not is a different story, but a fix would require collision testing against item entities that attempt to pass through and calculating what side it tried to enter on, then comparing them to the filter predicate associated with that side, which seems like overkill for what the tunnel is intended to do; filter item entities entering a side on a belt.
EDIT: as to why it'd differ from a funnel; well funnels don't have to attach to belts and actually need to test collisions against any item entity which may try to enter it, so it is likely that funnels just use the same logic to test regardless of whether they are attached to a belt or not.
Yea, I don't think it really needs to filter items not on the belt, but it would be nice if it just didn't let them through at all.