Make the assembly recipe properly parse ore IDs

Before it would just store the numeric value, and then never check for it, because in canBeDone() it only checks if the processed input is an ItemStack, or a List.