Create

Create

86M Downloads

Tunnels with filters do not stop invalid items blown by a fan

breakerator opened this issue ยท 3 comments

commented

A fan blowing over a belt (which has no room for items) into a tunnel, will blow items through a tunnel on that belt, ignoring the filter. This doesn't seem to happen with funnels, so I thought it might be a bug.
tunnelbug

commented

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.

commented

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.

commented

Thanks for reporting, this should now be fixed on the dev branch.