fix overcount bug when crafting