Pipez

Pipez

31M Downloads

Filtering Enforcement/Destination Saving Suggestions

MagisterXero opened this issue ยท 1 comments

commented

Is your feature request related to a problem? Please describe.
When attempting to set up the most simplistic filtering system for an auto-crafting setup, the current filtration system doesn't require the pipes to enforce destination based on distribution. In order for this not to be the case, all possible destinations must be equal in distance from the pulling pipe, so that the destination is weighted by the filtering. However, this type of logical interactions don't really make sense when setting up a large auto-crafting system designed for a large number of processing via different types of machines whereby multiple machines might be able to accept the item being delivered.

Describe the solution you'd like
If I set up an item to be delivered to a destination, I want it to go into one of (if not the) specified location(s). Along the travel path, it should ignore and other inventories where it might be accepted, even if those are closer/further based on the distribution mode. In essence, this would be the creation of another distribution mode where the item only goes into the location for which it has been specified.

Describe alternatives you've considered
An alternative to enforcing the filtering system would be to add a new filter that can attach to a "pushing" pipe that is going into an inventory. This would be similar to upgrading the pipe as it is done via pulling, but instead would allow you to simply add a specific filter to the destination itself. Then when an item is traversing the piping paths, it would acknowledge the whitelist/blacklist and move into the destination or move to the next one if it can't.

The pitfall to watch out for here is when there is no valid inventory to deliver to when all locations are blacklisted and the item traverses the end of the pipes. At this point, it would probably be best to either "void" the item, or pop it from the pipe into the world itself.

Additional context
In addition to this, a side suggestion for the destinations.
Currently, simply right clicking a block sets the destination on the filter tool. This makes it rather tedious when you are (again) dealing with a complex system with multiple devices capable of processing or handling an item. Thus, it would make sense to allow the filter destination to carry multiple destinations, in addition to the first one.
Example:
Right clicking -> Clears the current destination list and starts a new one beginning with the block clicked.
Shift+Right clicking -> Adds the block clicked into the destination list

Using the above example, you would then be able to provide multiple destinations to send an item to. Handling it on the pipe side could be done two ways.
1 - Loop through the destinations and create individual rules for each one when clicking submit (This preserves the current handling)
2 - Allow a filter to have multiple destinations (This does not preserve the current handling because it requires a bit of logic changing in how destinations are perceived)

commented

Duplicate of #45

Please add your suggestions there.