How organize crafting structure with my idea

I have idea for crafting system but i don’t know how organize data structure within him. Single one item will be build from raw material(Raw Material Enum) and system will spawn it in equipment. Im thinking about creating data catalog of all craftable items but i cant do it.

Thanks for help.

Looks good. They’re all items so just create an item struct for all the properties that all items have(item id, item name, type of item, array of base item id, added bonuses, number of uses, assets, etc).

As for base crafting items, create an array of ints or a concatenated fstring to reference the id given to items used as base items for crafting. This way all data for an item is stored in a single struct and easy to access and store in a database.

For a players item collection just create an array of items. You could have a multilayered item system but then it doesn’t have such good backwards compatibility up the struct. In the case of items with many more attributes add a completely different struct to hold these attributes, this would keep data management easy.