You can create an object by name.
You can create sprites by name in the array after sorting.
Duplicates are also simple, do everything as in a regular array in any programming language.
You can check if there is such a value in the array or not before adding it.
You can add but then check for duplicates and delete. You can choose any of them.
The topic of inventory or crafting with inventory and blueprints is one of the most difficult to understand in C3. It is very similar to working with data in programming.