If it's easy to set up LP to sort all 300+ different items, then I would probably consider throwing everything into the sorting system.
Ah, I get it now. And I had an inkling you've never setup, utilized or, and here I am guessing, seen an LP network in action.
Yes, LP can absolutely sort all items easily. The quickest analogy I can give you is that LP is AE without the storage and a better system of item queuing in remote inventories.
Here's the longer explanation. The core of any LP network is the Quicksort module, the Polymorphic Item Sink module and the Provider module. Note that more than one module can be applied to an LP pipe of the proper type.
- Quicksort module - Pulls all items from the attached inventory and sends it to any pipe requesting that item in priority order (more on that later). That's all it does, pull, send to pipe requesting it. This is normally attached to the input chest of the system.
- Polymorphic Item Sink module - Requests any item which is in its attached inventory. That's all it does, looks at the attached inventory and tells any pipe providing items "send these items here." These are normally attached to your storage chests.
- Provider module - Fulfills requests for items from the attached inventory. These, too, get attached to your storage chests.
This is how an LP sorting system works. Attached a Quicksort to your input chest, attach a Polymorphic to each of your storage chests. You're done. Since the Polymorphic module looks at the attached inventory you literally configure the system by placing items in chests. So in your metals chest example above, the fact that you have metals in a chest configures that chest to be a destination for metals. If you want the chest to stop being a destination for metals, remove the metals. In the example you provided I, too, like having chests in my main workshop. They also just happen to be my storage chests.
As you can see, since configuring the system is done by placing items in chests, being able to sort several hundred items is trivial as the default mode is to place items in a chest where other items are already placed. Granted, you have to deposit the first item of any block, but once that is done, you're set.
As for the Provider module, that is there to give access to that inventory to the rest of the network. So storage chests often have a pipe with both a Polymorphic and Provider module inserted into it. The provider module even has a mode to ensure your sorting isn't broken; it leaves the last item of a stack in the chest. But what do the Provider modules grant inventory access to?
- Supplier module - This module keeps an attached inventory supplied with the requested amount of items. So if you want your farm to have 16 saplings, when the farm is below that level it requests the required number to restock it from the nearest Provider which has saplings.
- Requester pipe - This pipe allows the player to request a given item from the network. Think of it as similar to the AE access terminal. It delivers to an attached inventory or, if no inventory attached, spits it out on the ground from the pipe where the player is standing.
When you tie all these modules together you can see why I said the short version is that LP is "AE without Storage". LP doesn't offer any storage solutions on its own like AE does with its drives. But the Quicksort/Polymoprhic modules, combined with storage, pretty much makes sorting and storage almost as simple as drives. In fact, AE has a similar concept, the ME Storage Bus. The Supplier is akin to the ME Interface and Export Bus, but a little better behaved since it cares about what is in the inventory it is attached to and not just spitting the mats into that inventory ala the Bus or stocking its own inventory ala the Interface. Finally, the Requester pipe on its own is the Access Terminal whereas a Requester pipe attached to a
Project Bench becomes an ME Crafting Table just with 2 steps instead of 1.
There are more pipes and modules to LP, but those 5 are the core functions. That's why in another thread about TE item transport I gave the tongue-in-cheek response of "import logisticspipes.java".