It’s not 3d at all. These are widgets.
There is no way to help if we do not know what the script is doing. How it could work:
onDrop → (is container empty) → Get Payload → extract it → add to slot → add it or its ID to the table → have the crafting table compare the container content against a crafting recipe